use sesion_write_close before redirects ... should solve some login problems user...
[platal.git] / include / xorg.inc.php
CommitLineData
0337d704 1<?php
2/***************************************************************************
3 * Copyright (C) 2003-2004 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
22require_once('platal.inc.php');
23require_once('xorg/globals.inc.php');
24require_once('xorg/session.inc.php');
25XorgGlobals::init();
26XorgGlobals::setlocale();
27XorgSession::init();
28
29// {{{ function _new_page()
30
31function _new_page($type, $tpl_name, $min_auth, $admin=false)
32{
33 global $page,$globals;
34 require_once("xorg/page.inc.php");
35 if (!empty($admin)) {
36 $page = new XorgAdmin($tpl_name, $type);
37 } else switch($min_auth) {
38 case AUTH_PUBLIC:
39 $page = new XorgPage($tpl_name, $type);
40 break;
41
42 case AUTH_COOKIE:
43 $page = new XorgCookie($tpl_name, $type);
44 break;
45
46 case AUTH_MDP:
47 $page = new XorgAuth($tpl_name, $type);
48 }
49
50 $page->assign('xorg_tpl', $tpl_name);
51}
52
53// }}}
54// {{{ function new_skinned_page()
55
56function new_skinned_page($tpl_name, $min_auth)
57{
58 _new_page(SKINNED, $tpl_name, $min_auth);
59}
60
61// }}}
62// {{{ function new_simple_page()
63
64function new_simple_page($tpl_name, $min_auth)
65{
66 global $page;
67 _new_page(SKINNED, $tpl_name, $min_auth);
68 $page->assign('simple', true);
69}
70
71// }}}
72// {{{ function new_nonhtml_page()
73
74function new_nonhtml_page($tpl_name, $min_auth)
75{
76 _new_page(NO_SKIN, $tpl_name, $min_auth, false);
77}
78
79// }}}
80// {{{ function new_admin_page()
81
82function new_admin_page($tpl_name)
83{
84 _new_page(SKINNED, $tpl_name, AUTH_MDP, true);
85}
86
87// }}}
88// {{{ function new_admin_table_editor()
89
90function new_admin_table_editor($table, $idfield, $idedit=false)
91{
92 array_walk($_GET, 'unfix_gpc_magic');
93 array_walk($_POST, 'unfix_gpc_magic');
94 array_walk($_REQUEST, 'unfix_gpc_magic');
95
96 global $editor;
97 new_admin_page('table-editor.tpl');
98 require_once('xorg.table-editor.inc.php');
99 $editor = new XOrgAdminTableEditor($table,$idfield,$idedit);
100}
101
102// }}}
fa36e526 103// {{{ function redirect
104
105function redirect($page)
106{
107 if (count($_SESSION)) {
108 session_write_close();
109 }
110 header("Location: $page");
111 exit;
112}
113
114// }}}
0337d704 115
116// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
117?>