X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FForceGroup%2FForceGroupPlugin.php;h=c8e6709fc8534d931f9e8be5569ae4406d1385f7;hb=7dcb27672fa3f234f1fdfab5024752614e805341;hp=e0a04fccacac1ffe0f77f0e4ae32976e3fae09ac;hpb=55a080ea4e662ae719e8956c93389f3c689bb73a;p=quix0rs-gnu-social.git diff --git a/plugins/ForceGroup/ForceGroupPlugin.php b/plugins/ForceGroup/ForceGroupPlugin.php index e0a04fccac..c8e6709fc8 100644 --- a/plugins/ForceGroup/ForceGroupPlugin.php +++ b/plugins/ForceGroup/ForceGroupPlugin.php @@ -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; + } }