UTF-8 fixes
[platal.git] / include / xnet.inc.php
index 6b58906..d3c169b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2007 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -20,7 +20,7 @@
  ***************************************************************************/
 
 require_once('platal.inc.php');
-require_once('platal/globals.inc.php');
+require_once('globals.inc.php');
 require_once('xnet/session.inc.php');
 $globals = new PlatalGlobals('XnetSession');
 XnetSession::init();
@@ -33,6 +33,7 @@ function new_page($tpl_name, $type = SKINNED)
     require_once("xnet/page.inc.php");
     $page = new XnetPage($tpl_name, $type);
     $page->assign('xorg_tpl', $tpl_name);
+    $page->assign('is_logged', S::logged());
 }
 
 function new_skinned_page($tpl_name)
@@ -41,21 +42,30 @@ function new_skinned_page($tpl_name)
 }
 
 // }}}
-// {{{ function new_group_page()
+// {{{ function new_group_open_page()
 
-function new_group_page($tpl_name)
+function new_group_open_page($tpl_name, $refuse_access = false)
 {
     global $page, $globals;
 
     new_page($tpl_name);
 
-    if (!is_member() && !S::has_perms()) {
-        $page->kill("You have not sufficient credentials");
-    }
-
-    $page->useMenu();
     $page->assign('asso', $globals->asso());
     $page->setType($globals->asso('cat'));
+    $page->assign('is_admin', may_update());
+    $page->assign('is_member', is_member());
+
+    if ($refuse_access) {
+        $page->kill("Vous n'avez pas les droits suffisants pour accéder à cette page");
+    }
+}
+
+// }}}
+// {{{ function new_group_page()
+
+function new_group_page($tpl_name)
+{
+    new_group_open_page($tpl_name, !is_member() && !S::has_perms());
 }
 
 // }}}
@@ -63,17 +73,19 @@ function new_group_page($tpl_name)
 
 function new_groupadmin_page($tpl_name)
 {
-    global $page, $globals;
-
-    new_page($tpl_name);
+    new_group_open_page($tpl_name, !may_update());
+}
 
-    if (!may_update()) {
-        $page->kill("You have not sufficient credentials");
-    }
+// }}}
+// {{{ function new_annu_page()
 
-    $page->useMenu();
-    $page->assign('asso', $globals->asso());
-    $page->setType($globals->asso('cat'));
+function new_annu_page($tpl_name)
+{
+    global $globals;
+    new_group_open_page($tpl_name, 
+                            !may_update()
+                            && (!is_member()  || $globals->asso('pub') != 'public')
+                            && $globals->asso('cat') != 'Promotions');
 }
 
 // }}}
@@ -87,7 +99,6 @@ function new_admin_page($tpl_name)
 
     check_perms();
 
-    $page->useMenu();
     if ($globals->asso('cat')) {
         $page->assign('asso', $globals->asso());
         $page->setType($globals->asso('cat'));
@@ -95,5 +106,6 @@ function new_admin_page($tpl_name)
 }
 
 // }}}
-// 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:
 ?>