Add redirect to new rss feed page
authorMarcel Werk <burntime@woltlab.com>
Sun, 4 Feb 2024 13:48:34 +0000 (14:48 +0100)
committerMarcel Werk <burntime@woltlab.com>
Sun, 4 Feb 2024 13:48:34 +0000 (14:48 +0100)
wcfsetup/install/files/lib/page/AbstractFeedPage.class.php
wcfsetup/install/files/lib/page/ArticleFeedPage.class.php

index cbf9a54144cdf73f05105de280bc21e5c10ec5fa..6b2a7f85617ae736a63cac928e0b7b36c14a2f04 100644 (file)
@@ -2,8 +2,10 @@
 
 namespace wcf\page;
 
+use wcf\system\request\LinkHandler;
 use wcf\system\WCF;
 use wcf\util\ArrayUtil;
+use wcf\util\HeaderUtil;
 
 /**
  * Generates RSS 2-Feeds.
@@ -11,6 +13,7 @@ use wcf\util\ArrayUtil;
  * @author  Tim Duesterhus
  * @copyright   2001-2019 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
+ * @deprecated 6.1 use `AbstractRssFeedPage` instead
  */
 abstract class AbstractFeedPage extends AbstractAuthedPage
 {
@@ -96,4 +99,26 @@ abstract class AbstractFeedPage extends AbstractAuthedPage
         // show template
         WCF::getTPL()->display($this->templateName, $this->application, false);
     }
+
+    protected function redirectToNewPage(string $className): void
+    {
+        $parameters = [];
+        $url = '';
+        if ($this->objectIDs !== []) {
+            if (\count($this->objectIDs) === 1) {
+                $parameters['id'] = \reset($this->objectIDs);
+            } else {
+                $url = 'id=' . \implode(',', $this->objectIDs);
+            }
+        }
+        if (isset($_REQUEST['at'])) {
+            $parameters['at'] = $_REQUEST['at'];
+        }
+        HeaderUtil::redirect(
+            LinkHandler::getInstance()->getControllerLink($className, $parameters, $url),
+            true,
+            false
+        );
+        exit;
+    }
 }
index d1692c4434259dbe4ef0f792232b49605633095e..e0a47030be94966fec2a19036abae758102a4288 100644 (file)
@@ -15,6 +15,7 @@ use wcf\system\WCF;
  * @copyright   2001-2019 WoltLab GmbH
  * @license GNU Lesser General Public License <http://opensource.org/licenses/lgpl-license.php>
  * @since   3.0
+ * @deprecated 6.1 use `ArticleRssFeedPage` instead
  */
 class ArticleFeedPage extends AbstractFeedPage
 {
@@ -47,6 +48,8 @@ class ArticleFeedPage extends AbstractFeedPage
                 throw new PermissionDeniedException();
             }
         }
+
+        $this->redirectToNewPage(ArticleRssFeedPage::class);
     }
 
     /**