X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=classes%2Fxnetsession.php;h=839abb21bf42cae21a5896e4f6b976d717f26a7d;hb=56081a9c7569245bf06ac582a7657d84c73dc839;hp=0183a76ac5ecfb3d504237cc1c07fd0f37a5362d;hpb=50d5ec0b4116030114b1c9d9dcde980524f3a028;p=platal.git diff --git a/classes/xnetsession.php b/classes/xnetsession.php index 0183a76..839abb2 100644 --- a/classes/xnetsession.php +++ b/classes/xnetsession.php @@ -24,15 +24,10 @@ class XnetSession extends PlSession public function __construct() { parent::__construct(); - S::bootstrap('perms_backup', new PlFlagSet()); } public function startAvailableAuth() { - if (!(S::v('perms') instanceof PlFlagSet)) { - S::set('perms', S::v('perms_backup')); - } - if (!S::logged() && Get::has('auth')) { if (!$this->start(AUTH_MDP)) { return false; @@ -74,7 +69,6 @@ class XnetSession extends PlSession $perms->addFlag('groupannu'); } S::set('perms', $perms); - S::set('perms_backup', $perms); } return true; } @@ -165,10 +159,28 @@ class XnetSession extends PlSession S::kill('may_update'); S::kill('is_member'); S::set('perms', $suid['perms']); - S::set('perms_backup', $suid['perms_backup']); return true; } + public function makePerms($perm) + { + $flags = new PlFlagSet(); + if ($perm == 'disabled' || $perm == 'ext') { + S::set('perms', $flags); + return; + } + $flags->addFlag(PERMS_USER); + if ($perm == 'admin') { + $flags->addFlag(PERMS_ADMIN); + } + S::set('perms', $flags); + } + + public function loggedLevel() + { + return AUTH_COOKIE; + } + public function sureLevel() { return AUTH_MDP;