X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fxnet%2Fpage.inc.php;h=525890339702adb206958de9280664be5692a017;hb=e336465e05bbca91fd0eb3f5b4c27f1391529f98;hp=2449623570c4ab051cf764de5a262b6c768631d0;hpb=71fe935c7d548595482e912fff605cd7a0390708;p=platal.git diff --git a/include/xnet/page.inc.php b/include/xnet/page.inc.php index 2449623..5258903 100644 --- a/include/xnet/page.inc.php +++ b/include/xnet/page.inc.php @@ -19,10 +19,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ***************************************************************************/ -require_once('platal/page.inc.php'); -require_once('xnet/smarty.plugins.inc.php'); - -// {{{ class XnetPage +require_once dirname(__FILE__).'/../../classes/Page.php'; class XnetPage extends PlatalPage { @@ -31,6 +28,14 @@ class XnetPage extends PlatalPage function XnetPage($tpl, $type=SKINNED) { $this->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(); + } } // }}} @@ -58,73 +63,94 @@ class XnetPage extends PlatalPage $menu = array(); + if (S::logged()) { + $sub = array(); + $sub['déconnexion'] = 'exit'; + $menu['no_title'] = $sub; + } + $sub = array(); $sub['accueil'] = ''; $sub['liste des groupes'] = 'plan'; - if (logged()) { - if (has_perms()) { - $sub['admin X.net'] = 'admin.php'; - } - $sub['déconnexion'] = 'exit'; - } + $sub['documentation'] = 'Xnet'; $menu["Menu Principal"] = $sub; - if (logged() && (is_member() || may_update())) { + if (S::logged() && (is_member() || may_update())) { $sub = array(); $dim = $globals->asso('diminutif'); - $sub['présentation'] = "$dim/asso.php"; + $sub['présentation'] = "$dim/"; if (may_update() || $globals->asso('pub') == 'public') { - $sub['annuaire du groupe'] = "$dim/annuaire.php"; - if ($globals->xnet->geoloc) - $sub['carte'] = "$dim/geoloc.php"; + $sub['annuaire du groupe'] = "$dim/annuaire"; + $sub['carte'] = "$dim/geoloc"; } if ($globals->asso('mail_domain')) { - $sub['listes de diffusion'] = "$dim/listes.php"; - } - $sub['événement'] = "$dim/evenements.php"; - if (false) { - $sub['carnet'] = "$dim/carnet.php"; + $sub['listes de diffusion'] = "$dim/lists"; + $sub['envoyer un mail'] = "$dim/mail"; } - $sub['télépaiement'] = "$dim/telepaiement.php"; + $sub['événement'] = "$dim/events"; + $sub['télépaiement'] = "$dim/paiement"; $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"; 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['créer une liste'] = "$dim/lists/create"; + $sub['créer un alias'] = "$dim/alias/create"; } - $menu['Administrer Groupe'] = $sub; + if (S::has_perms()) { + $sub['gérer les groupes'] = 'admin'; + } + $menu['Administrer'] = $sub; + } elseif (S::has_perms()) { + $sub = array(); + $sub['gérer les groupes'] = 'admin'; + $menu['Administrer'] = $sub; } $this->assign('menu', $menu); } // }}} - // {{{ function doAuth() +} - function doAuth($force = false) - { - $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() && $force) { - $_SESSION['session']->doLogin($this); - } - if (!logged() && Get::has('auth')) { - $_SESSION['session']->doAuthX($this); - } +// {{{ function list_all_my_groups + +function list_all_my_groups($params) +{ + if (!S::logged()) { + return; + } + $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')); + $html = '
Mes groupes :
'; + while (list($nom, $mini) = $res->next()) { + $html .= "• $nom"; } + return $html; +} - // }}} +// }}} +// {{{ cat_pp + +function cat_pp($cat) +{ + $trans = array( + 'groupesx' => 'Groupes X' , + 'binets' => 'Binets' , + 'institutions' => 'Institutions' , + 'promotions' => 'Promotions' + ); + + return $trans[strtolower($cat)]; } // }}} + // vim:set et sw=4 sts=4 sws=4 foldmethod=marker: ?>