מדיה ויקי:סקריפטים/80.js
הערה: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אינטרנט אקספלורר / אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
- אופרה: ללחוץ על Ctrl-F5.
/**
* written by [[User:ערן]]. Add delete log from commons near broken links to images.
**/
$(function(){
if (mw.config.get( 'wgNamespaceNumber', 0 ) < 0 ) return;
mw.messages.set({'tooManyBrokenFiles': 'הדף מכיל יותר מדי קישורים שבורים לקבצים ולכן לא יופעל בו סקריפט לבדיקת מצב בוויקישיתוף'});
function handleDeletedFile($ele, fileName) {
var commonsApi = new mw.Api( { ajax: { url: 'https://commons.wikimedia.org/w/api.php' } });
commonsApi.get({
action: 'query',
list: 'logevents',
letype: 'delete',
letitle: fileName,
origin: location.origin
}).done(function(data){
if (!data.query || !data.query.logevents || data.query.logevents.length===0 ) return;
var $deleteDiv = $('<div>').text( $.map(data.query.logevents, function(e, i){return e.comment+' ('+e.user+'; '+e.timestamp+')'}).join('') );
$deleteDiv.css( {
'color': '#600',
'direction': 'ltr',
'font-size': '85%',
'font-style': 'italic',
'font-weight': 'bold'
});
$ele.after( $deleteDiv );
$ele.prop( 'href', 'https://commons.wikimedia.org/wiki/'+fileName );
});
}
$('.gallerybox .thumb').filter(function(){ return ($(this).children().length===0)}).each(function(){
var fileName = 'File:'+$(this).text();
handleDeletedFile($(this), fileName);
});
var relevantFiles = [];
$('a[title^="קובץ:"].new').each(function(){
var fileName= $(this).prop( 'title' ).split('קובץ:');
if (fileName.length>2) return;
fileName = 'File:' + fileName[1];
relevantFiles.push([$(this), fileName]);
});
if (relevantFiles.length<10) {
for(var i=0;i<relevantFiles.length;i++){
handleDeletedFile(relevantFiles[i][0],relevantFiles[i][1]);
}
} else {
mw.notify(mw.msg('tooManyBrokenFiles'));
}
});