|
|
|
|
@ -25,6 +25,8 @@
|
|
|
|
|
|
|
|
|
|
namespace OC\Files;
|
|
|
|
|
|
|
|
|
|
use OC\Files\Cache\Updater;
|
|
|
|
|
|
|
|
|
|
class View {
|
|
|
|
|
private $fakeRoot = '';
|
|
|
|
|
private $internal_path_cache = array();
|
|
|
|
|
@ -433,6 +435,7 @@ class View {
|
|
|
|
|
}
|
|
|
|
|
if ($this->shouldEmitHooks() && (Cache\Scanner::isPartialFile($path1) && !Cache\Scanner::isPartialFile($path2)) && $result !== false) {
|
|
|
|
|
// if it was a rename from a part file to a regular file it was a write and not a rename operation
|
|
|
|
|
Updater::writeHook(array('path' => $this->getHookPath($path2)));
|
|
|
|
|
\OC_Hook::emit(
|
|
|
|
|
Filesystem::CLASSNAME,
|
|
|
|
|
Filesystem::signal_post_write,
|
|
|
|
|
@ -441,6 +444,10 @@ class View {
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
} elseif ($this->shouldEmitHooks() && $result !== false) {
|
|
|
|
|
Updater::renameHook(array(
|
|
|
|
|
'oldpath' => $this->getHookPath($path1),
|
|
|
|
|
'newpath' => $this->getHookPath($path2)
|
|
|
|
|
));
|
|
|
|
|
\OC_Hook::emit(
|
|
|
|
|
Filesystem::CLASSNAME,
|
|
|
|
|
Filesystem::signal_post_rename,
|
|
|
|
|
@ -741,7 +748,10 @@ class View {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* @param string[] $hooks
|
|
|
|
|
* @param string $path
|
|
|
|
|
* @param bool $post
|
|
|
|
|
* @return bool
|
|
|
|
|
*/
|
|
|
|
|
private function runHooks($hooks, $path, $post = false) {
|
|
|
|
|
$path = $this->getHookPath($path);
|
|
|
|
|
@ -749,6 +759,16 @@ class View {
|
|
|
|
|
$run = true;
|
|
|
|
|
if ($this->shouldEmitHooks($path)) {
|
|
|
|
|
foreach ($hooks as $hook) {
|
|
|
|
|
// manually triger updater hooks to ensure they are called first
|
|
|
|
|
if ($post) {
|
|
|
|
|
if ($hook == 'write') {
|
|
|
|
|
Updater::writeHook(array('path' => $path));
|
|
|
|
|
} elseif ($hook == 'touch') {
|
|
|
|
|
Updater::touchHook(array('path' => $path));
|
|
|
|
|
} else if ($hook == 'delete') {
|
|
|
|
|
Updater::deleteHook(array('path' => $path));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
if ($hook != 'read') {
|
|
|
|
|
\OC_Hook::emit(
|
|
|
|
|
Filesystem::CLASSNAME,
|
|
|
|
|
|