]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - plugins/ForceGroup/ForceGroupPlugin.php
Merge activity plugin into mainline
[quix0rs-gnu-social.git] / plugins / ForceGroup / ForceGroupPlugin.php
index e0a04fccacac1ffe0f77f0e4ae32976e3fae09ac..c8e6709fc8534d931f9e8be5569ae4406d1385f7 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();
@@ -68,15 +68,38 @@ class ForceGroupPlugin extends Plugin
             $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) {
-                    throw new ServerException(sprintf(_('Could not join user %1$s to group %2$s.'),
+                    // 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));
                 }
             }
         }
     }
+
+    /**
+     * Provide plugin version information.
+     *
+     * This data is used when showing the version page.
+     *
+     * @param array &$versions array of version data arrays; see EVENTS.txt
+     *
+     * @return boolean hook value
+     */
+    function onPluginVersion(&$versions)
+    {
+        $url = 'http://status.net/wiki/Plugin:ForceGroup';
+
+        $versions[] = array('name' => 'ForceGroup',
+            'version' => STATUSNET_VERSION,
+            'author' => 'Brion Vibber',
+            'homepage' => $url,
+            'rawdescription' =>
+            // TRANS: Plugin description.
+            _m('Allows forced group memberships and forces all notices to appear in groups that users were forced in.'));
+
+        return true;
+    }
 }