אונטערשייד צווישן ווערסיעס פון "מעדיעוויקי:Gadget-ExtendedFileOptions.js"
קפיצה לניווט
קפיצה לחיפוש
(געשאַפן בלאַט מיט 'if ( mw.config.get('wgNamespaceNumber') === 6 ) $( function() { function deleteCommonsDuplicate(newName) { var api = new mw.Api(); mw.notify('כל השימושים בקובץ הוסרו'); if ( mw.config.get('wgUserGroups').indexOf('sysop') > -1) { api.postWithToken('edit', { action: 'delete', title: mw.config.get('wgPageName'), reason: 'הקובץ נמצא בוויקישיתוף: File:' + newName + '' }); } else {...') |
(אפדעיט) צייכן: צוריקגעשטעלט |
||
שורה 6: | שורה 6: | ||
if ( mw.config.get('wgUserGroups').indexOf('sysop') > -1) | if ( mw.config.get('wgUserGroups').indexOf('sysop') > -1) | ||
{ | { | ||
api.postWithToken('edit', { action: 'delete', title: mw.config.get('wgPageName'), reason: '[[ | api.postWithToken('edit', { action: 'delete', title: mw.config.get('wgPageName'), reason: '[[וק:וש|הקובץ נמצא בוויקישיתוף]]: [[:File:' + newName + ']]' }); | ||
} | } | ||
else | else | ||
שורה 12: | שורה 12: | ||
api.postWithToken('edit', { | api.postWithToken('edit', { | ||
action: 'edit', | action: 'edit', | ||
title: ' | title: 'ויקיפדיה:בקשות ממפעילים', | ||
section: 1, | section: 1, | ||
summary: '[[:' + mw.config.get('wgPageName') + ']] - [[ | summary: '[[:' + mw.config.get('wgPageName') + ']] - [[וק:וש|הקובץ נמצא בוויקישיתוף]]: [[:File:' + newName + ']]' , | ||
appendtext: '\n* {{בקשת מחיקה|' + mw.config.get('wgPageName') + '|קיים קובץ זהה בוויקישיתוף: [[:File:' + newName + ']]}} ~~'+'~~', | appendtext: '\n* {{בקשת מחיקה|' + mw.config.get('wgPageName') + '|קיים קובץ זהה בוויקישיתוף: [[:File:' + newName + ']]}} ~~'+'~~', | ||
tags: 'ניטור_תמונות' | tags: 'ניטור_תמונות' | ||
שורה 24: | שורה 24: | ||
if($('#ca-history').length === 0) return; | if($('#ca-history').length === 0) return; | ||
/* | /* | ||
Replace image uses with commons copy or similar file | Replace image uses with commons copy or similar file | ||
שורה 38: | שורה 38: | ||
requiredReplacements--; | requiredReplacements--; | ||
if (requiredReplacements === 0) deleteCommonsDuplicate(newName); | if (requiredReplacements === 0) deleteCommonsDuplicate(newName); | ||
}) | }); | ||
if ($('.mw-imagepage-linkstoimage a').length === 0) | if ($('.mw-imagepage-linkstoimage a').length === 0) | ||
{ | { | ||
שורה 96: | שורה 96: | ||
if (!reason) return; | if (!reason) return; | ||
if (user.length != 1) { | if (user.length != 1) { | ||
user = prompt('שם מעלה התמונה' | user = prompt('שם מעלה התמונה'); // in past the default was user.join(', ') but this can confuse | ||
if (!user) return; | if (!user) return; | ||
} | } | ||
שורה 102: | שורה 102: | ||
user = user[0]; | user = user[0]; | ||
} | } | ||
if ( user.indexOf(wgFormattedNamespaces[2]) === -1 ) user = ' | if ( user.indexOf(mw.config.get('wgFormattedNamespaces')[2]) === -1 ) user = mw.config.get('wgFormattedNamespaces')[3] +':' +user ; | ||
else user='שיחת ' + user; | |||
var api = new mw.Api(); | var api = new mw.Api(); | ||
שורה 114: | שורה 115: | ||
if (d && d.edit && d.edit.result != 'Success') mw.notify('אירעה שגיאה'); | if (d && d.edit && d.edit.result != 'Success') mw.notify('אירעה שגיאה'); | ||
else { | else { | ||
var userNotice = new mw.Api(); | |||
userNotice.postWithToken('edit', { | |||
action: 'edit', | action: 'edit', | ||
title: | title: user, | ||
section: 'new', | section: 'new', | ||
sectiontitle: '[[:' + mw.config.get('wgPageName').replace(/_/g, " ") + ']]', | sectiontitle: '[[:' + mw.config.get('wgPageName').replace(/_/g, " ") + ']]', | ||
text: ' | text: '{{' + template + '}}\n~~' + '~~', | ||
tags: 'ניטור_תמונות' | tags: 'ניטור_תמונות' | ||
}).done(function( | }).done(function(dd) { | ||
window.location.reload(true); | window.location.reload(true); | ||
}); | }); | ||
שורה 127: | שורה 129: | ||
}); | }); | ||
} | } | ||
/* common messages for handling files*/ | /* common messages for handling files*/ |
רעוויזיע פון 22:05, 24 פעברואר 2023
if ( mw.config.get('wgNamespaceNumber') === 6 ) $( function() {
function deleteCommonsDuplicate(newName) {
var api = new mw.Api();
mw.notify('כל השימושים בקובץ הוסרו');
if ( mw.config.get('wgUserGroups').indexOf('sysop') > -1)
{
api.postWithToken('edit', { action: 'delete', title: mw.config.get('wgPageName'), reason: '[[וק:וש|הקובץ נמצא בוויקישיתוף]]: [[:File:' + newName + ']]' });
}
else
{
api.postWithToken('edit', {
action: 'edit',
title: 'ויקיפדיה:בקשות ממפעילים',
section: 1,
summary: '[[:' + mw.config.get('wgPageName') + ']] - [[וק:וש|הקובץ נמצא בוויקישיתוף]]: [[:File:' + newName + ']]' ,
appendtext: '\n* {{בקשת מחיקה|' + mw.config.get('wgPageName') + '|קיים קובץ זהה בוויקישיתוף: [[:File:' + newName + ']]}} ~~'+'~~',
tags: 'ניטור_תמונות'
}).done(function(d) {
if (d && d.edit && d.edit.result == 'Success') mw.notify('נוספה בקשה בבקשות ממפעילים');
});
}
}
if($('#ca-history').length === 0) return;
/*
Replace image uses with commons copy or similar file
*/
function replaceFile(newName) {
var rgxFrom = new RegExp(': *' + /.+?:(.+)/.exec(mw.config.get('wgPageName'))[1].replace(/_/g, '[ _]')),
process = new $.Deferred(),
api = new mw.Api(),
requiredReplacements = $('.mw-imagepage-linkstoimage a').length;
mw.notify('מחליף ל' + newName);
process.progress(function(){
requiredReplacements--;
if (requiredReplacements === 0) deleteCommonsDuplicate(newName);
});
if ($('.mw-imagepage-linkstoimage a').length === 0)
{
deleteCommonsDuplicate(newName);
}
else {
$('.mw-imagepage-linkstoimage a').each(function(){
var page = $(this).attr('title');
api.get({action:'parse', page: page, prop: 'wikitext'}).done(function(d){
var oldText = d.parse.wikitext['*'];
var newText = d.parse.wikitext['*'].replace(rgxFrom, ':' + newName);
if(oldText!=newText) {
api.postWithToken('edit', {action:'edit', summary: '[['+mw.config.get('wgPageName') + ']] => [[:קובץ:' + newName +']]', text: newText, title: page, tags: 'ניטור_תמונות' }).done(function(){
mw.notify('הקובץ הוחלף ב'+page);
process.notify();
});
} else {
//process.notify();
mw.notify('הקובץ לא הוחלף ב'+page);
}
});
});
}
}
function safeReplaceFile(filename) {
var api = new mw.Api();
api.get({action: 'query', titles: 'File:' + filename, prop: 'imageinfo', indexpageids: 1}).done(function(d) {
if ( d.query.pages["-1"] && d.query.pages["-1"].imagerepository === 'shared' ) {
replaceFile(filename);
} else if ( d.query.pageids.length === 1 && d.query.pageids[0] != -1) {
mw.notify('קיים עותק מקומי של הקובץ');
}
else {
mw.notify('הקובץ לא קיים. נא לבדוק ידנית.');
}
});
}
function replaceToCommons(){
var api = new mw.Api(), newName;
if ($('.mw-imagepage-duplicates a').length === 1 ) {
newName = /.+?:(.+)/.exec($('.mw-imagepage-duplicates a').text())[1].replace('_', ' ');
replaceFile(newName);
} else {
newName = prompt("שם התמונה להחלפה");
newName = newName.replace(/File:|קובץ:|תמונה:/,'').replace('_', ' ');
safeReplaceFile(newName);
}
}
function addTemplateAndNotifyUser(reason, template)
{
var imgTemplate = '{' + '{ס:תמונה בעייתית|' + reason + '}}',
user = $.unique($('#mw-imagepage-section-filehistory .mw-userlink').map(function(){return $(this).text()})).toArray();
reason = prompt('סיבה', reason);
if (!reason) return;
if (user.length != 1) {
user = prompt('שם מעלה התמונה'); // in past the default was user.join(', ') but this can confuse
if (!user) return;
}
else {
user = user[0];
}
if ( user.indexOf(mw.config.get('wgFormattedNamespaces')[2]) === -1 ) user = mw.config.get('wgFormattedNamespaces')[3] +':' +user ;
else user='שיחת ' + user;
var api = new mw.Api();
api.postWithToken('edit', {
action: 'edit',
title: mw.config.get('wgPageName'),
summary: 'תמונה בעייתית - ' + reason ,
appendtext: '\n' + imgTemplate,
tags: 'ניטור_תמונות'
}).done(function(d) {
if (d && d.edit && d.edit.result != 'Success') mw.notify('אירעה שגיאה');
else {
var userNotice = new mw.Api();
userNotice.postWithToken('edit', {
action: 'edit',
title: user,
section: 'new',
sectiontitle: '[[:' + mw.config.get('wgPageName').replace(/_/g, " ") + ']]',
text: '{{' + template + '}}\n~~' + '~~',
tags: 'ניטור_תמונות'
}).done(function(dd) {
window.location.reload(true);
});
}
});
}
/* common messages for handling files*/
var imageTemplate = [
{
buttonText: 'החלפה לתמונה מוויקישיתוף',
id: 't-commons-replace',
alt: 'החלפה בתמונה מוויקישיתוף',
func: replaceToCommons
},
{
buttonText: 'חסר אישור OTRS',
id: 't-OTRS-missing',
alt: 'המשתמש העלה תמונה שמישהו אחר יצר',
func: function() { addTemplateAndNotifyUser('נדרש אישור OTRS', 'אישור OTRS'); }
},
{
buttonText: 'תמונה חסרת רישיון',
id: 't-license-missing',
alt: 'לתמונה לא ניתן רישיון',
func: function() { addTemplateAndNotifyUser('נדרשת תבניות רישיון', 'תמונה ללא רישיון'); }
},
{
buttonText: 'תמונה מוגנת',
id: 't-copyvio',
alt: 'התמונה נמצאה במקור חיצוני ולא ברור שמעלה התמונה הוא הבעלים שלה',
func: function() { addTemplateAndNotifyUser('התמונה כבר קיימת ברשת/נראה שלא נוצרה על ידי מעלה הקובץ', 'תמונה מוגנת'); }
},
{
buttonText: 'שימוש הוגן לא תקין',
id: 't-unfairuse',
alt: 'הקובץ מוגדר כשימוש הוגן אך אינו שימוש הוגן',
func: function() { addTemplateAndNotifyUser('נראה כי התמונה אינה בשימוש הוגן', 'תמונה חופשית'); }
},
{
buttonText: 'שימוש חופשי שצריך הוגן',
id: 't-unfreeuse',
alt: 'תמונה שהועלתה כשימוש חופשי אבל נראית כתמונת שימוש הוגן',
func: function() { addTemplateAndNotifyUser('נראה כי התמונה אינה תמונה חופשית', 'תמונה בשימוש הוגן'); }
},
{
buttonText: 'שימוש הוגן ללא מקור',
id: 't-source-missing',
alt: 'התמונה מוגדרת כשימוש הוגן אך חסר לה מקור',
func: function() { addTemplateAndNotifyUser('חסר מקור', 'תמונה בשימוש הוגן ללא מקור'); }
}
];
if (window.imageTemplateExt)
imageTemplate = imageTemplate.concat(window.imageTemplateExt);
for(var i=0;i<imageTemplate.length;i++) $(mw.util.addPortletLink('p-tb', '#', imageTemplate[i].buttonText, imageTemplate[i].id, imageTemplate[i].alt, null, '#t-whatlinkshere')).click(imageTemplate[i].func);
});