move globals.inc.php into include, no more include/platal \o/
[platal.git] / include / xorg.inc.php
index 6b211ed..e26b20c 100644 (file)
  *  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('globals.inc.php');
 require_once('xorg/session.inc.php');
-XorgGlobals::init();
-XorgGlobals::setlocale();
+$globals = new PlatalGlobals('XorgSession');
 XorgSession::init();
 
-// {{{ function _new_page()
+require_once dirname(__FILE__).'/../classes/Page.php';
 
-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;
+// {{{ class XorgPage
 
-        case AUTH_COOKIE:
-            $page = new XorgCookie($tpl_name, $type);
-            break;
-
-        case AUTH_MDP:
-            $page = new XorgAuth($tpl_name, $type);
+class XorgPage extends PlatalPage
+{
+    function XorgPage($tpl, $type = SKINNED)
+    {
+        $this->PlatalPage($tpl, $type);
     }
 
-    $page->assign('xorg_tpl', $tpl_name);
+    function run()
+    {
+        global $globals;
+        $this->assign('globals', $globals);
+        $this->_run('skin/'.S::v('skin', 'default.tpl'));
+    }
 }
 
 // }}}
-function new_identification_page()
-{
-    _new_page(SKINNED, '', AUTH_MDP);
-}
-// {{{ function new_skinned_page()
+// {{{ class XorgAdmin
 
-function new_skinned_page($tpl_name, $min_auth)
+/** Une classe pour les pages réservées aux admins (authentifiés!).
+ */
+class XorgAdmin extends XorgPage
 {
-    _new_page(SKINNED, $tpl_name, $min_auth);
+    // {{{ function XorgAdmin()
+
+    function XorgAdmin($tpl, $type = SKINNED)
+    {
+        $this->XorgPage($tpl, $type);
+        check_perms();
+    }
+
+    // }}}
 }
 
 // }}}
-// {{{ function new_simple_page()
 
-function new_simple_page($tpl_name, $min_auth)
+function _new_page($type, $tpl_name, $admin=false)
 {
     global $page;
-    _new_page(SKINNED, $tpl_name, $min_auth);
-    $page->assign('simple', true);
+    if (!empty($admin)) {
+        $page = new XorgAdmin($tpl_name, $type);
+    } else {
+        $page = new XorgPage($tpl_name, $type);
+    }
+
+    $page->assign('xorg_tpl', $tpl_name);
 }
 
-// }}}
-// {{{ function new_nonhtml_page()
+// {{{ function new_skinned_page()
 
-function new_nonhtml_page($tpl_name, $min_auth)
+function new_skinned_page($tpl_name)
 {
-    _new_page(NO_SKIN, $tpl_name, $min_auth, false);
+    _new_page(SKINNED, $tpl_name);
 }
 
 // }}}
@@ -86,22 +88,7 @@ function new_nonhtml_page($tpl_name, $min_auth)
 
 function new_admin_page($tpl_name)
 {
-    _new_page(SKINNED, $tpl_name, AUTH_MDP, true);
-}
-
-// }}}
-// {{{ function new_admin_table_editor()
-
-function new_admin_table_editor($table, $idfield, $idedit=false)
-{
-    array_walk($_GET, 'unfix_gpc_magic');
-    array_walk($_POST, 'unfix_gpc_magic');
-    array_walk($_REQUEST, 'unfix_gpc_magic');
-
-    global $editor;
-    new_admin_page('table-editor.tpl');
-    require_once('xorg.table-editor.inc.php');
-    $editor = new XOrgAdminTableEditor($table,$idfield,$idedit);
+    _new_page(SKINNED, $tpl_name, true);
 }
 
 // }}}