]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Feed.php
Merge pull request #12010 from annando/notice
[friendica.git] / src / Module / Feed.php
index 0ccffbb96b38bbb7e7ada2f11ea321946fb0f1e9..4c942cd762c1608a0a6a73c62d86e49ca0eaa763 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @copyright Copyright (C) 2020, Friendica
+ * @copyright Copyright (C) 2010-2022, the Friendica project
  *
  * @license GNU AGPL version 3 or any later version
  *
 namespace Friendica\Module;
 
 use Friendica\BaseModule;
+use Friendica\Core\System;
 use Friendica\DI;
 use Friendica\Protocol\Feed as ProtocolFeed;
+use Friendica\Network\HTTPException;
 
 /**
  * Provides public Atom feeds
@@ -41,22 +43,15 @@ use Friendica\Protocol\Feed as ProtocolFeed;
  */
 class Feed extends BaseModule
 {
-       public static function content(array $parameters = [])
+       protected function rawContent(array $request = [])
        {
-               $a = DI::app();
-
-               $last_update = $_GET['last_update'] ?? '';
-               $nocache     = !empty($_GET['nocache']) && local_user();
-
-               // @TODO: Replace with parameter from router
-               if ($a->argc < 2) {
-                       throw new \Friendica\Network\HTTPException\BadRequestException();
-               }
+               $last_update = $this->getRequestValue($request, 'last_update', '');
+               $nocache     = !empty($request['nocache']) && local_user();
 
                $type = null;
                // @TODO: Replace with parameter from router
-               if ($a->argc > 2) {
-                       $type = $a->argv[2];
+               if (DI::args()->getArgc() > 2) {
+                       $type = DI::args()->getArgv()[2];
                }
 
                switch ($type) {
@@ -72,10 +67,11 @@ class Feed extends BaseModule
                                $type = 'posts';
                }
 
-               // @TODO: Replace with parameter from router
-               $nickname = $a->argv[1];
-               header("Content-type: application/atom+xml; charset=utf-8");
-               echo ProtocolFeed::atom($nickname, $last_update, 10, $type, $nocache, true);
-               exit();
+               $feed = ProtocolFeed::atom($this->parameters['nickname'], $last_update, 10, $type, $nocache, true);
+               if (empty($feed)) {
+                       throw new HTTPException\NotFoundException(DI::l10n()->t('User not found.'));
+               }
+
+               System::httpExit($feed, Response::TYPE_ATOM);
        }
 }