#!/usr/bin/env php ' . PHP_EOL; exit(1); } require_once('include/cli_startup.php'); require_once('include/attach.php'); cli_startup(); $dstfile = $argv[1]; if($argc != 2) { echo "Usage: " . $argv[0] . ' directory' . "\n"; echo 'Always run from the toplevel web directory.' . "\n"; echo 'directory should begin with store/$nickname/desired/path or $nickname/desired/path' . "\n"; echo 'Example: util/dmkdir store/bob/photos/2017' . "\n"; exit; } if(strpos($dstfile,'store/') === 0) $dstfile = substr($dstfile,6); $nick = substr($dstfile,0,strpos($dstfile,'/')); $dstfile = substr($dstfile,strlen($nick)+1); $channel = channelx_by_nick($nick); if(! $channel) return; $arr = [ 'pathname' => $dstfile, 'allow_cid' => $channel['channel_allow_cid'], 'allow_gid' => $channel['channel_allow_gid'], 'deny_cid' => $channel['channel_deny_cid'], 'deny_gid' => $channel['channel_deny_gid'], ]; $x = attach_mkdirp($channel,$channel['channel_hash'],$arr); if($x['success']) { $hash = $x['data']['hash']; $sync = attach_export_data($channel,$hash); if($sync) { Libsync::build_sync_packet($channel['channel_id'],array('file' => array($sync))); } }