<?php
/***************************************************************************
- * Copyright (C) 2003-2007 Polytechnique.org *
+ * Copyright (C) 2003-2008 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-require_once('platal.inc.php');
-require_once('globals.inc.php');
-require_once('xorg/session.inc.php');
-$globals = new PlatalGlobals('XorgSession');
-XorgSession::init();
+define('PL_GLOBALS_CLASS', 'PlatalGlobals');
+define('PL_SESSION_CLASS', 'XorgSession');
+define('PL_PAGE_CLASS', 'XorgPage');
-// {{{ class XorgPage
+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';
-class XorgPage extends PlatalPage
+function __autoload($cls)
{
- function XorgPage($tpl, $type = SKINNED)
- {
- $this->PlatalPage($tpl, $type);
- }
-
- function run()
- {
- global $globals, $platal;
- $this->assign('globals', $globals);
- if (isset($platal) && $platal->path == 'register') {
- $skin = 'register.tpl';
- } else {
- $skin = S::v('skin', 'default.tpl');
+ 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;
}
- $this->_run('skin/' . $skin);
+ @include "$cls.inc.php";
}
}
-// }}}
-// {{{ class XorgAdmin
+/******************************************************************************
+ * Dynamic configuration update/edition stuff
+ *****************************************************************************/
-/** Une classe pour les pages réservées aux admins (authentifiés!).
- */
-class XorgAdmin extends XorgPage
+function update_NbIns()
{
- // {{{ function XorgAdmin()
-
- function XorgAdmin($tpl, $type = SKINNED)
- {
- $this->XorgPage($tpl, $type);
- check_perms();
- }
-
- // }}}
+ 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_page($type, $tpl_name, $admin=false)
+function update_NbValid()
{
- global $page;
- if (!empty($admin)) {
- $page = new XorgAdmin($tpl_name, $type);
- } else {
- $page = new XorgPage($tpl_name, $type);
- }
-
- $page->assign('xorg_tpl', $tpl_name);
+ global $globals;
+ $res = XDB::query("SELECT COUNT(*)
+ FROM requests");
+ $globals->changeDynamicConfig(array('NbValid' => $res->fetchOneCell()));
}
-// {{{ function new_skinned_page()
-
-function new_skinned_page($tpl_name)
+function update_NbNotifs()
{
- _new_page(SKINNED, $tpl_name);
+ 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)
+
+// {{{ class XorgPage
+
+class XorgPage extends PlPage
{
- _new_page(SKINNED, $tpl_name, true);
-}
+ public function __construct()
+ {
+ parent::__construct();
+
+ // 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 enc=utf-8:
?>