Merge remote-tracking branch 'jnovack/markdown'
[phorkie.git] / www / www-header.php
index 756bdc97f936cabb95b0bfffae5c92c77c2fbd50..9aa873240aa2a3dff64a909f1c57b2c50e391f75 100644 (file)
@@ -1,5 +1,7 @@
 <?php
 namespace phorkie;
+session_start();
+
 set_include_path(
     __DIR__ . '/../src/'
     . PATH_SEPARATOR . get_include_path()
@@ -21,6 +23,13 @@ set_exception_handler(
         } else {
             header('HTTP/1.0 500 Internal server error');
         }
+
+        if (!isset($GLOBALS['twig'])) {
+            echo '<h1>Exception</h1>';
+            echo '<p>' . $e->getMessage() . '</p>';
+            exit();
+        }
+
         render(
             'exception',
             array(
@@ -36,8 +45,19 @@ require_once __DIR__ . '/../data/config.default.php';
 if (file_exists(__DIR__ . '/../data/config.php')) {
     require_once __DIR__ . '/../data/config.php';
 }
-require_once 'VersionControl/Git.php';
-require_once 'Twig/Autoloader.php';
+if ($GLOBALS['phorkie']['cfg']['setupcheck']) {
+    SetupCheck::run();
+}
+
+// Set/Get git commit session variables
+$_SESSION['ipaddr'] = $_SERVER['REMOTE_ADDR'];
+if (!isset($_SESSION['name'])) {
+    $_SESSION['name'] = $GLOBALS['phorkie']['auth']['anonymousName'];
+}
+if (!isset($_SESSION['email'])) {
+    $_SESSION['email'] = $GLOBALS['phorkie']['auth']['anonymousEmail'];
+}
+
 \Twig_Autoloader::register();
 
 $loader = new \Twig_Loader_Filesystem($GLOBALS['phorkie']['cfg']['tpl']);
@@ -48,11 +68,23 @@ $twig = new \Twig_Environment(
         'debug' => true
     )
 );
+//$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['css'] = $GLOBALS['phorkie']['cfg']['css'];
     $vars['title'] = $GLOBALS['phorkie']['cfg']['title'];
+    $vars['topbar'] = $GLOBALS['phorkie']['cfg']['topbar'];
+    if (isset($_SESSION['identity'])) {
+        $vars['identity'] = $_SESSION['identity'];
+        $vars['name'] = $_SESSION['name'];
+        $vars['email'] = $_SESSION['email'];
+    }
+    $vars['db'] = new Database();
 
     $template = $GLOBALS['twig']->loadTemplate($tplname . '.htm');
     echo $template->render($vars);
@@ -62,4 +94,4 @@ function redirect($target)
     header('Location: ' . $target);
     exit();
 }
-?>
\ No newline at end of file
+?>