Emit leacgy OC_User hooks

remotes/origin/stable6
Robin Appelman 2013-05-29 01:05:49 +07:00
parent 3e7e2c8a5c
commit 8320f41dbe
2 changed files with 35 additions and 8 deletions

@ -30,8 +30,8 @@
* post_createUser(uid, password)
* pre_deleteUser(&run, uid)
* post_deleteUser(uid)
* pre_setPassword(&run, uid, password)
* post_setPassword(uid, password)
* pre_setPassword(&run, uid, password, recoveryPassword)
* post_setPassword(uid, password, recoveryPassword)
* pre_login(&run, uid, password)
* post_login(uid)
* logout()
@ -43,6 +43,33 @@ class OC_User {
if (!self::$userSession) {
$manager = new \OC\User\Manager();
self::$userSession = new \OC\User\Session($manager, \OC::$session);
self::$userSession->listen('\OC\User', 'preCreateUser', function ($uid, $password) {
\OC_Hook::emit('OC_User', 'pre_createUser', array("run" => true, "uid" => $uid, "password" => $password));
});
self::$userSession->listen('\OC\User', 'postCreateUser', function ($user, $password) {
\OC_Hook::emit('OC_User', 'post_createUser', array("uid" => $user->getUID(), "password" => $password));
});
self::$userSession->listen('\OC\User', 'preDelete', function ($user) {
\OC_Hook::emit('OC_User', 'pre_deleteUser', array("run" => true, "uid" => $user->getUID()));
});
self::$userSession->listen('\OC\User', 'postDelete', function ($user) {
\OC_Hook::emit('OC_User', 'post_deleteUser', array("uid" => $user->getUID()));
});
self::$userSession->listen('\OC\User', 'preSetPassword', function ($user, $password, $recoveryPassword) {
OC_Hook::emit("OC_User", "pre_setPassword", array("run" => &$run, "uid" => $user->getUID(), "password" => $password, "recoveryPassword" => $recoveryPassword));
});
self::$userSession->listen('\OC\User', 'postSetPassword', function ($user, $password, $recoveryPassword) {
OC_Hook::emit("OC_User", "post_setPassword", array("run" => &$run, "uid" => $user->getUID(), "password" => $password, "recoveryPassword" => $recoveryPassword));
});
self::$userSession->listen('\OC\User', 'preLogin', function ($uid, $password) {
\OC_Hook::emit('OC_User', 'pre_login', array("run" => true, "uid" => $uid, "password" => $password));
});
self::$userSession->listen('\OC\User', 'preDeleteUser', function ($user, $password) {
\OC_Hook::emit('OC_User', 'post_login', array("run" => true, "uid" => $user->getUID(), "password" => $password));
});
self::$userSession->listen('\OC\User', 'logout', function () {
\OC_Hook::emit('OC_User', 'logout', array());
});
}
return self::$userSession;
}

@ -20,7 +20,7 @@ use OC\Hooks\PublicEmitter;
* - preDelete(\OC\User\User $user)
* - postDelete(\OC\User\User $user)
* - preCreateUser(string $uid, string $password)
* - postCreateUser(\OC\User\User $user)
* - postCreateUser(\OC\User\User $user, string $password)
*
* @package OC\User
*/
@ -57,7 +57,7 @@ class Manager extends PublicEmitter {
public function get($uid) {
foreach ($this->backends as $backend) {
if ($backend->userExists($uid)) {
return new User($uid, $backend);
return new User($uid, $backend, $this);
}
}
return null;
@ -90,7 +90,7 @@ class Manager extends PublicEmitter {
$backendUsers = $backend->getUsers($pattern, $limit, $offset);
if (is_array($backendUsers)) {
foreach ($backendUsers as $uid) {
$users[] = new User($uid, $backend);
$users[] = new User($uid, $backend, $this);
if (!is_null($limit)) {
$limit--;
}
@ -126,7 +126,7 @@ class Manager extends PublicEmitter {
$backendUsers = $backend->getDisplayNames($pattern, $limit, $offset);
if (is_array($backendUsers)) {
foreach ($backendUsers as $uid => $displayName) {
$users[] = new User($uid, $backend);
$users[] = new User($uid, $backend, $this);
if (!is_null($limit)) {
$limit--;
}
@ -179,8 +179,8 @@ class Manager extends PublicEmitter {
foreach ($this->backends as $backend) {
if ($backend->implementsActions(\OC_USER_BACKEND_CREATE_USER)) {
$backend->createUser($uid, $password);
$user = new User($uid, $backend);
$this->emit('\OC\User', 'postCreateUser', array($user));
$user = new User($uid, $backend, $this);
$this->emit('\OC\User', 'postCreateUser', array($user, $password));
return $user;
}
}