]> source.dussan.org Git - nextcloud-server.git/commitdiff
Emit leacgy OC_User hooks
authorRobin Appelman <icewind@owncloud.com>
Tue, 28 May 2013 23:05:49 +0000 (01:05 +0200)
committerRobin Appelman <icewind@owncloud.com>
Tue, 28 May 2013 23:05:49 +0000 (01:05 +0200)
lib/user.php
lib/user/manager.php

index efae4f9aa3665de4bc21c40c9067cfc8c93cab9d..cab7bee5c00b1b65d2f7548c6780f5ce6f5aff5d 100644 (file)
@@ -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;
        }
index 25e67ca36b5f05c8bf44279a622a0ff611c1b7dd..260d0d32deae2822cbe005ddf3948b7764caf259 100644 (file)
@@ -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;
                        }
                }