X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fxnet%2Fsession.inc.php;h=92c189ab81bfb908efdfa0dc20b312a01ccff9bb;hb=8907f26377348b0f6f454abb2cebf363ea9cc8dd;hp=d798261b0f37d9af6ae9a4595e2c5a8bc54875d8;hpb=bf517dafc122edf6ccd86847f0626cfd0df9f340;p=platal.git diff --git a/include/xnet/session.inc.php b/include/xnet/session.inc.php index d798261..92c189a 100644 --- a/include/xnet/session.inc.php +++ b/include/xnet/session.inc.php @@ -1,6 +1,6 @@ xnet->secret); @@ -46,12 +47,20 @@ class XnetSession $perms = S::v('perms'); $perms->rmFlag('groupadmin'); $perms->rmFlag('groupmember'); + $perms->rmFlag('groupannu'); if (may_update()) { $perms->addFlag('groupadmin'); $perms->addFlag('groupmember'); + $perms->addFlag('groupannu'); } if (is_member()) { $perms->addFlag('groupmember'); + if ($globals->asso('pub') != 'private') { + $perms->addFlag('groupannu'); + } + } + if ($globals->asso('cat') == 'Promotions') { + $perms->addFlag('groupannu'); } $_SESSION['perms'] = $perms; } @@ -95,11 +104,16 @@ class XnetSession // }}} // {{{ doAuthX - public static function doAuthX() + public static function doAuthX() { global $globals, $page; if (md5('1'.S::v('challenge').$globals->xnet->secret.Get::i('uid').'1') != Get::v('auth')) { + Get::kill('auth'); + if (!$page) { + require_once 'xnet.inc.php'; + new_skinned_page('platal/index.tpl'); + } $page->kill("Erreur d'authentification avec polytechnique.org !"); } @@ -150,7 +164,7 @@ class XnetSession // {{{ killSuid public static function killSuid() - { + { if (!S::has('suid')) { return; } @@ -202,7 +216,7 @@ function may_update($force = false, $lose = false) /** Get membership informations for the current asso * @param force Force membership to be read from database * @param lose Force membership to be false - */ + */ function is_member($force = false, $lose = false) { if (!isset($_SESSION['is_member'])) {