לדלג לתוכן

משתמש:מקוה/ניסוי.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();