NEW Introduce method hasRight
This commit is contained in:
parent
1cfe165613
commit
465c9bf287
@ -652,6 +652,36 @@ class User extends CommonObject
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return if a user has a permission.
|
||||||
|
* You can use it like this: if ($user->hasRight('module', 'level11')).
|
||||||
|
* It replaces old syntax: if ($user->rights->module->level1)
|
||||||
|
*
|
||||||
|
* @param int $module Id of permission to add or 0 to add several permissions
|
||||||
|
* @param string $permlevel1 Permission level1
|
||||||
|
* @param string $permlevel2 Permission level2
|
||||||
|
* @return boolean 1 if user has permission, 0 if not.
|
||||||
|
* @see clearrights(), delrights(), getrights(), hasRight()
|
||||||
|
*/
|
||||||
|
public function hasRight($module, $permlevel1, $permlevel2 = '')
|
||||||
|
{
|
||||||
|
if (empty($module) || empty($this->rights) || empty($this->rights->$module) || empty($permlevel1)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($permlevel2) {
|
||||||
|
if (!empty($this->rights->$module->$permlevel1) && !empty($this->rights->$module->$permlevel1->$permlevel2)) {
|
||||||
|
return $this->rights->$module->$permlevel1->$permlevel2;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (!empty($this->rights->$module->$permlevel1)) {
|
||||||
|
return $this->rights->$module->$permlevel1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a right to the user
|
* Add a right to the user
|
||||||
*
|
*
|
||||||
@ -661,7 +691,7 @@ class User extends CommonObject
|
|||||||
* @param int $entity Entity to use
|
* @param int $entity Entity to use
|
||||||
* @param int $notrigger 1=Does not execute triggers, 0=Execute triggers
|
* @param int $notrigger 1=Does not execute triggers, 0=Execute triggers
|
||||||
* @return int > 0 if OK, < 0 if KO
|
* @return int > 0 if OK, < 0 if KO
|
||||||
* @see clearrights(), delrights(), getrights()
|
* @see clearrights(), delrights(), getrights(), hasRight()
|
||||||
*/
|
*/
|
||||||
public function addrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0)
|
public function addrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0)
|
||||||
{
|
{
|
||||||
@ -788,7 +818,7 @@ class User extends CommonObject
|
|||||||
* @param int $entity Entity to use
|
* @param int $entity Entity to use
|
||||||
* @param int $notrigger 1=Does not execute triggers, 0=Execute triggers
|
* @param int $notrigger 1=Does not execute triggers, 0=Execute triggers
|
||||||
* @return int > 0 if OK, < 0 if OK
|
* @return int > 0 if OK, < 0 if OK
|
||||||
* @see clearrights(), addrights(), getrights()
|
* @see clearrights(), addrights(), getrights(), hasRight()
|
||||||
*/
|
*/
|
||||||
public function delrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0)
|
public function delrights($rid, $allmodule = '', $allperms = '', $entity = 0, $notrigger = 0)
|
||||||
{
|
{
|
||||||
@ -915,7 +945,7 @@ class User extends CommonObject
|
|||||||
* Clear all permissions array of user
|
* Clear all permissions array of user
|
||||||
*
|
*
|
||||||
* @return void
|
* @return void
|
||||||
* @see getrights()
|
* @see getrights(), hasRight()
|
||||||
*/
|
*/
|
||||||
public function clearrights()
|
public function clearrights()
|
||||||
{
|
{
|
||||||
@ -933,7 +963,7 @@ class User extends CommonObject
|
|||||||
* @param string $moduletag Limit permission for a particular module ('' by default means load all permissions)
|
* @param string $moduletag Limit permission for a particular module ('' by default means load all permissions)
|
||||||
* @param int $forcereload Force reload of permissions even if they were already loaded (ignore cache)
|
* @param int $forcereload Force reload of permissions even if they were already loaded (ignore cache)
|
||||||
* @return void
|
* @return void
|
||||||
* @see clearrights(), delrights(), addrights()
|
* @see clearrights(), delrights(), addrights(), hasRight()
|
||||||
*/
|
*/
|
||||||
public function getrights($moduletag = '', $forcereload = 0)
|
public function getrights($moduletag = '', $forcereload = 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user