remove used space for versions from db is a user was deleted
This commit is contained in:
parent
18c873d1e5
commit
544a46c690
|
@ -12,3 +12,5 @@ OCP\Util::connectHook('OC_Filesystem', 'write', "OCA\Files_Versions\Hooks", "wri
|
|||
// Listen to delete and rename signals
|
||||
OCP\Util::connectHook('OC_Filesystem', 'post_delete', "OCA\Files_Versions\Hooks", "remove_hook");
|
||||
OCP\Util::connectHook('OC_Filesystem', 'rename', "OCA\Files_Versions\Hooks", "rename_hook");
|
||||
//Listen to delete user signal
|
||||
OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Versions\Hooks", "deleteUser_hook");
|
||||
|
|
|
@ -63,4 +63,18 @@ class Hooks {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @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\Config::getSystemValue('files_versions', Storage::DEFAULTENABLED)=='true') {
|
||||
$uid = $params['uid'];
|
||||
Storage::deleteUser($uid);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -279,6 +279,18 @@ class Storage {
|
|||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief deletes used space for files versions in db if user was deleted
|
||||
*
|
||||
* @param type $uid id of deleted user
|
||||
* @return result of db delete operation
|
||||
*/
|
||||
public static function deleteUser($uid) {
|
||||
$query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_versions` WHERE `user`=?');
|
||||
return $query->execute(array($uid));
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief get the size of all stored versions from a given user
|
||||
* @param $uid id from the user
|
||||
|
|
Loading…
Reference in New Issue