define rights around how to silence, sandbox, and delete a user

This commit is contained in:
Evan Prodromou 2009-11-15 15:59:10 +01:00
parent e3b53565bb
commit c9475c76a8
3 changed files with 19 additions and 0 deletions

View File

@ -720,10 +720,14 @@ class User extends Memcached_DataObject
switch ($right)
{
case Right::DELETEOTHERSNOTICE:
case Right::SANDBOXUSER:
case Right::SILENCEUSER:
case Right::DELETEUSER:
$result = $this->hasRole(User_role::MODERATOR);
break;
case Right::CONFIGURESITE:
$result = $this->hasRole(User_role::ADMINISTRATOR);
break;
default:
$result = false;
break;
@ -774,4 +778,14 @@ class User extends Memcached_DataObject
$block->delete();
// XXX delete group block? Reset blocker?
}
function isSandboxed()
{
return $this->hasRole(User_role::SANDBOXED);
}
function isSilenced()
{
return $this->hasRole(User_role::SILENCED);
}
}

View File

@ -48,4 +48,6 @@ class User_role extends Memcached_DataObject
const MODERATOR = 'moderator';
const ADMINISTRATOR = 'administrator';
const SANDBOXED = 'sandboxed';
const SILENCED = 'silenced';
}

View File

@ -47,5 +47,8 @@ class Right
{
const DELETEOTHERSNOTICE = 'deleteothersnotice';
const CONFIGURESITE = 'configuresite';
const DELETEUSER = 'deleteuser';
const SILENCEUSER = 'silenceuser';
const SANDBOXUSER = 'sandboxuser';
}