X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/6d0777840e50ce98f3d96629b4e92bbdccd3001c..83a87530ac660a7d71f3d86ef93dc896d878696f:/www/www-header.php diff --git a/www/www-header.php b/www/www-header.php index 28607da..1d59b1c 100644 --- a/www/www-header.php +++ b/www/www-header.php @@ -1,36 +1,113 @@ 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(); +} + +// 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']; +} -$loader = new Twig_Loader_Filesystem($GLOBALS['phorkie']['cfg']['tpl']); -$twig = new Twig_Environment( +\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->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'])) { + $vars['identity'] = $_SESSION['identity']; + $vars['name'] = $_SESSION['name']; + $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); } 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 +?>