aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB
diff options
context:
space:
mode:
authorJoas Schilling <nickvergessen@gmx.de>2014-04-11 12:19:04 +0200
committerJoas Schilling <nickvergessen@gmx.de>2014-04-25 11:52:19 +0200
commite0fadfb4d675df71b359b5d64b614051dda4017e (patch)
tree076abf2ac7f17ea53468ee848c82760a6286cb13 /phpBB
parented40846590ea3b80af35aa845dba7e05da88c223 (diff)
downloadforums-e0fadfb4d675df71b359b5d64b614051dda4017e.tar
forums-e0fadfb4d675df71b359b5d64b614051dda4017e.tar.gz
forums-e0fadfb4d675df71b359b5d64b614051dda4017e.tar.bz2
forums-e0fadfb4d675df71b359b5d64b614051dda4017e.tar.xz
forums-e0fadfb4d675df71b359b5d64b614051dda4017e.zip
[ticket/12371] Allow notification types to redirect to a different url
This way we can redirect the post and bookmark notification to the first unread post in the topic PHPBB3-12371
Diffstat (limited to 'phpBB')
-rw-r--r--phpBB/index.php2
-rw-r--r--phpBB/phpbb/notification/type/base.php8
-rw-r--r--phpBB/phpbb/notification/type/post.php8
-rw-r--r--phpBB/phpbb/notification/type/type_interface.php7
4 files changed, 24 insertions, 1 deletions
diff --git a/phpBB/index.php b/phpBB/index.php
index 32bc118e8c..6927705f91 100644
--- a/phpBB/index.php
+++ b/phpBB/index.php
@@ -63,7 +63,7 @@ if (($mark_notification = $request->variable('mark_notification', 0)))
redirect(append_sid($phpbb_root_path . $redirect));
}
- redirect($notification->get_url());
+ redirect($notification->get_redirect_url());
}
}
}
diff --git a/phpBB/phpbb/notification/type/base.php b/phpBB/phpbb/notification/type/base.php
index 0719540bdb..7d08521d40 100644
--- a/phpBB/phpbb/notification/type/base.php
+++ b/phpBB/phpbb/notification/type/base.php
@@ -276,6 +276,14 @@ abstract class base implements \phpbb\notification\type\type_interface
}
/**
+ * {inheritDoc}
+ */
+ public function get_redirect_url()
+ {
+ return $this->get_url();
+ }
+
+ /**
* Prepare to output the notification to the template
*
* @return array Template variables
diff --git a/phpBB/phpbb/notification/type/post.php b/phpBB/phpbb/notification/type/post.php
index f973becc3b..7d4bc06879 100644
--- a/phpBB/phpbb/notification/type/post.php
+++ b/phpBB/phpbb/notification/type/post.php
@@ -270,6 +270,14 @@ class post extends \phpbb\notification\type\base
}
/**
+ * {inheritDoc}
+ */
+ public function get_redirect_url()
+ {
+ return append_sid($this->phpbb_root_path . 'viewtopic.' . $this->php_ext, "t={$this->item_parent_id}&amp;view=unread#unread");
+ }
+
+ /**
* Users needed to query before this notification can be displayed
*
* @return array Array of user_ids
diff --git a/phpBB/phpbb/notification/type/type_interface.php b/phpBB/phpbb/notification/type/type_interface.php
index e3e6898172..2f465aae2b 100644
--- a/phpBB/phpbb/notification/type/type_interface.php
+++ b/phpBB/phpbb/notification/type/type_interface.php
@@ -99,6 +99,13 @@ interface type_interface
public function get_url();
/**
+ * Get the url to redirect after the item has been marked as read
+ *
+ * @return string URL
+ */
+ public function get_redirect_url();
+
+ /**
* URL to unsubscribe to this notification
*
* @param string|bool $method Method name to unsubscribe from (email|jabber|etc), False to unsubscribe from all notifications for this item