Catch remote forking errors and display them
[phorkie.git] / www / www-header.php
index 96cd481829ac43a2e5c002d537253505f309269c..1d59b1c4feb7447628bd0e3f278946b62b090225 100644 (file)
@@ -1,8 +1,6 @@
 <?php
 namespace phorkie;
-if (session_id() == "") {
-    session_start();
-}
+session_start();
 
 set_include_path(
     __DIR__ . '/../src/'
@@ -70,11 +68,28 @@ $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());
 
-function render($tplname, $vars)
+if (!isset($noSecurityCheck) || $noSecurityCheck !== true) {
+    require __DIR__ . '/www-security.php';
+}
+
+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'])) {
@@ -83,6 +98,9 @@ function render($tplname, $vars)
         $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);