2006 => 2007 Happy New Year\!
[platal.git] / include / platal.inc.php
index 8ad7bf9..5606f04 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2007 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -26,6 +26,8 @@ function microtime_float()
 }
 $TIME_BEGIN = microtime_float();
 
+date_default_timezone_set('Europe/Paris');
+
 define('AUTH_PUBLIC', 0);
 define('AUTH_COOKIE', 1);
 define('AUTH_MDP',    2);
@@ -38,7 +40,68 @@ define('SKINNED', 0);
 define('SIMPLE',  1);
 define('NO_SKIN', 2);
 
-require_once dirname(__FILE__).'/../classes/Env.php';
+define('NO_AUTH', 0);
+define('DO_AUTH', 1);
+
+function __autoload($cls)
+{
+    @include dirname(dirname(__FILE__)).'/classes/'.strtolower($cls).'.php';
+}
+__autoload('Env');
+
+function pl_error_handler($errno, $errstr, $errfile, $errline)
+{
+    if (!error_reporting())
+        return;
+
+    $errortype = array (
+        E_ERROR           => "Error",
+        E_WARNING         => "Warning",
+        E_PARSE           => "Parsing Error",
+        E_NOTICE          => "Notice",
+        E_CORE_ERROR      => "Core Error",
+        E_CORE_WARNING    => "Core Warning",
+        E_COMPILE_ERROR   => "Compile Error",
+        E_COMPILE_WARNING => "Compile Warning",
+        E_USER_ERROR      => "User Error",
+        E_USER_WARNING    => "User Warning",
+        E_USER_NOTICE     => "User Notice",
+        E_STRICT          => "Runtime Notice"
+    );
+
+    global $globals;
+    if (!$globals->debug) {
+        if (strpos($errortype[$errno], 'Notice') !== false) {
+            return;
+        }
+    }
+
+    $errstr = htmlentities($errstr);
+    $GLOBALS['pl_errors'][] =
+        "<div class='phperror'>".
+        "<strong>{$errortype[$errno]}</strong> <em>$errstr</em><br />".
+        "<tt>$errfile : $errline</tt>".
+        "</div>";
+}
+
+function pl_dump_env()
+{
+    echo "<div class='phperror'><pre>";
+    echo "\nSESSION: "; var_export($_SESSION);
+    echo "\nPOST:    "; var_export($_POST);
+    echo "\nGET:     "; var_export($_GET);
+    echo "\nCOOKIE:  "; var_export($_COOKIE);
+    echo "</pre></div>";
+}
+
+function pl_print_errors()
+{
+    print join("\n", $GLOBALS['pl_errors']);
+}
+
+set_error_handler('pl_error_handler', E_ALL | E_STRICT);
+register_shutdown_function('pl_print_errors');
+// register_shutdown_function('pl_dump_env');
 
 function pl_url($path, $query = null, $fragment = null)
 {