X-Git-Url: https://git.cweiske.de/phorkie.git/blobdiff_plain/97c4ac59eed8b66b2e7f85d8ac325b063fb8a0ce..HEAD:/www/www-header.php diff --git a/www/www-header.php b/www/www-header.php index 5785a3e..859d797 100644 --- a/www/www-header.php +++ b/www/www-header.php @@ -1,20 +1,10 @@ Exception'; echo '

' . $e->getMessage() . '

'; + echo "\n"; exit(); } @@ -41,17 +32,40 @@ 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'; } -if ($GLOBALS['phorkie']['cfg']['setupcheck']) { - SetupCheck::run(); +$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) + ); + } } // 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']; } +if (!isset($_SESSION['name'])) { + $_SESSION['name'] = $GLOBALS['phorkie']['auth']['anonymousName']; +} +if (!isset($_SESSION['email'])) { + $_SESSION['email'] = $GLOBALS['phorkie']['auth']['anonymousEmail']; +} \Twig_Autoloader::register(); @@ -63,23 +77,54 @@ $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(), $return = false) { + $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); + + if ($return) { + return $template->render($vars); + } else { + echo $template->render($vars); + } } + function redirect($target) { header('Location: ' . $target);