X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/39e0a6893c7f5c31cdbc89633c37525fd62bac46..19f1b5d2a1730f8e37c8fc5585d30b99e70a8575:/www/www-header.php diff --git a/www/www-header.php b/www/www-header.php index 0fd3c79..833fb8a 100644 --- a/www/www-header.php +++ b/www/www-header.php @@ -1,19 +1,10 @@ Exception'; + echo '

' . $e->getMessage() . '

'; + echo "\n"; + exit(); + } + render( 'exception', array( @@ -33,11 +32,41 @@ set_exception_handler( ); require_once __DIR__ . '/../data/config.default.php'; -if (file_exists(__DIR__ . '/../data/config.php')) { - require_once __DIR__ . '/../data/config.php'; +$pharFile = \Phar::running(); +if ($pharFile == '') { + $cfgFilePath = __DIR__ . '/../data/config.php'; +} else { + //remove phar:// from the path + $cfgFilePath = substr($pharFile, 7) . '.config.php'; +} +$GLOBALS['phorkie']['cfgfiles'][$cfgFilePath] = false; +$GLOBALS['phorkie']['suggestSetupCheck'] = false; +if (file_exists($cfgFilePath)) { + $GLOBALS['phorkie']['cfgfiles'][$cfgFilePath] = true; + require_once $cfgFilePath; +} else if ($GLOBALS['phorkie']['cfg']['setupcheck']) { + $GLOBALS['phorkie']['suggestSetupCheck'] = true; +} + +if ($GLOBALS['phorkie']['cfg']['baseurl'] === null) { + $GLOBALS['phorkie']['cfg']['baseurl'] = Tools::detectBaseUrl(); + if (substr($GLOBALS['phorkie']['cfg']['git']['public'], 0, 9) == '%BASEURL%') { + //make autoconfig work + $GLOBALS['phorkie']['cfg']['git']['public'] = Tools::fullUrlNoPhar( + substr($GLOBALS['phorkie']['cfg']['git']['public'], 9) + ); + } } -require_once 'VersionControl/Git.php'; -require_once 'Twig/Autoloader.php'; + +// 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,12 +77,44 @@ $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) { + require __DIR__ . '/www-security.php'; +} -function render($tplname, $vars) +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']; + } else if (isset($_COOKIE['lastopenid']) + && !isset($_COOKIE['tried-autologin']) + ) { + $vars['autologin'] = true; + } + $vars['db'] = new Database(); + if (!isset($vars['htmlhelper'])) { + $vars['htmlhelper'] = new HtmlHelper(); + } + $vars['suggestSetupCheck'] = $GLOBALS['phorkie']['suggestSetupCheck']; $template = $GLOBALS['twig']->loadTemplate($tplname . '.htm'); echo $template->render($vars); @@ -63,4 +124,4 @@ function redirect($target) header('Location: ' . $target); exit(); } -?> \ No newline at end of file +?>