|
|
|
@ -21,14 +21,14 @@ function redirect(url, new_tab) { |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function numberFormat(nStr) { |
|
|
|
|
// Thx to http://www.mredkj.com/javascript/numberFormat.html
|
|
|
|
|
// http://www.mredkj.com/javascript/numberFormat.html
|
|
|
|
|
nStr += ''; |
|
|
|
|
var x = nStr.split('.'); |
|
|
|
|
var x1 = x[0]; |
|
|
|
|
var x2 = x.length > 1 ? '.' + x[1] : ''; |
|
|
|
|
var rgx = /(\d+)(\d{3})/; |
|
|
|
|
var x = nStr.split('.'), |
|
|
|
|
x1 = x[0], |
|
|
|
|
x2 = x.length > 1 ? '.' + x[1] : '', |
|
|
|
|
rgx = /(\d+)(\d{3})/; |
|
|
|
|
while (rgx.test(x1)) { |
|
|
|
|
x1 = x1.replace(rgx, '$1' + " " + '$2'); |
|
|
|
|
x1 = x1.replace(rgx, '$1' + ' ' + '$2'); |
|
|
|
|
} |
|
|
|
|
return x1 + x2; |
|
|
|
|
} |
|
|
|
@ -42,7 +42,7 @@ function incUnreadsFeed(article, feed_id, nb) { |
|
|
|
|
|
|
|
|
|
//Update unread: feed
|
|
|
|
|
var elem = $('#' + feed_id + '>.feed').get(0), |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0, |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0, |
|
|
|
|
feed_priority = elem ? (parseInt(elem.getAttribute('data-priority'), 10) || 0) : 0; |
|
|
|
|
if (elem) { |
|
|
|
|
elem.setAttribute('data-unread', numberFormat(Math.max(0, feed_unreads + nb))); |
|
|
|
@ -50,7 +50,7 @@ function incUnreadsFeed(article, feed_id, nb) { |
|
|
|
|
|
|
|
|
|
//Update unread: category
|
|
|
|
|
elem = $('#' + feed_id).parent().prevAll('.category').children(':first').get(0); |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
if (elem) { |
|
|
|
|
elem.setAttribute('data-unread', numberFormat(Math.max(0, feed_unreads + nb))); |
|
|
|
|
} |
|
|
|
@ -59,7 +59,7 @@ function incUnreadsFeed(article, feed_id, nb) { |
|
|
|
|
if (feed_priority > 0) { |
|
|
|
|
elem = $('#aside_flux .all').children(':first').get(0); |
|
|
|
|
if (elem) { |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
elem.setAttribute('data-unread', numberFormat(Math.max(0, feed_unreads + nb))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -68,7 +68,7 @@ function incUnreadsFeed(article, feed_id, nb) { |
|
|
|
|
if (article && article.closest('div').hasClass('favorite')) { |
|
|
|
|
elem = $('#aside_flux .favorites').children(':first').get(0); |
|
|
|
|
if (elem) { |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
elem.setAttribute('data-unread', numberFormat(Math.max(0, feed_unreads + nb))); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -157,7 +157,7 @@ function mark_favorite(active) { |
|
|
|
|
|
|
|
|
|
if (active.closest('div').hasClass('not_read')) { |
|
|
|
|
var elem = $('#aside_flux .favorites').children(':first').get(0), |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
if (elem) { |
|
|
|
|
elem.setAttribute('data-unread', numberFormat(Math.max(0, feed_unreads + inc))); |
|
|
|
|
} |
|
|
|
@ -544,7 +544,7 @@ function refreshUnreads() { |
|
|
|
|
$.each(data, function(feed_id, nbUnreads) { |
|
|
|
|
feed_id = 'f_' + feed_id; |
|
|
|
|
var elem = $('#' + feed_id + '>.feed').get(0), |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
feed_unreads = elem ? (parseInt(elem.getAttribute('data-unread').replace(' ', ''), 10) || 0) : 0; |
|
|
|
|
if ((incUnreadsFeed(null, feed_id, nbUnreads - feed_unreads) || isAll) && //Update of current view?
|
|
|
|
|
(nbUnreads - feed_unreads > 0)) { |
|
|
|
|
$('#new-article').show(); |
|
|
|
@ -649,9 +649,9 @@ function init_loginForm() { |
|
|
|
|
c = dcodeIO.bcrypt.hashSync(data.nonce + s, strong ? 4 : poormanSalt()); |
|
|
|
|
$('#challenge').val(c); |
|
|
|
|
if (s == '' || c == '') { |
|
|
|
|
alert('Crypto error!'); |
|
|
|
|
alert('Crypto error!'); |
|
|
|
|
} else { |
|
|
|
|
success = true; |
|
|
|
|
success = true; |
|
|
|
|
} |
|
|
|
|
} catch (e) { |
|
|
|
|
alert('Crypto exception! ' + e); |
|
|
|
@ -755,34 +755,6 @@ function init_print_action() { |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function init_number_formats() { |
|
|
|
|
// Init global counter
|
|
|
|
|
var elem = $('#aside_flux .categories li .all a'); |
|
|
|
|
elem.attr('data-unread', numberFormat(elem.attr('data-unread'))); |
|
|
|
|
|
|
|
|
|
// Init favorites counters
|
|
|
|
|
elem = $('#aside_flux .categories li .favorites a'); |
|
|
|
|
elem.attr('data-unread', numberFormat(elem.attr('data-unread'))); |
|
|
|
|
|
|
|
|
|
var numFavorites = elem.text().replace(/((?: \(\d+\))?\s*)$/, function (m, p1) { |
|
|
|
|
return numberFormat(p1) |
|
|
|
|
}); |
|
|
|
|
elem.text(numFavorites); |
|
|
|
|
|
|
|
|
|
// Init feeds counters
|
|
|
|
|
$('#aside_flux .categories li .stick').each(function() { |
|
|
|
|
// Category-level counter
|
|
|
|
|
elem = $(this).find('a'); |
|
|
|
|
elem.attr('data-unread', numberFormat(elem.attr('data-unread'))); |
|
|
|
|
|
|
|
|
|
// Feeds counters
|
|
|
|
|
$(this).parent().find('ul.feeds li.item').each(function() { |
|
|
|
|
elem = $(this).find('a.feed'); // There are two links here. a.feed is the title.
|
|
|
|
|
elem.attr('data-unread', numberFormat(elem.attr('data-unread'))); |
|
|
|
|
}); |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
function init_all() { |
|
|
|
|
if (!(window.$ && window.url_freshrss && ((!full_lazyload) || $.fn.lazyload))) { |
|
|
|
|
if (window.console) { |
|
|
|
@ -813,7 +785,7 @@ function init_all() { |
|
|
|
|
init_print_action(); |
|
|
|
|
window.setInterval(refreshUnreads, 120000); |
|
|
|
|
} |
|
|
|
|
init_number_formats(); |
|
|
|
|
|
|
|
|
|
if (window.console) { |
|
|
|
|
console.log('FreshRSS init done.'); |
|
|
|
|
} |
|
|
|
|