<?php
+/**
+ * @copyright Copyright (C) 2010-2023, the Friendica project
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <https://www.gnu.org/licenses/>.
+ *
+ */
namespace Friendica\Module;
use DOMDocument;
use DOMElement;
use Friendica\BaseModule;
+use Friendica\Core\System;
+use Friendica\DI;
use Friendica\Util\XML;
/**
/**
* @throws \Exception
*/
- public static function rawContent()
+ protected function rawContent(array $request = [])
{
- header('Content-type: application/opensearchdescription+xml');
-
- $hostname = self::getApp()->getHostName();
- $baseUrl = self::getApp()->getBaseURL();
+ $hostname = DI::baseUrl()->getHost();
+ $baseUrl = (string)DI::baseUrl();
/** @var DOMDocument $xml */
- $xml = null;
-
XML::fromArray([
'OpenSearchDescription' => [
'@attributes' => [
'xmlns' => 'http://a9.com/-/spec/opensearch/1.1',
],
- 'ShortName' => "Friendica $hostname",
- 'Description' => "Search in Friendica $hostname",
- 'Contact' => 'https://github.com/friendica/friendica/issues',
+ 'ShortName' => "Friendica $hostname",
+ 'Description' => "Search in Friendica $hostname",
+ 'Contact' => 'https://github.com/friendica/friendica/issues',
+ 'InputEncoding' => 'UTF-8',
+ 'OutputEncoding' => 'UTF-8',
+ 'Developer' => 'Friendica Developer Team',
],
], $xml);
'template' => "$baseUrl/opensearch",
]);
- echo $xml->saveXML();
-
- exit();
+ $this->httpExit($xml->saveXML(), Response::TYPE_XML, 'application/opensearchdescription+xml');
}
}