1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- /**
- * Copyright (c) 2012 Sam Tuke <samtuke@owncloud.com>
- * This file is licensed under the Affero General Public License version 3 or
- * later.
- * See the COPYING-README file.
- */
-
- /**
- * This class contains all hooks.
- */
-
- namespace OCA\Files_Versions;
-
- class Hooks {
-
- /**
- * listen to write event.
- */
- public static function write_hook( $params ) {
-
- if (\OCP\App::isEnabled('files_versions')) {
- $path = $params[\OC\Files\Filesystem::signal_param_path];
- if($path<>'') {
- Storage::store($path);
- }
- }
- }
-
-
- /**
- * @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) {
-
- if (\OCP\App::isEnabled('files_versions')) {
- $path = $params[\OC\Files\Filesystem::signal_param_path];
- if($path<>'') {
- Storage::delete($path);
- }
- }
- }
-
- /**
- * @brief mark file as "deleted" so that we can clean up the versions if the file is gone
- * @param array $params
- */
- public static function pre_remove_hook($params) {
- $path = $params[\OC\Files\Filesystem::signal_param_path];
- if($path<>'') {
- Storage::markDeletedFile($path);
- }
- }
-
- /**
- * @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) {
-
- if (\OCP\App::isEnabled('files_versions')) {
- $oldpath = $params['oldpath'];
- $newpath = $params['newpath'];
- if($oldpath<>'' && $newpath<>'') {
- Storage::rename( $oldpath, $newpath );
- }
- }
- }
-
- /**
- * @brief clean up user specific settings if user gets deleted
- * @param array with uid
- *
- * This function is connected to the pre_deleteUser signal of OC_Users
- * to remove the used space for versions stored in the database
- */
- public static function deleteUser_hook($params) {
-
- if (\OCP\App::isEnabled('files_versions')) {
- $uid = $params['uid'];
- Storage::deleteUser($uid);
- }
- }
-
- }
|