Bye xorg.misc.inc.php
[platal.git] / include / xnet / page.inc.php
index 6190b5f..1fce8e4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2007 Polytechnique.org                              *
+ *  Copyright (C) 2003-2008 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-class XnetPage extends PlatalPage
+class XnetPage extends PlPage
 {
     public $nomenu = false;
 
     // {{{ function XnetPage()
 
-    public function __construct($tpl, $type=SKINNED)
+    public function __construct()
     {
-        parent::__construct($tpl, $type);
+        parent::__construct();
 
         $this->register_function('list_all_my_groups', 'list_all_my_groups');
         $this->register_modifier('cat_pp', 'cat_pp');
         $this->assign('it_is_xnet', true);
 
-        if (!S::logged() && Get::has('auth')) {
-            XnetSession::doAuthX();
+        global $globals;
+        $this->assign('is_logged', S::logged());
+        if ($globals->asso('id')) {
+            $this->assign('asso', $globals->asso());
+            $this->setType($globals->asso('cat'));
+            $this->assign('is_admin', may_update());
+            $this->assign('is_member', is_member());
         }
     }
 
@@ -50,22 +55,6 @@ class XnetPage extends PlatalPage
     }
 
     // }}}
-    // {{{ function changeTpl()
-
-    public function changeTpl($tpl, $type = SKINNED)
-    {
-        global $globals;
-        parent::changeTpl($tpl, $type);
-        $this->assign('is_logged', S::logged());
-        if ($globals->asso('id')) {
-            $this->assign('asso', $globals->asso());
-            $this->setType($globals->asso('cat'));
-            $this->assign('is_admin', may_update());
-            $this->assign('is_member', is_member());
-        }
-    }
-
-    // }}}
     // {{{ function setType
 
     public function setType($type)
@@ -88,17 +77,17 @@ class XnetPage extends PlatalPage
         $sub['signaler un bug']   = array('href' => 'send_bug', 'class' => 'popup_840x600');
         $menu["no_title"]   = $sub;
 
+        $perms = S::v('perms');
+        $dim = $globals->asso('diminutif');
         if (S::logged() && $globals->asso()) {
             $sub = array();
-            $dim = $globals->asso('diminutif');
             $sub['présentation'] = "login/$dim/";
-            if (may_update() || (is_member()  && $globals->asso('pub') == 'public')
-                || $globals->asso('cat') == 'Promotions') {
+            if ($perms->hasFlag('groupannu')) {
                 $sub['annuaire du groupe'] = "$dim/annuaire";
                 $sub['trombinoscope'] = "$dim/trombi";
-                $sub['carte'] = "$dim/geoloc";
+                $sub['planisphère'] = "$dim/geoloc";
             }
-            if (is_member() || may_update()) {
+            if ($perms->hasFlag('groupmember')) {
                 if ($globals->asso('forum')) {
                     $sub['forum'] = "$dim/forum";
                 }
@@ -107,14 +96,14 @@ class XnetPage extends PlatalPage
                 }
             }
             $sub['événement'] = "$dim/events";
-            if (may_update() || is_member()) {
+            if ($perms->hasFlag('groupmember')) {
                 $sub['télépaiement'] = "$dim/payment";
             }
 
             $menu[$globals->asso('nom')] = $sub;
         }
 
-        if (S::logged() && may_update()) {
+        if ($globals->asso() && is_object($perms) && $perms->hasFlag('groupadmin')) {
             $sub = array();
             $sub['modifier l\'accueil'] = "$dim/edit";
             $sub['gérer les annonces'] = "$dim/admin/announces";