cleanup the trash bin tables in the database after a user was deleted
This commit is contained in:
parent
544a46c690
commit
1b3b766244
|
@ -3,5 +3,7 @@
|
||||||
OC::$CLASSPATH['OCA\Files_Trashbin\Hooks'] = 'files_trashbin/lib/hooks.php';
|
OC::$CLASSPATH['OCA\Files_Trashbin\Hooks'] = 'files_trashbin/lib/hooks.php';
|
||||||
OC::$CLASSPATH['OCA\Files_Trashbin\Trashbin'] = 'files_trashbin/lib/trash.php';
|
OC::$CLASSPATH['OCA\Files_Trashbin\Trashbin'] = 'files_trashbin/lib/trash.php';
|
||||||
|
|
||||||
|
//Listen to delete file signal
|
||||||
OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA\Files_Trashbin\Hooks", "remove_hook");
|
OCP\Util::connectHook('OC_Filesystem', 'delete', "OCA\Files_Trashbin\Hooks", "remove_hook");
|
||||||
|
//Listen to delete user signal
|
||||||
|
OCP\Util::connectHook('OC_User', 'pre_deleteUser', "OCA\Files_Trashbin\Hooks", "deleteUser_hook");
|
|
@ -42,4 +42,18 @@ class Hooks {
|
||||||
Trashbin::move2trash($path);
|
Trashbin::move2trash($path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @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 the trash bin stored in the database
|
||||||
|
*/
|
||||||
|
public static function deleteUser_hook($params) {
|
||||||
|
if( \OCP\App::isEnabled('files_trashbin') ) {
|
||||||
|
$uid = $params['uid'];
|
||||||
|
Trashbin::deleteUser($uid);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -336,6 +336,22 @@ class Trashbin {
|
||||||
return $view->file_exists($target);
|
return $view->file_exists($target);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief deletes used space for trash bin 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_trash` WHERE `user`=?');
|
||||||
|
$result = $query->execute(array($uid));
|
||||||
|
if ($result) {
|
||||||
|
$query = \OC_DB::prepare('DELETE FROM `*PREFIX*files_trashsize` WHERE `user`=?');
|
||||||
|
return $query->execute(array($uid));
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* clean up the trash bin
|
* clean up the trash bin
|
||||||
* @param max. available disk space for trashbin
|
* @param max. available disk space for trashbin
|
||||||
|
|
Loading…
Reference in New Issue