-
Bug
-
Resolution: Fixed
-
Minor
-
3.4.5, 3.5.2
-
MOODLE_34_STABLE, MOODLE_35_STABLE
-
MOODLE_34_STABLE, MOODLE_35_STABLE, MOODLE_36_STABLE
-
We have a client who has some code syncing notifications between their Moodle and their Mahara - and the Mahara notifications are sent over to Moodle, setting up their contexturl as an MNET jump link. This way, clicking on the notification in Moodle takes you to the equivalent notification in Mahara where you can get extra detail on it.
Unfortunately with the changes in MDL-56498, the link is no longer being handled correctly.
The raw link as in the database takes the form of: http://moodle/auth/mnet/jump.php?hostid=3&wantsurl=module%2Fmultirecipientnotification%2Finbox.php%3Fmsg%3D88%26msgtype%3Dnotification_internal_activity
Note the & after the hostid is encoded as & though this is not problematic.
But once the URL has been rewritten by the notification code, it takes the form: http://moodle/message/output/popup/mark_notification_read.php?notificationid=4&redirecturl=http://moodle/auth/mnet/jump.php?hostid=3&wantsurl=module%2Fmultirecipientnotification%2Finbox.php%3Fmsg%3D88%26msgtype%3Dnotification_internal_activity
The additional parameters in the link are not encoded, so wantsurl is not a parameter for MNET, but instead treated as a parameter to mark_notification_read.php itself, and subsequently the redirect drops the rest of the parameters.
This previously worked before these changes were deployed.
I think all that needs changing is to encodeURIComponent() the redirection link to preserve its parameters when building the link to mark_notification_read.php but I haven't tested this yet.
- is a regression caused by
-
MDL-56498 Notifications not being marked as read when click in popover
-
- Closed
-