X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=index.php;h=ae6a578cb4a68bb9b1b6c02b6e6a675643ed4fb7;hb=723aca6109f57e68654c978169b57b73ab25330f;hp=e91603a30a78cd5cd294c38900180dd6140fb246;hpb=1cffecd1bed6856dd40eddd8b0e6cd870d287762;p=friendica.git diff --git a/index.php b/index.php index e91603a30a..ae6a578cb4 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'); + 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 @@ -205,12 +244,13 @@ if($a->module != 'install') * */ +$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') + . ((x($_SESSION,'theme')) ? $_SESSION['theme'] : $default_theme) . '/style.css' ));