$(document).ready(function() { var skip = getSkippedPage(); $('.noty-notification').each(function() { var $this = $(this); var type = $this.data('noty-type'), importance = $this.data('noty-importance'), id = $this.data('noty-id'), url = $this.data('noty-url'); if (type != skip) { createNoty(type, id, $this.text(), url, importance); } $this.remove(); }); }); function getSkippedPage() { var skip, url = new URL(); switch(url.path) { case "inbox": if (url.query.length == 0 || (url.query.length == 1 && url.query.hasOwnProperty('sort'))) { skip = "Inbox"; } break; case "userhistory": if (url.query['action'] == "subscriptions") { skip = "Subscriptions"; } if (url.query['action'] == "quote_notifications") { skip = "Quotes"; } if (url.query['action'] == "subscribed_collages") { skip = "Collages"; } break; case "user": if (url.query['action'] == "notify") { skip = "Torrents"; } break; case "blog": if (url.query.length == 0) { skip = "Blog"; } break; case "index": if (url.query.length == 0) { skip = "News"; } break; case "staffpm": if (url.query.length == 0) { skip = "StaffPM"; } break; default: break; } return skip; } function createNoty(type, id, message, url, importance) { var hideButtons = !url; noty({ text: message, type: importance, layout: 'bottomRight', closeWith: ['click'], animation: { open: {height: 'toggle'}, close: {height: 'toggle'}, easing: 'swing', speed: 250 }, buttonElement : 'a', buttons: [ { addClass: 'brackets noty_button_view' + (hideButtons ? ' hidden' : ''), text: 'View', href: url }, { addClass: 'brackets noty_button_clear', text: 'Clear', onClick: function($noty) { $noty.close(); clear(type, id); } }, { addClass: 'brackets noty_button_close ', text: 'Dismiss', onClick: function($noty) { $noty.close(); } }, ] }); } function clear(type, id) { $.ajax({ type : "POST", url: "ajax.php?action=clear_user_notification", dataType: "json", data : { "type" : type, "id" : id } }); }