[enh] Do not print old security notice. Append date and reverse order. Fix #186

This commit is contained in:
opi 2016-03-07 08:57:44 +01:00
parent a80633c717
commit 160f0361f0

View file

@ -29,28 +29,34 @@
// Get viewed security alerts from cookie // Get viewed security alerts from cookie
var viewedItems = Cookies.get('ynhSecurityViewedItems') || []; var viewedItems = Cookies.get('ynhSecurityViewedItems') || [];
// Loop through items // Get 6 month earlier date
$('item', xml).each(function(k, v) { var SixMonthEarlier = new Date();
var link=$('link', v)[0].innerHTML; SixMonthEarlier.setMonth(SixMonthEarlier.getMonth() - 6);
// Loop through items in a reverse order (older first)
$($('item', xml).get().reverse()).each(function(k, v) {
var link=$('link', v).text();
if (typeof link == 'string' && link !== '' && link.charAt(0) == '/') if (typeof link == 'string' && link !== '' && link.charAt(0) == '/')
link=forumUrl+link; link=forumUrl+link;
var description=$('description', v)[0].textContent; // var description=$('description', v).text();
description=description.replace('href="/','href="'+forumUrl+'/'); // description=description.replace('href="/','href="'+forumUrl+'/');
var item = { var item = {
guid: $('guid', v)[0].innerHTML, guid: $('guid', v).text(),
title: $('title', v)[0].innerHTML, title: $('title', v).text(),
url: link, url: link,
desc: description, // desc: description,
date: $('pubDate', v)[0].innerHTML.split(' +')[0], date: new Date($('pubDate', v).text()),
}; };
if (viewedItems.indexOf(item.guid) === -1) {
// Show security message to administrator
// var warning = '<h2>'+ item.title +'</h2>'+ item.desc
var warning = item.title + ' (<a href="'+ item.url +'" class="alert-link" target="_blank">'+y18n.t('read_more')+'</a>)';
c.flash('warning', warning);
// If item is not already viewed and is not older than 6 month
if (viewedItems.indexOf(item.guid) === -1 && (item.date.getTime() > SixMonthEarlier.getTime())) {
// Show security message to administrator
var warning = item.title + ' - ' +
item.date.toISOString().substring(0, 10) +
' (<a href="'+ item.url +'" class="alert-link" target="_blank">'+y18n.t('read_more')+'</a>)';
c.flash('warning', warning);
// Store viewed item // Store viewed item
viewedItems.push(item.guid); viewedItems.push(item.guid);
} }