Dispatch event on User predelete

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2017-09-27 12:53:56 +02:00 committed by Robin Appelman
parent 5bc8c94a11
commit 949fc50cc5
No known key found for this signature in database
GPG Key ID: CBCA68FBAEBF98C9
1 changed files with 5 additions and 1 deletions

View File

@ -133,6 +133,7 @@ use OCP\Share;
use OCP\Share\IShareHelper; use OCP\Share\IShareHelper;
use Symfony\Component\EventDispatcher\EventDispatcher; use Symfony\Component\EventDispatcher\EventDispatcher;
use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\EventDispatcher\GenericEvent;
/** /**
* Class Server * Class Server
@ -348,6 +349,8 @@ class Server extends ServerContainer implements IServerContainer {
$defaultTokenProvider = null; $defaultTokenProvider = null;
} }
$dispatcher = $c->getEventDispatcher();
$userSession = new \OC\User\Session($manager, $session, $timeFactory, $defaultTokenProvider, $c->getConfig(), $c->getSecureRandom(), $c->getLockdownManager()); $userSession = new \OC\User\Session($manager, $session, $timeFactory, $defaultTokenProvider, $c->getConfig(), $c->getSecureRandom(), $c->getLockdownManager());
$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) { $userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
\OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password)); \OC_Hook::emit('OC_User', 'pre_createUser', array('run' => true, 'uid' => $uid, 'password' => $password));
@ -356,9 +359,10 @@ class Server extends ServerContainer implements IServerContainer {
/** @var $user \OC\User\User */ /** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'post_createUser', array('uid' => $user->getUID(), 'password' => $password)); \OC_Hook::emit('OC_User', 'post_createUser', array('uid' => $user->getUID(), 'password' => $password));
}); });
$userSession->listen('\OC\User', 'preDelete', function ($user) { $userSession->listen('\OC\User', 'preDelete', function ($user) use ($dispatcher) {
/** @var $user \OC\User\User */ /** @var $user \OC\User\User */
\OC_Hook::emit('OC_User', 'pre_deleteUser', array('run' => true, 'uid' => $user->getUID())); \OC_Hook::emit('OC_User', 'pre_deleteUser', array('run' => true, 'uid' => $user->getUID()));
$dispatcher->dispatch('OCP\IUser::preDelete', new GenericEvent($user));
}); });
$userSession->listen('\OC\User', 'postDelete', function ($user) { $userSession->listen('\OC\User', 'postDelete', function ($user) {
/** @var $user \OC\User\User */ /** @var $user \OC\User\User */