משתמש:מקוה/ניסוי.js
מראה
לתשומת ליבך: לאחר הפרסום, ייתכן שיהיה צורך לנקות את זיכרון המטמון (cache) של הדפדפן כדי להבחין בשינויים.
- פיירפוקס / ספארי: להחזיק את המקש Shift בעת לחיצה על טעינה מחדש (Reload) או ללחוץ על צירוף המקשים Ctrl-F5 או Ctrl-R (במחשב מק: ⌘-R).
- גוגל כרום: ללחוץ על צירוף המקשים Ctrl-Shift-R (במחשב מק: ⌘-Shift-R).
- אדג': להחזיק את המקש Ctrl בעת לחיצה על רענן (Refresh) או ללחוץ על צירוף המקשים Ctrl-F5.
function removeImage(){
var exrx = /(\[\[\s*:?)?(image|תמונה|קובץ|file)?(\s*:?\s*)(IMAGENAME)([^\[\]]*|\[[^\[\]]*\]|\[\[[^\[\]]*\]\])*(\]\]|\n)/ig,
exrx1 = /(image|תמונה|קובץ|file)?(\s*:?\s*)(IMAGENAME)(\|.*)*/ig,
exNewText;
$('a.mw-file-description').each(function() {
var eximage = this;
var exhref = eximage.href;
var exname = exhref.split('org.il/')[1];
var exnami = decodeURIComponent(exname).trim().replace(/קובץ:/,'').replace(/[ _]/g,"[_\\s]").replace(/[(]/g,"\\(").replace(/[)]/g,"\\)");
//console.log(eximage);
//console.log(exnami);
$(eximage).after($('<button>')
.text('הסרת תמונה')
.click(function() {
console.log('name',exnami);
let picName = decodeURIComponent(exname);
redir(picName);
let exrxe = new RegExp(exrx.source.replace('IMAGENAME', exnami));
let exrxe1 = new RegExp(exrx1.source.replace('IMAGENAME', exnami));
exGetLinks(exname,exrxe,exrxe1);
})
);
});
function exGetLinks (exname,exrxe,exrxe1){
fetch("/w/api.php?action=query&format=json&prop=fileusage&list=&indexpageids=1&titles="+exname+"&utf8=1&fuprop=pageid%7Ctitle").then(response => response.json()).then(function(response){
let exList = response.query.pages[response.query.pageids[0]].fileusage;
console.log(exList);
if(!exList){
alert("no file usage found");
}else if (exList.length){
for (let exa = 0; exa < exList.length; exa++){
let exIdToCh = exList[exa]["pageid"];
let exNs = exList[exa]["ns"];
if(exNs != 4){
exGeText(exIdToCh,exrxe,exrxe1);
}
}
}
});
}
function exGeText(exIdToCh,exrxe,exrxe1){
fetch('/w/api.php?action=parse&format=json&pageid='+exIdToCh+'&prop=wikitext&utf8=1').then(response => response.json()).then(function(response){
//console.log(response)
let data = response.parse.wikitext["*"];
let exExtract = exrxe.exec(data);
console.log(exExtract + " , " + exrxe);
if(exExtract != null){
if(exExtract[1] != null){
exNewText = data.replace(exrxe, '');
if(exNewText != data){
exChangeText(exIdToCh,exNewText);
}else{
console.log("nothing happend");
}
}else if(exExtract[1] == null){
exNewText = data.replace(exrxe1, '');
if(exNewText != data){
exChangeText(exIdToCh,exNewText);
}else{
console.log("nothing happend");
}
}
}
});
}
function exChangeText(exIdToCh,exNewText){
if(allowed === true){
$.post( mw.util.wikiScript('api'),
{
"action": "edit",
"format": "json",
"pageid": exIdToCh,
"text": exNewText,
"summary": "הסרת תמונה",
"minor": 1,
"bot": 1,
"tags": "הסרת תמונה",
"nocreate": 1,
"token": mw.user.tokens.get('csrfToken') ,
"utf8": 1
},
function(data){
if (data && data.edit && data.edit['result'] == 'Success'){
console.log("עריכת הדף: " + decodeURIComponent(data.edit['title']) + ' הושלם בהצלחה');
}else{
console.log(data);
}
});
}
}
}
var alow = 'autopatroller';
function isAuth (group){
if(mw.config.get('wgUserGroups').indexOf(group) != -1){
return true;
}else{
return;
}
}
var allowed = isAuth(alow);
function redir(picName){
fetch("/w/api.php?action=query&format=json&prop=info&indexpageids=1&titles="+encodeURIComponent(picName)+"&utf8=1&inprop=").then(response => response.json()).then(function(response){
if(response.query.pageids[0] == '-1' && allowed === true){
console.log("הדף " + picName + " לא קיים עדיין");
$.post( mw.util.wikiScript('api'),
{
"action": "edit",
"format": "json",
"title": picName,
"text": "#הפניה ["+"[קובץ:תמונה חילופית.jpg]]",
"summary" : "חסימת תמונה",
"bot": 1,
"createonly": 1,
"token": mw.user.tokens.get('csrfToken') ,
"utf8": 1
},
function(data){
if (data && data.edit && data.edit['result']== 'Success'){
console.log("עריכת הדף: " + decodeURIComponent(data.edit['title']) + ' הושלם בהצלחה');
}else if(data.edit['result'] == 'Fail'){
console.log("עריכת הדף: " + decodeURIComponent(data.edit['title']) + ' נכשלה' + data);
}else{
console.log(data);
}
});
}else{
console.log("הדף " + picName + " קיים כבר");
}
});
}
removeImage();