]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/ForceGroup/ForceGroupPlugin.php
Events on user registrations now strictly typed
[quix0rs-gnu-social.git] / plugins / ForceGroup / ForceGroupPlugin.php
index fb98644846b8278922a06748cdfb37ab3696ffc2..06d5521d039147d86ce39602e4e3bc8930396edb 100644 (file)
@@ -33,11 +33,11 @@ class ForceGroupPlugin extends Plugin
      * List by local nickname.
      */
     public $post = array();
-    
+
     /**
      * New user registrations will automatically join these groups on
      * registration. They're not prevented from leaving, however.
-     * 
+     *
      * List by local nickname.
      */
     public $join = array();
@@ -61,22 +61,18 @@ class ForceGroupPlugin extends Plugin
         return true;
     }
 
-    function onEndUserRegister($profile, $user)
+    public function onEndUserRegister(Profile $profile)
     {
-        $profile = $user->getProfile();
         foreach ($this->join as $nickname) {
             $group = User_group::getForNickname($nickname);
             if ($group && !$profile->isMember($group)) {
                 try {
-                    if (Event::handle('StartJoinGroup', array($group, $user))) {
-                        Group_member::join($group->id, $user->id);
-                        Event::handle('EndJoinGroup', array($group, $user));
-                    }
+                    $profile->joinGroup($group);
                 } catch (Exception $e) {
                     // TRANS: Server exception.
                     // TRANS: %1$s is a user nickname, %2$s is a group nickname.
                     throw new ServerException(sprintf(_m('Could not join user %1$s to group %2$s.'),
-                                               $user->nickname, $group->nickname));
+                                               $profile->nickname, $group->nickname));
                 }
             }
         }