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

Commit

Permalink
Set nodes as nonLeaf when we know it - Fix #859
Browse files Browse the repository at this point in the history
  • Loading branch information
cdujeu committed Mar 20, 2015
1 parent 30ea81e commit 5bfbde6
Showing 1 changed file with 9 additions and 5 deletions.
14 changes: 9 additions & 5 deletions core/src/plugins/core.access/class.AbstractAccessDriver.php
Expand Up @@ -237,11 +237,14 @@ protected function copyOrMoveFile($destDir, $srcFile, &$error, &$success, $move
$destFile = $destUrlBase.$destDir."/".$newName;
}
}
$srcNode = new AJXP_Node($realSrcFile);
$destNode = new AJXP_Node($destFile);
if (!is_file($realSrcFile)) {
$errors = array();
$succFiles = array();
$srcNode->setLeaf(false);
if ($move) {
AJXP_Controller::applyHook("node.before_path_change", array(new AJXP_Node($realSrcFile)));
AJXP_Controller::applyHook("node.before_path_change", array($srcNode));
if(file_exists($destFile)) $this->deldir($destFile, $destRepoData);
$res = rename($realSrcFile, $destFile);
} else {
Expand All @@ -251,23 +254,24 @@ protected function copyOrMoveFile($destDir, $srcFile, &$error, &$success, $move
$error[] = $mess[114];
return ;
} else {
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), !$move));
$destNode->setLeaf(false);
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, !$move));
}
} else {
if ($move) {
AJXP_Controller::applyHook("node.before_path_change", array(new AJXP_Node($realSrcFile)));
AJXP_Controller::applyHook("node.before_path_change", array($srcNode));
if(file_exists($destFile)) unlink($destFile);
if(strcmp($srcWrapperName,$destWrapperName) === 0){
$res = rename($realSrcFile, $destFile);
}else{
$res = copy($realSrcFile, $destFile);
}
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), false));
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, false));
} else {
try {
$this->filecopy($realSrcFile, $destFile, $srcWrapperName, $destWrapperName);
$this->changeMode($destFile, $destRepoData);
AJXP_Controller::applyHook("node.change", array(new AJXP_Node($realSrcFile), new AJXP_Node($destFile), true));
AJXP_Controller::applyHook("node.change", array($srcNode, $destNode, true));
} catch (Exception $e) {
$error[] = $e->getMessage();
return ;
Expand Down

0 comments on commit 5bfbde6

Please sign in to comment.