]> git.mxchange.org Git - friendica.git/blobdiff - src/Module/Notifications/Notify.php
Merge pull request #7164 from nupplaphil/task/mod_randprof
[friendica.git] / src / Module / Notifications / Notify.php
index d2c450dd9e244fb1fce79829a8efbee2362b35e0..d31de2cdda3cb04a7a2775d2e3925d5f674ba0c5 100644 (file)
@@ -3,6 +3,7 @@
 namespace Friendica\Module\Notifications;
 
 use Friendica\BaseModule;
+use Friendica\Core\L10n;
 use Friendica\Core\NotificationsManager;
 use Friendica\Core\System;
 use Friendica\Network\HTTPException;
@@ -12,33 +13,17 @@ use Friendica\Network\HTTPException;
  */
 class Notify extends BaseModule
 {
-       /**
-        * @throws HTTPException\InternalServerErrorException
-        * @throws HTTPException\UnauthorizedException
-        */
-       public static function rawContent()
+       public static function init()
        {
                if (!local_user()) {
                        throw new HTTPException\UnauthorizedException(L10n::t('Permission denied.'));
                }
+       }
 
+       public static function rawContent()
+       {
                $a = self::getApp();
 
-               // @TODO: Replace with parameter from router
-               if ($a->argc > 2 && $a->argv[1] === 'view' && intval($a->argv[2])) {
-                       $notificationsManager = new NotificationsManager();
-                       // @TODO: Replace with parameter from router
-                       $note = $notificationsManager->getByID($a->argv[2]);
-                       if (!empty($note)) {
-                               $notificationsManager->setSeen($note);
-                               if (!empty($note['link'])) {
-                                       System::externalRedirect($note['link']);
-                               }
-                       }
-
-                       $a->internalRedirect();
-               }
-
                // @TODO: Replace with parameter from router
                if ($a->argc > 2 && $a->argv[1] === 'mark' && $a->argv[2] === 'all') {
                        $notificationsManager = new NotificationsManager();
@@ -53,7 +38,7 @@ class Notify extends BaseModule
        }
 
        /**
-        * Redirect to the notifications main page
+        * Redirect to the notifications main page or to the url for the chosen notify
         *
         * @return string|void
         * @throws HTTPException\InternalServerErrorException
@@ -63,8 +48,21 @@ class Notify extends BaseModule
                $a = self::getApp();
 
                // @TODO: Replace with parameter from router
-               if (($a->argc > 0) && ($a->argv[0] == 'notify')) {
-                       $a->internalRedirect('notifications/system');
+               if ($a->argc > 2 && $a->argv[1] === 'view' && intval($a->argv[2])) {
+                       $notificationsManager = new NotificationsManager();
+                       // @TODO: Replace with parameter from router
+                       $note = $notificationsManager->getByID($a->argv[2]);
+                       if (!empty($note)) {
+                               $notificationsManager->setSeen($note);
+                               if (!empty($note['link'])) {
+                                       System::externalRedirect($note['link']);
+                               }
+                       }
+
+                       $a->internalRedirect();
                }
+
+               // @TODO: Replace with parameter from router
+               $a->internalRedirect('notifications/system');
        }
 }