summaryrefslogtreecommitdiffstats
path: root/apps/files_versions
diff options
context:
space:
mode:
authorBjoern Schiessle <schiessle@owncloud.com>2012-06-28 12:42:47 +0200
committerBjoern Schiessle <schiessle@owncloud.com>2012-06-28 12:42:47 +0200
commitf22f49671bcdc87058c6060db4ca4e4e1d9704f1 (patch)
treef58c1c0eb9f2631bd4bd652548d3bfbf85fa7d35 /apps/files_versions
parent52f99a7570921f994035c96002b7ae46acdfea9b (diff)
downloadnextcloud-server-f22f49671bcdc87058c6060db4ca4e4e1d9704f1.tar.gz
nextcloud-server-f22f49671bcdc87058c6060db4ca4e4e1d9704f1.zip
move hook to erase versions from deleted files to the right place
Diffstat (limited to 'apps/files_versions')
-rw-r--r--apps/files_versions/appinfo/app.php2
-rw-r--r--apps/files_versions/lib/hooks_handler.php38
-rw-r--r--apps/files_versions/versions.php14
3 files changed, 15 insertions, 39 deletions
diff --git a/apps/files_versions/appinfo/app.php b/apps/files_versions/appinfo/app.php
index bd06dc0ced3..5a559c0c962 100644
--- a/apps/files_versions/appinfo/app.php
+++ b/apps/files_versions/appinfo/app.php
@@ -9,3 +9,5 @@ OCP\Util::addscript('files_versions', 'versions');
// Listen to write signals
OCP\Util::connectHook('OC_Filesystem', 'post_write', "OCA_Versions\Storage", "write_hook");
+// Listen to delete signals
+OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA_Versions\Storage", "removeVersions"); \ No newline at end of file
diff --git a/apps/files_versions/lib/hooks_handler.php b/apps/files_versions/lib/hooks_handler.php
deleted file mode 100644
index 4be2d1c284b..00000000000
--- a/apps/files_versions/lib/hooks_handler.php
+++ /dev/null
@@ -1,38 +0,0 @@
-<?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
diff --git a/apps/files_versions/versions.php b/apps/files_versions/versions.php
index 9c0829ff1de..787de0f78ad 100644
--- a/apps/files_versions/versions.php
+++ b/apps/files_versions/versions.php
@@ -309,5 +309,17 @@ class Storage {
}
-
+ /**
+ * @brief Erase versions of deleted file
+ */
+ 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.'.v';
+ if(Storage::isversioned($rel_path)) {
+ $versions = Storage::getVersions($rel_path);
+ foreach ($versions as $v){
+ unlink($abs_path . $v['version']);
+ }
+ }
+ }
}