From c2b8c651046f9623dce1eb03595ab65caa7f06ab Mon Sep 17 00:00:00 2001
From: nupplaPhil <admin@philipp.info>
Date: Tue, 28 Jan 2020 23:21:24 +0100
Subject: [PATCH] Merge "notification" routes

---
 include/enotify.php                                |  2 +-
 mod/ping.php                                       |  2 +-
 src/Factory/Notification/Notification.php          |  2 +-
 src/Module/Notifications/Notification.php          | 10 ++++++----
 static/routes.config.php                           |  7 +++----
 view/templates/notifications/intros.tpl            |  2 +-
 view/templates/notifications/suggestions.tpl       |  2 +-
 view/theme/frio/templates/notifications/intros.tpl |  4 ++--
 8 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/include/enotify.php b/include/enotify.php
index 7567613b4f..e21adc91ac 100644
--- a/include/enotify.php
+++ b/include/enotify.php
@@ -500,7 +500,7 @@ function notification($params)
 
 		DI::notify()->update($notification);
 
-		$itemlink  = DI::baseUrl() . '/notification/view/' . $notification->id;
+		$itemlink  = DI::baseUrl() . '/notification/' . $notification->id;
 		$notify_id = $notification->id;
 	}
 
diff --git a/mod/ping.php b/mod/ping.php
index dd57ba34d6..70c580d3d3 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -443,7 +443,7 @@ function ping_get_notifications($uid)
 				);
 			}
 
