diff options
author | Robin Appelman <icewind@owncloud.com> | 2012-09-22 14:28:14 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2012-09-22 14:28:14 +0200 |
commit | 93292516d9a44bb16a19093f38d3fbd562d27133 (patch) | |
tree | 3b3c5059eb27ccfd08d5fb47a68dac497f84ecc0 /lib/filesystemview.php | |
parent | 954596c251cb3132878d8d5eafcc37c47b3f520e (diff) | |
parent | b4de89e6b4c05ddb99010e0dee071c919d338d5e (diff) | |
download | nextcloud-server-93292516d9a44bb16a19093f38d3fbd562d27133.tar.gz nextcloud-server-93292516d9a44bb16a19093f38d3fbd562d27133.zip |
Merge branch 'master' into filesystem
Diffstat (limited to 'lib/filesystemview.php')
-rw-r--r-- | lib/filesystemview.php | 156 |
1 files changed, 84 insertions, 72 deletions
diff --git a/lib/filesystemview.php b/lib/filesystemview.php index 36fef485513..678e6703cf0 100644 --- a/lib/filesystemview.php +++ b/lib/filesystemview.php @@ -263,24 +263,26 @@ class OC_FilesystemView { $path = $this->getRelativePath($absolutePath); $exists = $this->file_exists($path); $run = true; - if(!$exists) { + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if(!$exists) { + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_create, + array( + OC_Filesystem::signal_param_path => $path, + OC_Filesystem::signal_param_run => &$run + ) + ); + } OC_Hook::emit( OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_create, + OC_Filesystem::signal_write, array( OC_Filesystem::signal_param_path => $path, OC_Filesystem::signal_param_run => &$run ) ); } - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_write, - array( - OC_Filesystem::signal_param_path => $path, - OC_Filesystem::signal_param_run => &$run - ) - ); if(!$run) { return false; } @@ -289,18 +291,20 @@ class OC_FilesystemView { $count=OC_Helper::streamCopy($data, $target); fclose($target); fclose($data); - if(!$exists) { + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + if(!$exists) { + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_post_create, + array( OC_Filesystem::signal_param_path => $path) + ); + } OC_Hook::emit( OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_create, + OC_Filesystem::signal_post_write, array( OC_Filesystem::signal_param_path => $path) ); } - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_write, - array( OC_Filesystem::signal_param_path => $path) - ); OC_FileProxy::runPostProxies('file_put_contents', $absolutePath, $count); return $count > 0; }else{ @@ -330,14 +334,16 @@ class OC_FilesystemView { return false; } $run=true; - OC_Hook::emit( - OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, - array( - OC_Filesystem::signal_param_oldpath => $path1, - OC_Filesystem::signal_param_newpath => $path2, - OC_Filesystem::signal_param_run => &$run - ) - ); + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + OC_Hook::emit( + OC_Filesystem::CLASSNAME, OC_Filesystem::signal_rename, + array( + OC_Filesystem::signal_param_oldpath => $path1, + OC_Filesystem::signal_param_newpath => $path2, + OC_Filesystem::signal_param_run => &$run + ) + ); + } if($run) { $mp1 = $this->getMountPoint($path1.$postFix1); $mp2 = $this->getMountPoint($path2.$postFix2); @@ -353,14 +359,16 @@ class OC_FilesystemView { $storage1->unlink($this->getInternalPath($path1.$postFix1)); $result = $count>0; } - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_rename, - array( - OC_Filesystem::signal_param_oldpath => $path1, - OC_Filesystem::signal_param_newpath => $path2 - ) - ); + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_post_rename, + array( + OC_Filesystem::signal_param_oldpath => $path1, + OC_Filesystem::signal_param_newpath => $path2 + ) + ); + } return $result; } } @@ -378,35 +386,37 @@ class OC_FilesystemView { return false; } $run=true; - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_copy, - array( - OC_Filesystem::signal_param_oldpath => $path1, - OC_Filesystem::signal_param_newpath=>$path2, - OC_Filesystem::signal_param_run => &$run - ) - ); - $exists=$this->file_exists($path2); - if($run and !$exists) { + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ OC_Hook::emit( OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_create, + OC_Filesystem::signal_copy, array( - OC_Filesystem::signal_param_path => $path2, - OC_Filesystem::signal_param_run => &$run - ) - ); - } - if($run) { - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_write, - array( - OC_Filesystem::signal_param_path => $path2, + OC_Filesystem::signal_param_oldpath => $path1, + OC_Filesystem::signal_param_newpath=>$path2, OC_Filesystem::signal_param_run => &$run ) ); + $exists=$this->file_exists($path2); + if($run and !$exists) { + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_create, + array( + OC_Filesystem::signal_param_path => $path2, + OC_Filesystem::signal_param_run => &$run + ) + ); + } + if($run) { + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_write, + array( + OC_Filesystem::signal_param_path => $path2, + OC_Filesystem::signal_param_run => &$run + ) + ); + } } if($run) { $mp1=$this->getMountPoint($path1.$postFix1); @@ -420,26 +430,28 @@ class OC_FilesystemView { $target = $this->fopen($path2.$postFix2, 'w'); $result = OC_Helper::streamCopy($source, $target); } - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_copy, - array( - OC_Filesystem::signal_param_oldpath => $path1, - OC_Filesystem::signal_param_newpath=>$path2 - ) - ); - if(!$exists) { + if( $this->fakeRoot==OC_Filesystem::getRoot() ){ OC_Hook::emit( OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_create, - array(OC_Filesystem::signal_param_path => $path2) + OC_Filesystem::signal_post_copy, + array( + OC_Filesystem::signal_param_oldpath => $path1, + OC_Filesystem::signal_param_newpath=>$path2 + ) + ); + if(!$exists) { + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_post_create, + array(OC_Filesystem::signal_param_path => $path2) + ); + } + OC_Hook::emit( + OC_Filesystem::CLASSNAME, + OC_Filesystem::signal_post_write, + array( OC_Filesystem::signal_param_path => $path2) ); } - OC_Hook::emit( - OC_Filesystem::CLASSNAME, - OC_Filesystem::signal_post_write, - array( OC_Filesystem::signal_param_path => $path2) - ); return $result; } } |