test recursive dav copy
This commit is contained in:
parent
182f94a9ac
commit
41ff8fdd37
@ -6,6 +6,8 @@ class Importfile {
|
|||||||
|
|
||||||
static public function run($argc,$argv){
|
static public function run($argc,$argv){
|
||||||
|
|
||||||
|
logger('Importfile: ' . print_r($argv,true));
|
||||||
|
|
||||||
if($argc < 3)
|
if($argc < 3)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
22
util/dcp
22
util/dcp
@ -36,8 +36,20 @@ if($argc <= 3) {
|
|||||||
if(! $channel)
|
if(! $channel)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
for($x = 1; $x < ($argc - 1); $x ++) {
|
||||||
|
if(($argv[$x] === '-r') || ($argv[$x] === '-R')) {
|
||||||
|
$recursive = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
$isadir = false;
|
$isadir = false;
|
||||||
|
|
||||||
|
if(($recursive) || ($argc > 3))
|
||||||
|
$isadir = true;
|
||||||
|
|
||||||
|
|
||||||
$r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
|
$r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
|
||||||
dbesc($dstfile),
|
dbesc($dstfile),
|
||||||
intval($channel['channel_id'])
|
intval($channel['channel_id'])
|
||||||
@ -49,8 +61,9 @@ if($argc <= 3) {
|
|||||||
$folder = $r[0]['hash'];
|
$folder = $r[0]['hash'];
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
$pathname = (($isadir) ? $dstfile : dirname($dstfile));
|
||||||
$arr = [
|
$arr = [
|
||||||
'pathname' => dirname($dstfile),
|
'pathname' => $pathname,
|
||||||
'allow_cid' => $channel['channel_allow_cid'],
|
'allow_cid' => $channel['channel_allow_cid'],
|
||||||
'allow_gid' => $channel['channel_allow_gid'],
|
'allow_gid' => $channel['channel_allow_gid'],
|
||||||
'deny_cid' => $channel['channel_deny_cid'],
|
'deny_cid' => $channel['channel_deny_cid'],
|
||||||
@ -58,7 +71,7 @@ if($argc <= 3) {
|
|||||||
];
|
];
|
||||||
|
|
||||||
$folder = '';
|
$folder = '';
|
||||||
if(dirname($dstfile)) {
|
if($pathname && $isadir) {
|
||||||
$x = attach_mkdirp($channel,$channel['channel_hash'],$arr);
|
$x = attach_mkdirp($channel,$channel['channel_hash'],$arr);
|
||||||
if($x['success'])
|
if($x['success'])
|
||||||
$folder = $x['data']['hash'];
|
$folder = $x['data']['hash'];
|
||||||
@ -67,7 +80,6 @@ if($argc <= 3) {
|
|||||||
|
|
||||||
for($x = 1; $x < ($argc - 1); $x ++) {
|
for($x = 1; $x < ($argc - 1); $x ++) {
|
||||||
if(($argv[$x] === '-r') || ($argv[$x] === '-R')) {
|
if(($argv[$x] === '-r') || ($argv[$x] === '-R')) {
|
||||||
$recursive = true;
|
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,6 +105,7 @@ if($argc <= 3) {
|
|||||||
while(($entry = readdir($dir)) !== false) {
|
while(($entry = readdir($dir)) !== false) {
|
||||||
if($entry === '.' || $entry === '..')
|
if($entry === '.' || $entry === '..')
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
$dstfile = $basepath . '/' . $entry;
|
$dstfile = $basepath . '/' . $entry;
|
||||||
if(is_dir($src . '/' . $entry)) {
|
if(is_dir($src . '/' . $entry)) {
|
||||||
$r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
|
$r = q("select * from attach where display_path = '%s' and uid = %d limit 1",
|
||||||
@ -118,8 +131,7 @@ if($argc <= 3) {
|
|||||||
if($x['success'])
|
if($x['success'])
|
||||||
$folder = $x['data']['hash'];
|
$folder = $x['data']['hash'];
|
||||||
}
|
}
|
||||||
$basepath = $dstfile;
|
dcp_recurse($channel,$src . '/' . $entry,$dstfile,$folder);
|
||||||
dcp_recurse($channel,$src . '/' . $entry,$basepath,$folder);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$cmd = [ 'Importfile', $channel['channel_id'], $src . '/' . $entry, $folder ];
|
$cmd = [ 'Importfile', $channel['channel_id'], $src . '/' . $entry, $folder ];
|
||||||
|
Reference in New Issue
Block a user