diff options
Diffstat (limited to 'util/dmkdir')
-rwxr-xr-x | util/dmkdir | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/util/dmkdir b/util/dmkdir new file mode 100755 index 000000000..72ab22431 --- /dev/null +++ b/util/dmkdir @@ -0,0 +1,57 @@ +#!/usr/bin/env php +<?php + +// file import to DAV utility + +if(!file_exists('include/cli_startup.php')) { + echo 'Run dmkdir from the top level Hubzilla web directory, as util/dmkdir <args>' . 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) { + build_sync_packet($channel['channel_id'],array('file' => array($sync))); + } + }
\ No newline at end of file |