-			$notification["href"] = DI::baseUrl() . "/notification/view/" . $notification["id"];
+			$notification["href"] = DI::baseUrl() . "/notification/" . $notification["id"];
 
 			if ($notification["visible"]
 				&& !$notification["deleted"]
diff --git a/src/Factory/Notification/Notification.php b/src/Factory/Notification/Notification.php
index 2b179cca53..399e6b0e7a 100644
--- a/src/Factory/Notification/Notification.php
+++ b/src/Factory/Notification/Notification.php
@@ -219,7 +219,7 @@ class Notification extends BaseFactory
 			foreach ($notifications as $notification) {
 				$formattedNotifications[] = new \Friendica\Object\Notification\Notification([
 					'label' => 'notification',
-					'link'  => $this->baseUrl->get(true) . '/notification/view/' . $notification->id,
+					'link'  => $this->baseUrl->get(true) . '/notification/' . $notification->id,
 					'image' => Proxy::proxifyUrl($notification->photo, false, Proxy::SIZE_MICRO),
 					'url'   => $notification->url,
 					'text'  => strip_tags(BBCode::convert($notification->msg)),
diff --git a/src/Module/Notifications/Notification.php b/src/Module/Notifications/Notification.php
index 20530e81ae..b8d0e47f01 100644
--- a/src/Module/Notifications/Notification.php
+++ b/src/Module/Notifications/Notification.php
@@ -23,7 +23,7 @@ class Notification extends BaseModule
 	{
 		$request_id = $parameters['id'] ?? false;
 
-		if (DI::args()->get(1) == 'action' && $request_id) {
+		if ($request_id) {
 			$intro = DI::intro()->selectFirst(['id' => $request_id, 'uid' => local_user()]);
 
 			switch ($_POST['submit']) {
@@ -65,10 +65,11 @@ class Notification extends BaseModule
 	 */
 	public static function content(array $parameters = [])
 	{
-		// @TODO: Replace with parameter from router
-		if (DI::args()->getArgc() > 2 && DI::args()->get(1) === 'view' && intval(DI::args()->get(2))) {
+		$request_id = $parameters['id'] ?? false;
+
+		if ($request_id) {
 			try {
-				$notification = DI::notify()->getByID(DI::args()->get(2));
+				$notification = DI::notify()->getByID($request_id);
 				$notification->setSeen();
 
 				if (!empty($notification->link)) {
@@ -86,3 +87,4 @@ class Notification extends BaseModule
 		DI::baseUrl()->redirect('notifications/system');
 	}
 }
+
diff --git a/static/routes.config.php b/static/routes.config.php
index 2dd6da1bf4..4aad69d8c7 100644
--- a/static/routes.config.php
+++ b/static/routes.config.php
@@ -184,10 +184,9 @@ return [
 	],
 
 	'/notification'         => [
-		'[/]'               => [Module\Notifications\Notification::class, [R::GET]],
-		'/view/{id:\d+}'    => [Module\Notifications\Notification::class, [R::GET]],
-		'/mark/all'         => [Module\Notifications\Notification::class, [R::GET]],
-		'/action/{id:\d+}'  => [Module\Notifications\Notification::class, [        R::POST]],
+		'[/]'       => [Module\Notifications\Notification::class, [R::GET]],
+		'/mark/all' => [Module\Notifications\Notification::class, [R::GET]],
+		'/{id:\d+}' => [Module\Notifications\Notification::class, [R::GET, R::POST]],
 	],
 	'/objects/{guid}' => [Module\Objects::class, [R::GET]],
 
diff --git a/view/templates/notifications/intros.tpl b/view/templates/notifications/intros.tpl
index 4ad96c7274..b04c19c184 100644
--- a/view/templates/notifications/intros.tpl
+++ b/view/templates/notifications/intros.tpl
@@ -12,7 +12,7 @@
 <div class="intro-knowyou">{{$lbl_knowyou}} {{$knowyou}}</div>
 <div class="intro-note" id="intro-note-{{$contact_id}}">{{$note}}</div>
 <div class="intro-wrapper-end" id="intro-wrapper-end-{{$contact_id}}"></div>
-<form class="intro-form" action="notification/action/{{$intro_id}}" method="post">
+<form class="intro-form" action="notification/{{$intro_id}}" method="post">
 <input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
 {{if $discard}}<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />{{/if}}
 </form>
diff --git a/view/templates/notifications/suggestions.tpl b/view/templates/notifications/suggestions.tpl
index ac5c2e9c2a..d0c013ac5b 100644
--- a/view/templates/notifications/suggestions.tpl
+++ b/view/templates/notifications/suggestions.tpl
@@ -8,7 +8,7 @@
 <a class="intro-url-link" href="{{$url}}" ><img class="intro-photo lframe" src="{{$photo}}" width="175" height="175" title="{{$fullname}}" alt="{{$fullname}}" /></a>
 <div class="intro-note" >{{$note}}</div>
 <div class="intro-wrapper-end"></div>
-<form class="intro-form" action="notification/action/{{$intro_id}}" method="post">
+<form class="intro-form" action="notification/{{$intro_id}}" method="post">
 <input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" />
 <input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" />
 </form>
diff --git a/view/theme/frio/templates/notifications/intros.tpl b/view/theme/frio/templates/notifications/intros.tpl
index 879920af36..8f4fa62183 100644
--- a/view/theme/frio/templates/notifications/intros.tpl
+++ b/view/theme/frio/templates/notifications/intros.tpl
@@ -13,7 +13,7 @@
 		<div class="intro-actions pull-right nav-pills preferences">
 			<button class="btn-link intro-action-link" onclick="addElmToModal('#intro-approve-wrapper-{{$intro_id}}');" aria-label="{{$approve}}" title="{{$approve}}" data-toggle="tooltip"><i class="fa fa-check" aria-hidden="true"></i></button>
 
-			<form class="intro-form" action="notification/action/{{$intro_id}}" method="post">
+			<form class="intro-form" action="notification/{{$intro_id}}" method="post">
 				<button class="btn-link intro-submit-ignore intro-action-link" type="submit" name="submit" value="{{$ignore}}" aria-label="{{$ignore}}" title="{{$ignore}}" data-toggle="tooltip"><i class="fa fa-ban" aria-hidden="true"></i></button>
 				{{if $discard}}<button class="btn-link intro-submit-discard intro-action-link" type="submit" name="submit" value="{{$discard}}" aria-label="{{$discard}}" title="{{$discard}}" data-toggle="tooltip"><i class="fa fa-trash-o" aria-hidden="true"></i></button>{{/if}}
 			</form>
@@ -73,7 +73,7 @@
 	{{* On mobile touch devices we use buttons for approve, ingnore && discard to have a better UX *}}
 	{{if $APP->is_mobile}}
 	<div class="intro-action-buttons">
-		<form class="intro-form pull-left" action="notification/action/{{$intro_id}}" method="post">
+		<form class="intro-form pull-left" action="notification/{{$intro_id}}" method="post">
 			<button class="btn btn-small btn-default intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}">{{$ignore}}</button>
 			{{if $discard}}<button class="btn btn-small btn-default intro-submit-discard" type="submit" name="submit" value="{{$discard}}">{{$discard}}</button>&nbsp;{{/if}}
 		</form>
-- 
2.39.5