use stream_resolve_include_path
[phorkie.git] / www / www-header.php
index 9aa873240aa2a3dff64a909f1c57b2c50e391f75..ef948e458782faa42996269236ab1c93618c71d5 100644 (file)
@@ -9,9 +9,7 @@ set_include_path(
 spl_autoload_register(
     function ($class) {
         $file = str_replace(array('\\', '_'), '/', $class) . '.php';
-        $hdl = @fopen($file, 'r', true);
-        if ($hdl !== false) {
-            fclose($hdl);
+        if (stream_resolve_include_path($file)) {
             require $file;
         }
     }
@@ -27,6 +25,7 @@ set_exception_handler(
         if (!isset($GLOBALS['twig'])) {
             echo '<h1>Exception</h1>';
             echo '<p>' . $e->getMessage() . '</p>';
+            echo "\n";
             exit();
         }
 
@@ -45,9 +44,6 @@ require_once __DIR__ . '/../data/config.default.php';
 if (file_exists(__DIR__ . '/../data/config.php')) {
     require_once __DIR__ . '/../data/config.php';
 }
-if ($GLOBALS['phorkie']['cfg']['setupcheck']) {
-    SetupCheck::run();
-}
 
 // Set/Get git commit session variables
 $_SESSION['ipaddr'] = $_SERVER['REMOTE_ADDR'];
@@ -68,6 +64,14 @@ $twig = new \Twig_Environment(
         'debug' => true
     )
 );
+$twig->addFunction('ntext', new \Twig_Function_Function('\phorkie\ntext'));
+function ntext($value, $singular, $plural)
+{
+    if (abs($value) == 1) {
+        return sprintf($singular, $value);
+    }
+    return sprintf($plural, $value);
+}
 //$twig->addExtension(new \Twig_Extension_Debug());
 
 if (!isset($noSecurityCheck) || $noSecurityCheck !== true) {
@@ -76,7 +80,12 @@ if (!isset($noSecurityCheck) || $noSecurityCheck !== true) {
 
 function render($tplname, $vars = array())
 {
+    $vars['baseurl'] = '/';
+    if (!empty($GLOBALS['phorkie']['cfg']['baseurl'])) {
+        $vars['baseurl'] = $GLOBALS['phorkie']['cfg']['baseurl'];
+    }
     $vars['css'] = $GLOBALS['phorkie']['cfg']['css'];
+    $vars['iconpng'] = $GLOBALS['phorkie']['cfg']['iconpng'];
     $vars['title'] = $GLOBALS['phorkie']['cfg']['title'];
     $vars['topbar'] = $GLOBALS['phorkie']['cfg']['topbar'];
     if (isset($_SESSION['identity'])) {
@@ -85,6 +94,9 @@ function render($tplname, $vars = array())
         $vars['email'] = $_SESSION['email'];
     }
     $vars['db'] = new Database();
+    if (!isset($vars['htmlhelper'])) {
+        $vars['htmlhelper'] = new HtmlHelper();
+    }
 
     $template = $GLOBALS['twig']->loadTemplate($tplname . '.htm');
     echo $template->render($vars);