Moving to GitHub.
[platal.git] / include / common.inc.php
1 <?php
2 /***************************************************************************
3 * Copyright (C) 2003-2014 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 xorg_autoload($cls)
23 {
24 if (!pl_autoload($cls)) {
25 $cls = strtolower($cls);
26 if (substr($cls, 0, 4) == 'ufc_' || substr($cls, 0, 4) == 'ufo_' || $cls == 'profilefilter' || $cls == 'userfiltercondition' || $cls == 'userfilterorder') {
27 xorg_autoload('userfilter');
28 return;
29 } else if (substr($cls, 0, 4) == 'pfc_'
30 || substr($cls, 0, 4) == 'pfo_'
31 || substr($cls, 0, 8) == 'plfilter') {
32 xorg_autoload('plfilter');
33 return;
34 } else if ($cls == 'direnumeration' || substr($cls, 0, 3) == 'de_') {
35 xorg_autoload('direnum');
36 return;
37 } else if ($cls == 'validate' || substr($cls, -3, 3) == 'req'
38 || substr($cls, -8, 8) == 'validate' || substr($cls, 0, 8) == 'validate') {
39 require_once 'validations.inc.php';
40 return;
41 } else if (substr($cls, 0, 6) == 'banana') {
42 require_once 'banana/hooks.inc.php';
43 Banana::load(substr($cls, 6));
44 return;
45 } else if (substr($cls, 0, 5) == 'raven') {
46 // Handled by Raven autoloader.
47 return;
48 }
49 include "$cls.inc.php";
50 }
51 }
52
53 function __autoload($cls)
54 {
55 return xorg_autoload($cls);
56 }
57
58 spl_autoload_register('xorg_autoload');
59
60 // vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
61 ?>