X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/6d0777840e50ce98f3d96629b4e92bbdccd3001c..ca956a5a5758b8514f15c4828bf26a11a7b66032:/www/www-header.php diff --git a/www/www-header.php b/www/www-header.php index 28607da..9aa8732 100644 --- a/www/www-header.php +++ b/www/www-header.php @@ -1,36 +1,97 @@ httpStatusCode); + } else { + header('HTTP/1.0 500 Internal server error'); + } + + if (!isset($GLOBALS['twig'])) { + echo '

Exception

'; + echo '

' . $e->getMessage() . '

'; + exit(); + } + + render( + 'exception', + array( + 'exception' => $e, + 'debug' => $GLOBALS['phorkie']['cfg']['debug'] + ) + ); + exit(); + } +); + require_once __DIR__ . '/../data/config.default.php'; -require_once 'VersionControl/Git.php'; -require_once 'Twig/Autoloader.php'; -Twig_Autoloader::register(); +if (file_exists(__DIR__ . '/../data/config.php')) { + require_once __DIR__ . '/../data/config.php'; +} +if ($GLOBALS['phorkie']['cfg']['setupcheck']) { + SetupCheck::run(); +} -$loader = new Twig_Loader_Filesystem($GLOBALS['phorkie']['cfg']['tpl']); -$twig = new Twig_Environment( +// 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']); +$twig = new \Twig_Environment( $loader, array( //'cache' => '/path/to/compilation_cache', '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); } function redirect($target) { - header('Location: /' . $target); + header('Location: ' . $target); exit(); } -function errout($statusCode, $message) -{ - header('HTTP/1.0 ' . $statusCode); - echo $message; - exit(); -} -function get_type_from_file($file) -{ - return substr($file, strrpos($file, '.') + 1); -} -?> \ No newline at end of file +?>