X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=5f128ebb1b4754a9615a97d244d3bcc1b7db2dce;hb=147d7f3bbf6c785f2c1eb7cdcfaa0a47e0ee43d3;hp=456c0a144335ec68e1a1936a698fff2af311a18d;hpb=830a56723c37e206f2114c4bc4ade080f475cba9;p=friendica.git diff --git a/index.php b/index.php index 456c0a1443..5f128ebb1b 100644 --- a/index.php +++ b/index.php @@ -64,11 +64,16 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install); if(! $install) { require_once("session.php"); load_hooks(); + call_hooks('init_1'); } + + require_once("datetime.php"); -date_default_timezone_set(($default_timezone) ? $default_timezone : 'UTC'); +$a->timezone = (($default_timezone) ? $default_timezone : 'UTC'); + +date_default_timezone_set($a->timezone); $a->init_pagehead(); @@ -135,7 +140,7 @@ if(strlen($a->module)) { } else { if((x($_SERVER,'QUERY_STRING')) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) { - logger('index.php: dreamhost_error_hack invoked'); + logger('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']); goaway($a->get_baseurl() . $_SERVER['REQUEST_URI']); } @@ -145,6 +150,16 @@ if(strlen($a->module)) { } } +/* initialise content region */ + +if(! x($a->page,'content')) + $a->page['content'] = ''; + + +/** + * Call module functions + */ + if($a->module_loaded) { $a->page['page_title'] = $a->module; if(function_exists($a->module . '_init')) { @@ -166,8 +181,6 @@ if($a->module_loaded) { if((! $a->error) && (function_exists($a->module . '_content'))) { $func = $a->module . '_content'; - if(! x($a->page,'content')) - $a->page['content'] = ''; $a->page['content'] .= $func($a); } @@ -183,6 +196,9 @@ elseif(local_user()) if(isset($homebase)) $a->page['content'] .= ''; +// now that we've been through the module content, see if the page reported +// a permission problem and if so, a 403 response would seem to be in order. + if(stristr($_SESSION['sysmsg'], t('Permission denied'))) { header($_SERVER["SERVER_PROTOCOL"] . ' 403 ' . t('Permission denied.')); } @@ -199,6 +215,10 @@ if(x($_SESSION,'sysmsg')) { unset($_SESSION['sysmsg']); } + +call_hooks('page_end', $a->page['content']); + + /** * * Add a place for the pause/resume Ajax indicator @@ -218,20 +238,10 @@ if($a->module != 'install') require_once('nav.php'); /** - * * Build the page - now that we have all the components - * Make sure the desired theme exists, though if the default theme doesn't exist we're stuffed. - * */ -$default_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : 'default'); -if((x($_SESSION,'theme')) && (! file_exists('view/theme/' . $_SESSION['theme'] . '/style.css'))) - unset($_SESSION['theme']); - -$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array( - '$stylesheet' => $a->get_baseurl() . '/view/theme/' - . ((x($_SESSION,'theme')) ? $_SESSION['theme'] : $default_theme) - . '/style.css' - )); + +$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array('$stylesheet' => current_theme_url())); $page = $a->page; $profile = $a->profile;