12400 getPermission
This commit is contained in:
parent
b4f5546a5f
commit
4af57f42b7
@ -908,25 +908,32 @@ class common
|
|||||||
*/
|
*/
|
||||||
public function getPermission($key1, $key2 = null)
|
public function getPermission($key1, $key2 = null)
|
||||||
{
|
{
|
||||||
|
// User n'existe pas
|
||||||
if (is_array($this->user) === false) {
|
if (is_array($this->user) === false) {
|
||||||
return false;
|
return false;
|
||||||
|
// Administrateur, toutes les permissions
|
||||||
} elseif ($this->getUser('group') === self::GROUP_ADMIN) {
|
} elseif ($this->getUser('group') === self::GROUP_ADMIN) {
|
||||||
return true;
|
return true;
|
||||||
|
// Groupe sans autorisation
|
||||||
} elseif ($this->getUser('group') < 1) {
|
} elseif ($this->getUser('group') < 1) {
|
||||||
return false;
|
return false;
|
||||||
|
// Groupe avec profil, consultation des autorisations sur deux clés
|
||||||
} elseif (
|
} elseif (
|
||||||
$key2
|
$key2
|
||||||
&& $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1])
|
&& $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1])
|
||||||
&& array_key_exists($key2, $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]))
|
&& array_key_exists($key2, $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]))
|
||||||
) {
|
) {
|
||||||
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1, $key2]);
|
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1, $key2]);
|
||||||
|
// Groupe avec profil, consultation des autorisations sur une seule clé
|
||||||
} elseif (
|
} elseif (
|
||||||
$this->getData(['profil', $this->user['group'], $this->user['profil']])
|
$this->getData(['profil', $this->user['group'], $this->user['profil']])
|
||||||
&& array_key_exists($key1, $this->getData(['profil', $this->user['group'], $this->user['profil']]))
|
&& array_key_exists($key1, $this->getData(['profil', $this->user['group'], $this->user['profil']]))
|
||||||
) {
|
) {
|
||||||
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]);
|
return $this->getData(['profil', $this->user['group'], $this->user['profil'], $key1]);
|
||||||
} else {
|
} else {
|
||||||
return false;
|
// Permission non spécifiée dans le profil est autorisée par défaut pour le fonctionnement de $action
|
||||||
|
return true;
|
||||||
|
//return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user