/**
* StatusNet, the distributed open-source microblogging tool
*
- * Action class to sandbox an abusive user
+ * Action class to grant user roles.
*
* PHP version 5
*
}
/**
- * Sandbox a user.
+ * Assign role to user.
*
* @category Action
* @package StatusNet
* @license http://www.fsf.org/licensing/licenses/agpl.html AGPLv3
* @link http://status.net/
*/
-
class GrantRoleAction extends ProfileFormAction
{
/**
*
* @return boolean success flag
*/
-
function prepare($args)
{
if (!parent::prepare($args)) {
return false;
}
-
+
$this->role = $this->arg('role');
if (!Profile_role::isValid($this->role)) {
+ // TRANS: Client error displayed when trying to assign an invalid role to a user.
$this->clientError(_('Invalid role.'));
return false;
}
if (!Profile_role::isSettable($this->role)) {
+ // TRANS: Client error displayed when trying to assign an reserved role to a user.
$this->clientError(_('This role is reserved and cannot be set.'));
return false;
}
assert(!empty($cur)); // checked by parent
if (!$cur->hasRight(Right::GRANTROLE)) {
+ // TRANS: Client error displayed when trying to assign a role to a user while not being allowed to set roles.
$this->clientError(_('You cannot grant user roles on this site.'));
return false;
}
assert(!empty($this->profile)); // checked by parent
if ($this->profile->hasRole($this->role)) {
+ // TRANS: Client error displayed when trying to assign a role to a user that already has that role.
$this->clientError(_('User already has this role.'));
return false;
}
*
* @return void
*/
-
function handlePost()
{
$this->profile->grantRole($this->role);