Skip to content
This repository was archived by the owner on Nov 25, 2020. It is now read-only.

Commit 5bfbde6

Browse files
committed
Set nodes as nonLeaf when we know it - Fix #859
1 parent 30ea81e commit 5bfbde6

File tree

1 file changed

+9
-5
lines changed

1 file changed

+9
-5
lines changed

core/src/plugins/core.access/class.AbstractAccessDriver.php

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -237,11 +237,14 @@ protected function copyOrMoveFile($destDir, $srcFile, &$error, &$success, $move
237237
$destFile = $destUrlBase.$destDir."/".$newName;
238238
}
239239
}
240+
$srcNode = new AJXP_Node($realSrcFile);
241+
$destNode = new AJXP_Node($destFile);
240242
if (!is_file($realSrcFile)) {
241243
$errors = array();
242244
$succFiles = array();
245+
$srcNode->setLeaf(false);
243246
if ($move) {
244-
AJXP_Controller::applyHook("node.before_path_change", array(new AJXP_Node($realSrcFile)));
247+
AJXP_Controller::applyHook("node.before_path_change", array($srcNode));
245248
if(file_exists($destFile)) $this->deldir($destFile, $destRepoData);
246249
$res = rename($realSrcFile, $destFile);
247250
} else {
@@ -251,23 +254,24 @@ protected function copyOrMoveFile($destDir, $srcFile, &$error, &$success, $move
251254
$error[] = $mess[114];
252255
return ;
253256
} else {
254-
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), !$move));
257+
$destNode->setLeaf(false);
258+
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, !$move));
255259
}
256260
} else {
257261
if ($move) {
258-
AJXP_Controller::applyHook("node.before_path_change", array(new AJXP_Node($realSrcFile)));
262+
AJXP_Controller::applyHook("node.before_path_change", array($srcNode));
259263
if(file_exists($destFile)) unlink($destFile);
260264
if(strcmp($srcWrapperName,$destWrapperName) === 0){
261265
$res = rename($realSrcFile, $destFile);
262266
}else{
263267
$res = copy($realSrcFile, $destFile);
264268
}
265-
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), false));
269+
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, false));
266270
} else {
267271
try {
268272
$this->filecopy($realSrcFile, $destFile, $srcWrapperName, $destWrapperName);
269273
$this->changeMode($destFile, $destRepoData);
270-
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), true));
274+
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, true));
271275
} catch (Exception $e) {
272276
$error[] = $e->getMessage();
273277
return ;

0 commit comments

Comments
 (0)