X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fpoco.php;h=b4d0f343a2115ea1700ac9c8d3e8285ed6e0c354;hb=3865733e18421126de45ca91f221aebd628b1ccc;hp=bd11e0971a2191a53ec3a184ea94004f1f507382;hpb=e56a53647bd5469551bf4f9ef2df50a5dd16b943;p=friendica.git diff --git a/mod/poco.php b/mod/poco.php index bd11e0971a..b4d0f343a2 100644 --- a/mod/poco.php +++ b/mod/poco.php @@ -24,11 +24,10 @@ use Friendica\App; use Friendica\Content\Text\BBCode; use Friendica\Core\Logger; use Friendica\Core\Protocol; -use Friendica\Core\Renderer; +use Friendica\Core\System; use Friendica\Database\DBA; use Friendica\DI; -use Friendica\Util\Strings; -use Friendica\Util\XML; +use Friendica\Util\DateTimeFormat; function poco_init(App $a) { if (intval(DI::config()->get('system', 'block_public')) || (DI::config()->get('system', 'block_local_dir'))) { @@ -121,10 +120,12 @@ function poco_init(App $a) { if (isset($contact['account-type'])) { $contact['contact-type'] = $contact['account-type']; } - $about = DI::cache()->get("about:" . $contact['updated'] . ":" . $contact['nurl']); + + $cacheKey = 'about:' . $contact['nick'] . ':' . DateTimeFormat::utc($contact['updated'], DateTimeFormat::ATOM); + $about = DI::cache()->get($cacheKey); if (is_null($about)) { $about = BBCode::convertForUriId($contact['uri-id'], $contact['about']); - DI::cache()->set("about:" . $contact['updated'] . ":" . $contact['nurl'], $about); + DI::cache()->set($cacheKey, $about); } // Non connected persons can only see the keywords of a Diaspora account @@ -225,16 +226,9 @@ function poco_init(App $a) { Logger::info("End of poco"); - if ($format === 'xml') { - header('Content-type: text/xml'); - echo Renderer::replaceMacros(Renderer::getMarkupTemplate('poco_xml.tpl'), XML::arrayEscape(['$response' => $ret])); - exit(); - } if ($format === 'json') { - header('Content-type: application/json'); - echo json_encode($ret); - exit(); + System::jsonExit($ret); } else { - throw new \Friendica\Network\HTTPException\InternalServerErrorException(); + throw new \Friendica\Network\HTTPException\UnsupportedMediaTypeException(); } }