X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=5f128ebb1b4754a9615a97d244d3bcc1b7db2dce;hb=147d7f3bbf6c785f2c1eb7cdcfaa0a47e0ee43d3;hp=e91603a30a78cd5cd294c38900180dd6140fb246;hpb=b4b65521fe9546da760c19d8124c4cddd9406a88;p=friendica.git diff --git a/index.php b/index.php index e91603a30a..5f128ebb1b 100644 --- a/index.php +++ b/index.php @@ -61,12 +61,19 @@ $db = new dba($db_host, $db_user, $db_pass, $db_data, $install); * */ -if(! $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(); @@ -125,17 +132,34 @@ else * further processing. */ + if(strlen($a->module)) { if(file_exists("mod/{$a->module}.php")) { include("mod/{$a->module}.php"); $a->module_loaded = true; } else { + if((x($_SERVER,'QUERY_STRING')) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) { + logger('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']); + goaway($a->get_baseurl() . $_SERVER['REQUEST_URI']); + } + + logger('index.php: page not found: ' . $_SERVER['REQUEST_URI'] . ' QUERY: ' . $_SERVER['QUERY_STRING'], LOGGER_DEBUG); header($_SERVER["SERVER_PROTOCOL"] . ' 404 ' . t('Not Found')); notice( t('Page not found.' ) . EOL); } } +/* 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')) { @@ -157,13 +181,24 @@ 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); } } +// let javascript take you home + +if(x($_SESSION,'visitor_home')) + $homebase = $_SESSION['visitor_home']; +elseif(local_user()) + $homebase = $a->get_baseurl() . '/profile/' . $a->user['nickname']; + +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.')); } @@ -180,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 @@ -199,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. - * */ -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') - . '/style.css' - )); +$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array('$stylesheet' => current_theme_url())); $page = $a->page; $profile = $a->profile;