Bye xorg.misc.inc.php
[platal.git] / include / xorg.inc.php
index cb1fb37..0d46e8d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2004 Polytechnique.org                              *
+ *  Copyright (C) 2003-2008 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
  *  Foundation, Inc.,                                                      *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
-require_once('platal.inc.php');
-require_once('xorg/globals.inc.php');
-require_once('xorg/session.inc.php');
-XorgGlobals::init();
-XorgGlobals::setlocale();
-XorgSession::init();
 
-// {{{ function _new_page()
+define('PL_GLOBALS_CLASS', 'PlatalGlobals');
+define('PL_SESSION_CLASS', 'XorgSession');
+define('PL_PAGE_CLASS', 'XorgPage');
 
-function _new_page($type, $tpl_name, $min_auth, $admin=false)
-{
-    global $page,$globals;
-    require_once("xorg/page.inc.php");
-    if ($min_auth == AUTH_PUBLIC && Env::get('force_login') == '1')
-        $min_auth = AUTH_COOKIE;
-    if (!empty($admin)) {
-        $page = new XorgAdmin($tpl_name, $type);
-    } else switch($min_auth) {
-        case AUTH_PUBLIC:
-            $page = new XorgPage($tpl_name, $type);
-            break;
-
-        case AUTH_COOKIE:
-            $page = new XorgCookie($tpl_name, $type);
-            break;
+require_once dirname(dirname(__FILE__)) . '/core/include/platal.inc.php';
+require_once 'security.inc.php';
+require_once 'globals.inc.php';
+require_once 'xorg/session.inc.php';
 
-        case AUTH_MDP:
-            $page = new XorgAuth($tpl_name, $type);
+function __autoload($cls)
+{
+    if (!pl_autoload($cls)) {
+        if (substr($cls, -3, 3) == 'req') {
+            @include 'validations.inc.php';
+            return;
+        } else if (substr($cls, 0, 6) == 'banana') {
+            require_once 'banana/banana.inc.php';
+            Banana::load(substr($cls, 6));
+            return;
+        }
+        @include "$cls.inc.php";
     }
-
-    $page->assign('xorg_tpl', $tpl_name);
 }
 
-// }}}
-function new_identification_page()
-{
-    _new_page(SKINNED, '', AUTH_MDP);
-}
-// {{{ function new_skinned_page()
+/******************************************************************************
+ * Dynamic configuration update/edition stuff
+ *****************************************************************************/
 
-function new_skinned_page($tpl_name, $min_auth)
+function update_NbIns()
 {
-    _new_page(SKINNED, $tpl_name, $min_auth);
+    global $globals;
+    $res = XDB::query("SELECT  COUNT(*)
+                         FROM  auth_user_md5
+                        WHERE  perms IN ('admin','user') AND deces=0");
+    $cnt = $res->fetchOneCell();
+    $globals->changeDynamicConfig(array('NbIns' => $cnt));
 }
 
-// }}}
-// {{{ function new_simple_page()
-
-function new_simple_page($tpl_name, $min_auth)
+function update_NbValid()
 {
-    global $page;
-    _new_page(SKINNED, $tpl_name, $min_auth);
-    $page->assign('simple', true);
+    global $globals;
+    $res = XDB::query("SELECT  COUNT(*)
+                         FROM  requests");
+    $globals->changeDynamicConfig(array('NbValid' => $res->fetchOneCell()));
 }
 
-// }}}
-// {{{ function new_nonhtml_page()
-
-function new_nonhtml_page($tpl_name, $min_auth)
+function update_NbNotifs()
 {
-    _new_page(NO_SKIN, $tpl_name, $min_auth, false);
+    require_once 'notifs.inc.php';
+    $n = select_notifs(false, S::i('uid'), S::v('watch_last'), false);
+    $_SESSION['notifs'] = $n->numRows();
 }
 
-// }}}
-// {{{ function new_admin_page()
 
-function new_admin_page($tpl_name)
-{
-    _new_page(SKINNED, $tpl_name, AUTH_MDP, true);
-}
 
-// }}}
-// {{{ function new_admin_table_editor()
+// {{{ class XorgPage
 
-function new_admin_table_editor($table, $idfield, $idedit=false)
+class XorgPage extends PlPage
 {
-    array_walk($_GET, 'unfix_gpc_magic');
-    array_walk($_POST, 'unfix_gpc_magic');
-    array_walk($_REQUEST, 'unfix_gpc_magic');
+    public function __construct()
+    {
+        parent::__construct();
 
-    global $editor;
-    new_admin_page('table-editor.tpl');
-    require_once('xorg.table-editor.inc.php');
-    $editor = new XOrgAdminTableEditor($table,$idfield,$idedit);
-}
+        // Set the default page
+        $this->changeTpl('platal/index.tpl');
+    }
 
-// }}}
+    public function run()
+    {
+        global $globals, $platal;
+        if (isset($platal) && $platal->path == 'register') {
+            $skin = $globals->register_skin . ".tpl";
+        } else {
+            $skin = S::v('skin', $globals->skin . ".tpl");
+        }
+        $this->_run('skin/' . $skin);
+    }
+}
 
-// 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:
 ?>