various fixes for php5.
[platal.git] / include / platal.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 function microtime_float()
23 {
24 list($usec, $sec) = explode(' ', microtime());
25 return ((float)$usec + (float)$sec);
26 }
27 $TIME_BEGIN = microtime_float();
28
29 define('AUTH_PUBLIC', 0);
30 define('AUTH_COOKIE', 1);
31 define('AUTH_MDP', 2);
32
33 define('PERMS_EXT', 'ext');
34 define('PERMS_USER', 'user');
35 define('PERMS_ADMIN', 'admin');
36
37 define('SKINNED', 0);
38 define('SIMPLE', 1);
39 define('NO_SKIN', 2);
40
41 require dirname(dirname(__FILE__)).'/classes/env.php';
42
43 function __autoload($cls)
44 {
45 @include dirname(dirname(__FILE__)).'/classes/'.strtolower($cls).'.php';
46 }
47
48 function pl_url($path, $query = null, $fragment = null)
49 {
50 global $platal;
51
52 $base = $platal->ns . $path . ($query ? '?'.$query : '');
53 return $fragment ? $base.'#'.$fragment : $base;
54 }
55
56 function pl_self($n = null) {
57 global $platal;
58 return $platal->pl_self($n);
59 }
60
61 function http_redirect($fullurl)
62 {
63 if (count($_SESSION)) {
64 session_write_close();
65 }
66 header('Location: '.$fullurl);
67 exit;
68 }
69
70 function pl_redirect($path, $query = null, $fragment = null)
71 {
72 global $globals;
73 http_redirect($globals->baseurl . '/' . pl_url($path, $query, $fragment));
74 }
75
76 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
77 ?>