Fix xnet skin when user tries to access a page he has not the right to use.
[platal.git] / include / xnet.inc.php
1 <?php
2 /***************************************************************************
3 * Copyright (C) 2003-2006 Polytechnique.org *
4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22 require_once('platal.inc.php');
23 require_once('globals.inc.php');
24 require_once('xnet/session.inc.php');
25 $globals = new PlatalGlobals('XnetSession');
26 XnetSession::init();
27
28 // {{{ function new_skinned_page()
29
30 function new_page($tpl_name, $type = SKINNED)
31 {
32 global $page, $globals;
33 require_once("xnet/page.inc.php");
34 $page = new XnetPage($tpl_name, $type);
35 $page->assign('xorg_tpl', $tpl_name);
36 }
37
38 function new_skinned_page($tpl_name)
39 {
40 return new_page($tpl_name);
41 }
42
43 // }}}
44 // {{{ function new_group_page()
45
46 function new_group_page($tpl_name)
47 {
48 global $page, $globals;
49
50 new_page($tpl_name);
51
52 $page->useMenu();
53 $page->assign('asso', $globals->asso());
54 $page->setType($globals->asso('cat'));
55
56 if (!is_member() && !S::has_perms()) {
57 $page->kill("Vous n'avez pas les droits suffisants pour accéder à cette page");
58 }
59 }
60
61 // }}}
62 // {{{ function new_groupadmin_page()
63
64 function new_groupadmin_page($tpl_name)
65 {
66 global $page, $globals;
67
68 new_page($tpl_name);
69
70 $page->useMenu();
71 $page->assign('asso', $globals->asso());
72 $page->setType($globals->asso('cat'));
73
74
75 if (!may_update()) {
76 $page->kill("Vous n'avez pas les droits suffisants pour accéder à cette page");
77 }
78 }
79
80 // }}}
81 // {{{ function new_admin_page()
82
83 function new_admin_page($tpl_name)
84 {
85 global $page, $globals;
86
87 new_page($tpl_name);
88
89 check_perms();
90
91 $page->useMenu();
92 if ($globals->asso('cat')) {
93 $page->assign('asso', $globals->asso());
94 $page->setType($globals->asso('cat'));
95 }
96 }
97
98 // }}}
99 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
100 ?>