mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
moved remove and rename hook to libs/hooks.php
This commit is contained in:
parent
aa3b575ceb
commit
55cde0e5aa
3 changed files with 39 additions and 39 deletions
|
|
@ -12,5 +12,5 @@ OCP\Util::addscript('files_versions', 'versions');
|
|||
// Listen to write signals
|
||||
OCP\Util::connectHook('OC_Filesystem', 'post_write', "OCA_Versions\Hooks", "write_hook");
|
||||
// Listen to delete and rename signals
|
||||
OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA_Versions\Storage", "removeVersions");
|
||||
OCP\Util::connectHook('OC_Filesystem', 'rename', "OCA_Versions\Storage", "renameVersions");
|
||||
OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA_Versions\Hooks", "remove_hook");
|
||||
OCP\Util::connectHook('OC_Filesystem', 'rename', "OCA_Versions\Hooks", "rename_hook");
|
||||
|
|
@ -30,6 +30,43 @@ class Hooks {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Erase versions of deleted file
|
||||
* @param array
|
||||
*
|
||||
* This function is connected to the delete signal of OC_Filesystem
|
||||
* cleanup the versions directory if the actual file gets deleted
|
||||
*/
|
||||
public static function remove_hook($params) {
|
||||
$rel_path = $params['path'];
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_path.'.v';
|
||||
if(Storage::isversioned($rel_path)) {
|
||||
$versions = Storage::getVersions($rel_path);
|
||||
foreach ($versions as $v){
|
||||
unlink($abs_path . $v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief rename/move versions of renamed/moved files
|
||||
* @param array with oldpath and newpath
|
||||
*
|
||||
* This function is connected to the rename signal of OC_Filesystem and adjust the name and location
|
||||
* of the stored versions along the actual file
|
||||
*/
|
||||
public static function rename_hook($params) {
|
||||
$rel_oldpath = $params['oldpath'];
|
||||
$abs_oldpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_oldpath.'.v';
|
||||
$abs_newpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$params['newpath'].'.v';
|
||||
if(Storage::isversioned($rel_oldpath)) {
|
||||
$versions = Storage::getVersions($rel_oldpath);
|
||||
foreach ($versions as $v){
|
||||
rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
|
|
@ -323,41 +323,4 @@ class Storage {
|
|||
return $this->view->deleteAll( $dir, true );
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Erase versions of deleted file
|
||||
* @param array
|
||||
*
|
||||
* This function is connected to the delete signal of OC_Filesystem
|
||||
* cleanup the versions directory if the actual file gets deleted
|
||||
*/
|
||||
public static function removeVersions($params) {
|
||||
$rel_path = $params['path'];
|
||||
$abs_path = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_path.'.v';
|
||||
if(Storage::isversioned($rel_path)) {
|
||||
$versions = Storage::getVersions($rel_path);
|
||||
foreach ($versions as $v){
|
||||
unlink($abs_path . $v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief rename/move versions of renamed/moved files
|
||||
* @param array with oldpath and newpath
|
||||
*
|
||||
* This function is connected to the rename signal of OC_Filesystem and adjust the name and location
|
||||
* of the stored versions along the actual file
|
||||
*/
|
||||
public static function renameVersions($params) {
|
||||
$rel_oldpath = $params['oldpath'];
|
||||
$abs_oldpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$rel_oldpath.'.v';
|
||||
$abs_newpath = \OCP\Config::getSystemValue('datadirectory').'/'.\OCP\User::getUser()."/versions".$params['newpath'].'.v';
|
||||
if(Storage::isversioned($rel_oldpath)) {
|
||||
$versions = Storage::getVersions($rel_oldpath);
|
||||
foreach ($versions as $v){
|
||||
rename($abs_oldpath.$v['version'], $abs_newpath.$v['version']);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue