diff options
author | Bjoern Schiessle <schiessle@owncloud.com> | 2012-06-28 11:48:57 +0200 |
---|---|---|
committer | Bjoern Schiessle <schiessle@owncloud.com> | 2012-06-28 11:48:57 +0200 |
commit | 52f99a7570921f994035c96002b7ae46acdfea9b (patch) | |
tree | e0870d29c749d3eca5cb33b44d69efd1617bc154 /apps | |
parent | dac539b61936e61c804c3d8fbf91003803e2cc81 (diff) | |
download | nextcloud-server-52f99a7570921f994035c96002b7ae46acdfea9b.tar.gz nextcloud-server-52f99a7570921f994035c96002b7ae46acdfea9b.zip |
delete file versions if the user deletes a file
Diffstat (limited to 'apps')
-rw-r--r-- | apps/files_archive/appinfo/app.php | 2 | ||||
-rw-r--r-- | apps/files_versions/lib/hooks_handler.php | 38 |
2 files changed, 40 insertions, 0 deletions
diff --git a/apps/files_archive/appinfo/app.php b/apps/files_archive/appinfo/app.php index 67376c4a03a..e6026670264 100644 --- a/apps/files_archive/appinfo/app.php +++ b/apps/files_archive/appinfo/app.php @@ -7,7 +7,9 @@ */ OC::$CLASSPATH['OC_Filestorage_Archive']='apps/files_archive/lib/storage.php'; +OC::$CLASSPATH['OC_Files_Versions_Hooks_Handler'] = 'files_versions/lib/hooks_handler.php'; OCP\Util::connectHook('OC_Filesystem','get_mountpoint','OC_Filestorage_Archive','autoMount'); +OCP\Util::connectHook('OC_Filesystem', 'delete', "OC_Files_Versions_Hooks_Handler", "removeVersions"); OCP\Util::addscript( 'files_archive', 'archive' ); diff --git a/apps/files_versions/lib/hooks_handler.php b/apps/files_versions/lib/hooks_handler.php new file mode 100644 index 00000000000..4be2d1c284b --- /dev/null +++ b/apps/files_versions/lib/hooks_handler.php @@ -0,0 +1,38 @@ +<?php + +/** +* ownCloud - hooks handler of the Versions app +* +* @author Bjoern Schiessle +* @copyright 2012 Bjoern Schiessle schiessle@owncloud.com +* +* This library is free software; you can redistribute it and/or +* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE +* License as published by the Free Software Foundation; either +* version 3 of the License, or any later version. +* +* This library is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU AFFERO GENERAL PUBLIC LICENSE for more details. +* +* You should have received a copy of the GNU Lesser General Public +* License along with this library. If not, see <http://www.gnu.org/licenses/>. +* +*/ + +class OC_Files_Versions_Hooks_Handler { + + public static function removeVersions($params) { + $rel_path = $params[OC_Filesystem::signal_param_path]; + $abs_path = \OCP\Config::getSystemValue('datadirectory').'/'.\OC_User::getUser()."/versions".$rel_path; + if(OCA_Versions\Storage::isversioned($rel_path)) { + $versions = OCA_Versions\Storage::getVersions($rel_path); + foreach ($versions as $v){ + unlink($abs_path.'.v' . $v['version']); + } + } + } +} + +?>
\ No newline at end of file |