X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FApp.php;h=c56222b63f5d7b52bfa9daf98b929b13842c68b7;hb=ee2a15d822f8c0b02791638c25180215d943b974;hp=b8b7fb99fe94762374b13a610114de9b53222087;hpb=2e4d654c0a241891a8a64ebd3e49ebde42fad8cc;p=friendica.git diff --git a/src/App.php b/src/App.php index b8b7fb99fe..c56222b63f 100644 --- a/src/App.php +++ b/src/App.php @@ -1,6 +1,6 @@ profiler->set($start_time, 'start'); $this->profiler->set(microtime(true), 'classinit'); @@ -579,7 +580,7 @@ class App try { // Missing DB connection: ERROR if ($this->mode->has(App\Mode::LOCALCONFIGPRESENT) && !$this->mode->has(App\Mode::DBAVAILABLE)) { - throw new HTTPException\InternalServerErrorException('Apologies but the website is unavailable at the moment.'); + throw new HTTPException\InternalServerErrorException($this->l10n->t('Apologies but the website is unavailable at the moment.')); } if (!$this->mode->isInstall()) { @@ -599,29 +600,27 @@ class App } // ZRL - if (!empty($_GET['zrl']) && $this->mode->isNormal() && !$this->mode->isBackend()) { - if (!local_user()) { - // Only continue when the given profile link seems valid - // Valid profile links contain a path with "/profile/" and no query parameters - if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == "") && - strstr(parse_url($_GET['zrl'], PHP_URL_PATH), "/profile/")) { - if (Core\Session::get('visitor_home') != $_GET["zrl"]) { - Core\Session::set('my_url', $_GET['zrl']); - Core\Session::set('authenticated', 0); - - $remote_contact = Contact::getByURL($_GET['zrl'], false, ['subscribe']); - if (!empty($remote_contact['subscribe'])) { - $_SESSION['remote_comment'] = $remote_contact['subscribe']; - } + if (!empty($_GET['zrl']) && $this->mode->isNormal() && !$this->mode->isBackend() && !local_user()) { + // Only continue when the given profile link seems valid + // Valid profile links contain a path with "/profile/" and no query parameters + if ((parse_url($_GET['zrl'], PHP_URL_QUERY) == "") && + strstr(parse_url($_GET['zrl'], PHP_URL_PATH), "/profile/")) { + if (Core\Session::get('visitor_home') != $_GET["zrl"]) { + Core\Session::set('my_url', $_GET['zrl']); + Core\Session::set('authenticated', 0); + + $remote_contact = Contact::getByURL($_GET['zrl'], false, ['subscribe']); + if (!empty($remote_contact['subscribe'])) { + $_SESSION['remote_comment'] = $remote_contact['subscribe']; } - - Model\Profile::zrlInit($this); - } else { - // Someone came with an invalid parameter, maybe as a DDoS attempt - // We simply stop processing here - $this->logger->debug('Invalid ZRL parameter.', ['zrl' => $_GET['zrl']]); - throw new HTTPException\ForbiddenException(); } + + Model\Profile::zrlInit($this); + } else { + // Someone came with an invalid parameter, maybe as a DDoS attempt + // We simply stop processing here + $this->logger->debug('Invalid ZRL parameter.', ['zrl' => $_GET['zrl']]); + throw new HTTPException\ForbiddenException(); } } @@ -704,12 +703,15 @@ class App } // Processes data from GET requests - $httpinput = HTTPInputData::process(); - $input = array_merge($httpinput['variables'], $httpinput['files'], $request ?? $_REQUEST); + $httpinput = $httpInput->process(); + $input = array_merge($httpinput['variables'], $httpinput['files'], $request ?? $_REQUEST); // Let the module run it's internal process (init, get, post, ...) + $timestamp = microtime(true); $response = $module->run($input); - if ($response->getHeaderLine(ICanCreateResponses::X_HEADER) === ICanCreateResponses::TYPE_HTML) { + $this->profiler->set(microtime(true) - $timestamp, 'content'); + if ($response->getHeaderLine(ICanCreateResponses::X_HEADER) === ICanCreateResponses::TYPE_HTML && + $response->getStatusCode() == 200) { $page->run($this, $this->baseURL, $this->args, $this->mode, $response, $this->l10n, $this->profiler, $this->config, $pconfig); } else { $page->exit($response);