<?php
/**
- * @copyright Copyright (C) 2010-2021, the Friendica project
+ * @copyright Copyright (C) 2010-2022, the Friendica project
*
* @license GNU AGPL version 3 or any later version
*
use Friendica\Core\Hook;
use Friendica\Core\L10n;
use Friendica\Core\Renderer;
+use Friendica\Core\System;
use Friendica\Core\Theme;
+use Friendica\Module\Response;
use Friendica\Network\HTTPException;
use Friendica\Util\Network;
use Friendica\Util\Strings;
$shortcut_icon = $config->get('system', 'shortcut_icon');
if ($shortcut_icon == '') {
- $shortcut_icon = 'images/friendica-32.png';
+ $shortcut_icon = 'images/friendica.svg';
}
$touch_icon = $config->get('system', 'touch_icon');
*/
public function exit(ResponseInterface $response)
{
+ header(sprintf("HTTP/%s %s %s",
+ $response->getProtocolVersion(),
+ $response->getStatusCode(),
+ $response->getReasonPhrase())
+ );
+
foreach ($response->getHeaders() as $key => $header) {
if (is_array($header)) {
$header_str = implode(',', $header);
+ } else {
+ $header_str = $header;
}
+
if (empty($key)) {
header($header_str);
} else {
*/
$timestamp = microtime(true);
$this->initContent($response, $mode);
- $profiler->set(microtime(true) - $timestamp, 'content');
// Load current theme info after module has been initialized as theme could have been set in module
$currentTheme = $app->getCurrentTheme();
*/
$this->initFooter($app, $mode, $l10n);
+ $profiler->set(microtime(true) - $timestamp, 'aftermath');
+
if (!$mode->isAjax()) {
Hook::callAll('page_end', $this->page['content']);
}
}
foreach ($response->getHeaders() as $key => $header) {
+ if (is_array($header)) {
+ $header_str = implode(',', $header);
+ } else {
+ $header_str = $header;
+ }
+
if (empty($key)) {
- header($header);
+ header($header_str);
} else {
- header("$key: $header");
+ header("$key: $header_str");
}
}
}
if ($_GET["mode"] == "raw") {
- header("Content-type: text/html; charset=utf-8");
-
- echo substr($target->saveHTML(), 6, -8);
-
- exit();
+ System::httpExit(substr($target->saveHTML(), 6, -8), Response::TYPE_HTML);
}
}