X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fxnet%2Fpage.inc.php;h=8e19fa2bb4a878e8dede63b0c6d4fed06418e94f;hb=2d967f8c610f8330b31f73443bc1c14f08648d30;hp=6fd7c7a273dffedc18d1f709ce261a8b79cff5d1;hpb=0df3edb9fd85fb750c47cee19a3a6b66f370cc97;p=platal.git diff --git a/include/xnet/page.inc.php b/include/xnet/page.inc.php index 6fd7c7a..8e19fa2 100644 --- a/include/xnet/page.inc.php +++ b/include/xnet/page.inc.php @@ -1,6 +1,6 @@ PlatalPage($tpl, $type); + + $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(); + } } // }}} @@ -38,6 +43,9 @@ class XnetPage extends PlatalPage function run() { + if (!$this->nomenu) { + $this->useMenu(); + } $this->_run('xnet/skin.tpl'); } @@ -59,171 +67,95 @@ class XnetPage extends PlatalPage $menu = array(); $sub = array(); - $sub['accueil'] = 'index.php'; - $sub['liste des groupes'] = 'plan.php'; - if (logged()) { - if (has_perms()) { - $sub['admin X.net'] = 'admin.php'; - } - $sub['déconnexion'] = 'deconnexion.php'; - } - $menu["Menu Principal"] = $sub; - - if (logged() && (is_member() || may_update())) { + $sub['liste des groupes'] = 'plan'; + $sub['documentation'] = 'Xnet'; + $sub['signaler un bug'] = array('href' => 'send_bug', 'class' => 'popup_840x600'); + $menu["no_title"] = $sub; + + if (S::logged() && $globals->asso()) { $sub = array(); $dim = $globals->asso('diminutif'); - $sub['présentation'] = "$dim/asso.php"; - if (may_update() || $globals->asso('pub') == 'public') - $sub['annuaire du groupe'] = "$dim/annuaire.php"; - if ($globals->asso('mail_domain')) { - $sub['listes de diffusion'] = "$dim/listes.php"; + $sub['présentation'] = "login/$dim/"; + if (may_update() || (is_member() && $globals->asso('pub') == 'public') + || $globals->asso('cat') == 'Promotions') { + $sub['annuaire du groupe'] = "$dim/annuaire"; + $sub['trombinoscope'] = "$dim/trombi"; + $sub['carte'] = "$dim/geoloc"; } - $sub['événement'] = "$dim/evenements.php"; - if (false) { - $sub['carnet'] = "$dim/carnet.php"; + if ((is_member() || may_update()) && $globals->asso('mail_domain')) { + $sub['listes de diffusion'] = "$dim/lists"; + } + $sub['événement'] = "$dim/events"; + if (may_update() || is_member()) { + $sub['télépaiement'] = "$dim/payment"; } - $sub['télépaiement'] = "$dim/telepaiement.php"; $menu[$globals->asso('nom')] = $sub; } - if (logged() && may_update()) { + if (S::logged() && may_update()) { $sub = array(); - $sub['modifier l\'accueil'] = "$dim/edit.php"; - if ($globals->wiki->wikidir && $globals->xnet->wiki) - $sub['wiki'] = "$dim/Accueil"; + $sub['modifier l\'accueil'] = "$dim/edit"; + $sub['gérer les annonces'] = "$dim/admin/announces"; if ($globals->asso('mail_domain')) { - $sub['envoyer un mail'] = "$dim/mail.php"; - $sub['créer une liste'] = "$dim/listes-create.php"; - $sub['créer un alias'] = "$dim/alias-create.php"; + $sub['envoyer un mail'] = "$dim/mail"; + $sub['créer une liste'] = "$dim/lists/create"; + $sub['créer un alias'] = "$dim/alias/create"; + } + if (S::has_perms()) { + $sub['gérer les groupes'] = array('href' => 'admin', 'style' => 'color: gray;'); + $sub['clear cache'] = array('href' => 'purge_cache', 'style' => 'color: gray;'); } - $menu['Administrer Groupe'] = $sub; + $menu['Administrer'] = $sub; + } elseif (S::has_perms()) { + $sub = array(); + $sub['gérer les groupes'] = 'admin'; + $sub['clear cache'] = 'purge_cache'; + $menu['Administrer'] = $sub; } $this->assign('menu', $menu); } // }}} - // {{{ function doAuth() - - function doAuth() - { - $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 (!logged() && Get::has('auth')) { - $_SESSION['session']->doAuthX($this); - } - } - - // }}} } -// }}} -// {{{ class XnetAuth +// {{{ function list_all_my_groups -/** Une classe pour les pages nécessitant l'authentification. - * (equivalent de controlauthentification.inc.php) - */ -class XnetAuth extends XnetPage +function list_all_my_groups($params) { - // {{{ function XnetAuth() - - function XnetAuth($tpl, $type=SKINNED) - { - $this->XnetPage($tpl, $type); + if (!S::logged()) { + return; } - - // }}} - // {{{ function doAuth() - - function doAuth() - { - parent::doAuth(); - $_SESSION['session']->doAuth($this); - } - - // }}} -} - -// }}} -// {{{ class XnetAdmin - -/** Une classe pour les pages réservées aux admins (authentifiés!). - */ -class XnetAdmin extends XnetAuth -{ - // {{{ function XnetAdmin() - - function XnetAdmin($tpl, $type=SKINNED) - { - global $globals; - - $this->XnetAuth($tpl, $type); - check_perms(); - - $this->useMenu(); - if ($globals->asso('cat')) { - $this->assign('asso', $globals->asso()); - $this->setType($globals->asso('cat')); - } + $res = XDB::iterRow( + "SELECT a.nom, a.diminutif + FROM groupex.asso AS a + INNER JOIN groupex.membres AS m ON m.asso_id = a.id + WHERE m.uid={?}", S::v('uid')); + $links = 'déconnexion'; + $html = '
Mes groupes (' . $links . ') :
'; + while (list($nom, $mini) = $res->next()) { + $html .= "$nom"; } - - // }}} + return $html; } // }}} -// {{{ class XnetGroupPage +// {{{ cat_pp -/** Une classe pour les pages réservées aux admins (authentifiés!). - */ -class XnetGroupPage extends XnetAuth +function cat_pp($cat) { - // {{{ function XnetAdmin() - - function XnetGroupPage($tpl, $type=SKINNED) - { - global $globals; - - $this->XnetAuth($tpl, $type); - if (!is_member() && !has_perms()) { - $this->kill("You have not sufficient credentials"); - } - - $this->useMenu(); - $this->assign('asso', $globals->asso()); - $this->setType($globals->asso('cat')); - } - - // }}} + $trans = array( + 'groupesx' => 'Groupes X' , + 'binets' => 'Binets' , + 'institutions' => 'Institutions' , + 'promotions' => 'Promotions' + ); + + return $trans[strtolower($cat)]; } // }}} -// {{{ class XnetGroupAdmin - -/** Une classe pour les pages réservées aux admins (authentifiés!). - */ -class XnetGroupAdmin extends XnetAuth -{ - // {{{ function XnetAdmin() - - function XnetGroupAdmin($tpl, $type=SKINNED) - { - global $globals; - - $this->XnetAuth($tpl, $type); - if (!may_update()) { - $this->kill("You have not sufficient credentials"); - } - - $this->useMenu(); - $this->assign('asso', $globals->asso()); - $this->setType($globals->asso('cat')); - } - - // }}} -} -// }}} -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>