ميدياويكي:Gadget-ArabicAds.js
المظهر
![]() | هذه الصفحة هي جزء من الإضافة «ArabicAds»، هذه الإضافة مخفية . |
ملاحظة: بعد الحفظ، قد يلزمك إفراغ الكاش لرؤية التغييرات.
$.when(
$.getJSON(mw.config.get('wgScript') + '?action=raw&ctype=application/json&maxage=5&title=MediaWiki:إعلانات/بيانات.json'),
mw.loader.using(['mediawiki.util']),
$.ready
).then(function (jsonData) {
let ads = jsonData[0];
let validAds = [];
const datestring = (new Date).toISOString();
const Adkey = 'arabic-ads-last';
function cookiesEnabled() {
if ( mw.cookie.get( 'mf_testcookie' ) === 'test_value' ) {
return true;
} else {
mw.cookie.set( 'mf_testcookie', 'test_value', {
path: '/'
} );
return mw.cookie.get( 'mf_testcookie' ) === 'test_value';
}
}
ads.forEach(ad => {
if ((ad.start < datestring) && (ad.end > datestring)) {
validAds.push(ad);
}
});
console.log(validAds.length);
let cad;
let hasCookies = cookiesEnabled();
if (validAds.length == 1) {
cad = validAds[0];
} else if (validAds.length > 1) {
if (hasCookies) {
let lastAd = mw.cookie.get(Adkey);
lastAd = Number(lastAd) || -1;
for (let i = 0; i < validAds.length; i++) {
if (validAds[i].id > lastAd) {
cad = validAds[i];
break;
}
}
if (cad === undefined) {
cad = validAds[0];
}
} else {
cad = validAds[Math.floor(Math.random() * validAds.length)];
}
}
if (cad !== undefined) {
if (hasCookies) {mw.cookie.set(Adkey, cad.id, { expires: 2 * 86400, path: '/' });}
$.get(mw.config.get('wgScript') + '?action=render&maxage=86400&title=MediaWiki:إعلانات/' + cad.page, function (getData){
$("#siteNotice")[0].innerHTML += '<div>' + getData + '</div>';
} )
console.log(cad.id);
}
});