return txt.value;
}
+/**
+ * Retrieves a single named query string parameter
+ *
+ * @param {string} name
+ * @returns {string}
+ * @see https://davidwalsh.name/query-string-javascript
+ */
+function getUrlParameter(name) {
+ name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
+ var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
+ var results = regex.exec(location.search);
+ return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
+};
+
var src = null;
var prev = null;
var livetime = null;
var last_popup_menu = null;
var last_popup_button = null;
var lockLoadContent = false;
+var originalTitle = document.title;
const urlRegex = /^(?:https?:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(?:\/+[a-z0-9_.:;-]*)*(?:\?[&%|+a-z0-9_=,.:;-]*)?(?:[&%|+&a-z0-9_=,:;.-]*)(?:[!#\/&%|+a-z0-9_=,:;.-]*)}*$/i;
$(textarea).trigger('change');
});
- /* setup onoff widgets */
- $(".onoff input").each(function() {
- val = $(this).val();
- id = $(this).attr("id");
- $("#"+id+"_onoff ." + (val == 0 ? "on":"off")).addClass("hidden");
- });
-
- $(".onoff > a").click(function(event) {
- event.preventDefault();
- var input = $(this).siblings("input");
- var val = 1-input.val();
- var id = input.attr("id");
- $("#"+id+"_onoff ." + (val == 0 ? "on":"off")).addClass("hidden");
- $("#"+id+"_onoff ." + (val == 1 ? "on":"off")).removeClass("hidden");
- input.val(val);
- });
-
/* popup menus */
function close_last_popup_menu() {
if (last_popup_menu) {
window.location.href=window.location.href
}
- ['net', 'home', 'intro', 'mail', 'events', 'birthdays', 'notify'].forEach(function(type) {
+ let tabNotifications = data.mail + data.notification;
+ if (tabNotifications > 0) {
+ document.title = '(' + tabNotifications + ') ' + originalTitle;
+ } else {
+ document.title = originalTitle;
+ }
+
+ ['net', 'home', 'intro', 'mail', 'events', 'birthdays', 'notification'].forEach(function(type) {
var number = data[type];
if (number == 0) {
number = '';
var notification_id = 0;
// Insert notifs into the notifications-menu
- $(data.notifications).each(function(key, notif) {
- var text = notif.message.format('<span class="contactname">' + notif.name + '</span>');
- var contact = ('<a href="' + notif.url + '"><span class="contactname">' + notif.name + '</span></a>');
- var seenclass = (notif.seen == 1) ? "notify-seen" : "notify-unseen";
+ $(data.notifications).each(function(key, notification) {
+ var text = notification.message.format('<span class="contactname">' + notification.name + '</span>');
+ var contact = ('<a href="' + notification.url + '"><span class="contactname">' + notification.name + '</span></a>');
+ var seenclass = (notification.seen == 1) ? "notification-seen" : "notification-unseen";
var html = notifications_tpl.format(
- notif.href, // {0} // link to the source
- notif.photo, // {1} // photo of the contact
+ notification.href, // {0} // link to the source
+ notification.photo, // {1} // photo of the contact
text, // {2} // preformatted text (autor + text)
- notif.date, // {3} // date of notification (time ago)
+ notification.date, // {3} // date of notification (time ago)
seenclass, // {4} // visited status of the notification
- new Date(notif.timestamp*1000), // {5} // date of notification
- notif.url, // {6} // profile url of the contact
- notif.message.format(contact), // {7} // preformatted html (text including author profile url)
+ new Date(notification.timestamp*1000), // {5} // date of notification
+ notification.url, // {6} // profile url of the contact
+ notification.message.format(contact), // {7} // preformatted html (text including author profile url)
'' // {8} // Deprecated
);
nnm.append(html);
});
}
- var notif = data['notify'];
+ var notif = data['notification'];
if (notif > 0) {
$("#nav-notifications-linkmenu").addClass("on");
} else {
var ident = $(this).attr('id');
// Add new top-level item.
- if ($('#' + ident).length == 0 && profile_page == 1) {
+ if ($('#' + ident).length === 0
+ && (!getUrlParameter('page')
+ && !getUrlParameter('max_id')
+ && !getUrlParameter('since_id')
+ || getUrlParameter('page') === '1'
+ )
+ ) {
$('#' + prev).after($(this));
// Replace already existing thread.
var orgHeight = $("section").height();
var udargs = ((netargs.length) ? '/' + netargs : '');
- var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&page=' + profile_page + '&force=' + ((force_update) ? 1 : 0) + '&item=' + update_item;
+
+ var update_url = 'update_' + src + udargs + '&p=' + profile_uid + '&force=' + ((force_update) ? 1 : 0) + '&item=' + update_item;
+
+ if (getUrlParameter('page')) {
+ update_url += '&page=' + getUrlParameter('page');
+ }
+ if (getUrlParameter('since_id')) {
+ update_url += '&since_id=' + getUrlParameter('since_id');
+ }
+ if (getUrlParameter('max_id')) {
+ update_url += '&max_id=' + getUrlParameter('max_id');
+ }
$.get(update_url,function(data) {
in_progress = false;
}
}
-function notifyMarkAll() {
+function notificationMarkAll() {
$.get('notification/mark/all', function(data) {
if (timer) {
clearTimeout(timer);