<?php
namespace phorkie;
+error_reporting(error_reporting() & ~E_STRICT);
+session_set_cookie_params(14 * 86400);//2 weeks session expiry time
session_start();
-set_include_path(
- __DIR__ . '/../src/'
- . PATH_SEPARATOR . get_include_path()
-);
-spl_autoload_register(
- function ($class) {
- $file = str_replace(array('\\', '_'), '/', $class) . '.php';
- $hdl = @fopen($file, 'r', true);
- if ($hdl !== false) {
- fclose($hdl);
- require $file;
- }
- }
-);
+require_once __DIR__ . '/../src/phorkie/autoload.php';
set_exception_handler(
function ($e) {
if ($e instanceof Exception) {
if (!isset($GLOBALS['twig'])) {
echo '<h1>Exception</h1>';
echo '<p>' . $e->getMessage() . '</p>';
+ echo "\n";
exit();
}
);
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']['setupcheck']) {
- SetupCheck::run();
+
+if ($GLOBALS['phorkie']['cfg']['baseurl'] === null) {
+ $GLOBALS['phorkie']['cfg']['baseurl'] = Tools::detectBaseUrl();
}
// Set/Get git commit session variables
'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) {
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['email'] = $_SESSION['email'];
}
$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);