*
* @seeAlso Location
*/
-
class UserLimitPlugin extends Plugin
{
public $maxUsers = null;
- function onStartUserRegister(&$user, &$profile)
+ public function onStartUserRegister(Profile $profile)
{
$this->_checkMaxUsers();
return true;
}
- function onStartRegistrationTry($action)
+ /**
+ * Called when someone tries to register.
+ *
+ * We check the IP here to determine if it goes over any of our
+ * configured limits.
+ *
+ * @param Action $action Action that is being executed
+ *
+ * @return boolean hook value
+ */
+ function onStartRegistrationTry(Action $action)
{
$this->_checkMaxUsers();
return true;
function _checkMaxUsers()
{
if (!is_null($this->maxUsers)) {
-
$cls = new User();
$cnt = $cls->count();
if ($cnt >= $this->maxUsers) {
- $msg = sprintf(_('Cannot register; maximum number of users (%d) reached.'),
+ // TRANS: Error message given if creating a new user is not possible because a limit has been reached.
+ // TRANS: %d is the user limit (also available for plural).
+ $msg = sprintf(_m('Cannot register because the maximum number of users (%d) for this site was reached.',
+ 'Cannot register because the maximum number of users (%d) for this site was reached.',
+ $this->maxUsers),
$this->maxUsers);
throw new ClientException($msg);
}
}
- function onPluginVersion(&$versions)
+ function onPluginVersion(array &$versions)
{
$versions[] = array('name' => 'UserLimit',
- 'version' => STATUSNET_VERSION,
+ 'version' => GNUSOCIAL_VERSION,
'author' => 'Evan Prodromou',
'homepage' => 'http://status.net/wiki/Plugin:UserLimit',
'description' =>
+ // TRANS: Plugin description.
_m('Limit the number of users who can register.'));
return true;
}