diff options
author | Joas Schilling <nickvergessen@gmx.de> | 2014-04-11 12:19:04 +0200 |
---|---|---|
committer | Joas Schilling <nickvergessen@gmx.de> | 2014-04-25 11:52:19 +0200 |
commit | e0fadfb4d675df71b359b5d64b614051dda4017e (patch) | |
tree | 076abf2ac7f17ea53468ee848c82760a6286cb13 /phpBB | |
parent | ed40846590ea3b80af35aa845dba7e05da88c223 (diff) | |
download | forums-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.php | 2 | ||||
-rw-r--r-- | phpBB/phpbb/notification/type/base.php | 8 | ||||
-rw-r--r-- | phpBB/phpbb/notification/type/post.php | 8 | ||||
-rw-r--r-- | phpBB/phpbb/notification/type/type_interface.php | 7 |
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}&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 |