משתמש:מהדורה קמא/common.js: הבדלים בין גרסאות בדף

מתוך אוצר הספרים היהודי השיתופי
קפיצה לניווט קפיצה לחיפוש
אין תקציר עריכה
(קרדיט למשתמש:1Or בוויקיפדיה העברית שיצר את שני הסקריפטים)
שורה 13: שורה 13:
};
};
//עד כאן צביעת קוד מקור
//עד כאן צביעת קוד מקור
//יצירה מהירה של הפניות לדף מאת משתמש:אור, ויקיפדיה העברית
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', "mediawiki.user", "jquery.ui.dialog" ] ).then( function() {
if (mw.config.get("wgNamespaceNumber") === 0) {
$(mw.util.addPortletLink('p-tb', '#', "צור הפניה", "createRedirect", "כלי יצירת הפניות מהירה", "9")).click(function() {
var dialog = $("<div>").html($("<input class='inputR'><input class='inputR'><input class='inputR'>")).dialog({title: "היכן ליצור את ההפניה?"});
dialog.before($("<button>").append("עוד הפניה").click(function(){
dialog.append($("<br>"), $("<input class='inputR'>"));
}));
$(dialog).keypress(function(key){if (key.key == "Enter") dialog.append($("<br>"), $("<input class='inputR'>"));});
var Api = new mw.Api();
dialog.before($("<button>").append("בצע").click(function(){
for (var num in $(".inputR")) {
var redirect =  "#הפניה [[" + mw.config.get('wgPageName').replace(/_/g, " ") + "]]";
var pageName = $(".inputR")[num].value;
if (pageName && pageName.match(/#/)) {
redirect = redirect.replace(/\]\]/, pageName.match(/(#.+)/)[1] + "]]");
pageName = pageName.replace(/#.+/, "");
}
if (pageName) {
var sum = prompt("תקציר עריכה לדף " + pageName);
if (sum === "") {
sum = "הפניה לדף " +  "[[" + mw.config.get('wgPageName').replace(/_/g, " ") + "]]";
}
Api.post({
action : 'edit',
title : pageName,
text: redirect,
summary: sum,
createonly: true,
token : mw.user.tokens.get('editToken')
}).done( function(data) { if (data && data.edit && data.edit.result == "Success") mw.notify('הפניה בשם "' + data.edit.title + '" נוצרה בהצלחה.'); }).fail(function(error) { mw.notify('ההפניה לא נוצרה: ' + error, { type:'error', title: "שגיאה"}); });
        }
    }
dialog.dialog("close");
}));
});
}
});
//סוף סקריפט ההפניות
//סקריפט החלפות שיצר משתמש:אור בוויקיפדיה העברית
(function(){
function counter(d, z){
if (d==0) {
counter.busy_processes=0;
counter.total=z;
} else {
counter.busy_processes=counter.busy_processes+d;
counter.total=counter.total+z;
if (counter.busy_processes == 0){
mw.notify("בוצעו "+counter.total+" החלפות");
}
}
}
function ReplaceName(regex, replaceTo, editSummary){
counter(0,0); // reset the counter
counter(1,0);
setTimeout(function(){counter(-1,0);}, 1000);
var abcdefg = "";
if (mw.config.get("wgCanonicalSpecialPageName") == "Prefixindex" && mw.config.get('wgPageName').match(/ב\/(.+\:)/)) {
abcdefg = mw.config.get('wgPageName').match(/ב\/(.+\:)/)[1];
}
$('.mw-body-content a').each(function(){
var page = abcdefg + $(this).context.text;
new mw.Api().get({action:'parse', page: page, prop: 'wikitext'}).done(function(d){
var oldText = d.parse.wikitext['*'];
var newText = d.parse.wikitext['*'].replace(regex, replaceTo);
if(oldText!=newText) {
counter(1,0);
new mw.Api().postWithToken('csrf', {action:'edit', summary: editSummary, text: newText, title: page }).done(function(){
mw.notify('ההחלפה בוצעה בדף ' + page);
counter(-1,1);
});
}
});
});
}
if (mw.config.get("wgCanonicalSpecialPageName") == "Whatlinkshere" || mw.config.get("wgCanonicalSpecialPageName") == "Search" || mw.config.get("wgCanonicalSpecialPageName") == "LinkSearch" || mw.config.get("wgCanonicalSpecialPageName") == "Prefixindex") {
$(mw.util.addPortletLink('p-tb', '#', 'חיפוש והחלפה', 't-search-replace', 'הפעלת פונקציית חיפוש והחלפה', null, '#t-whatlinkshere')).click(WReplaceName);
}
function WReplaceName(){
var SumTTR = prompt("תקציר עריכה");
if (SumTTR !== null) {
var RegexTR = new RegExp(prompt("ביטוי רגולרי: מה להחליף?"), 'g');
var RegexRT = prompt("ביטוי רגולרי: במה להחליף?");
ReplaceName(RegexTR, RegexRT, SumTTR);
}
}
})();
//עד כאן סקריפט החלפה - דורש החלפה בזהירות רבה

גרסה מ־14:30, 5 במאי 2020

mw.loader.load('http://localhost/test.js' );

//MW:User:Remember the dot/Syntax highlighter
mw.loader.load('//www.mediawiki.org/w/index.php?title=MediaWiki:Gadget-DotsSyntaxHighlighter.js&action=raw&ctype=text/javascript');

syntaxHighlighterConfig = {
    externalLinkColor: "#AFEEEE", //טורקיז חיוור עבור קישח"צ
    wikilinkColor: "#87CEEB", //כחול שמיים עבור קישורים
    headingColor: "#808080", //אפור עבור כותרות
    boldOrItalicColor: "#C0C0C0", //כסף עבור הדגשה ואיטליקס
    signatureColor: "#00FF00", //ירוק סיד עבור חתימה
    templateColor: "#eeccee", //סגול בהיר כלשהו עבור תבניות
};
//עד כאן צביעת קוד מקור
//יצירה מהירה של הפניות לדף מאת משתמש:אור, ויקיפדיה העברית
mw.loader.using( [ 'mediawiki.util', 'mediawiki.api', "mediawiki.user", "jquery.ui.dialog" ] ).then( function() {
	if (mw.config.get("wgNamespaceNumber") === 0) {
		$(mw.util.addPortletLink('p-tb', '#', "צור הפניה", "createRedirect", "כלי יצירת הפניות מהירה", "9")).click(function() {
			var dialog = $("<div>").html($("<input class='inputR'><input class='inputR'><input class='inputR'>")).dialog({title: "היכן ליצור את ההפניה?"});
			dialog.before($("<button>").append("עוד הפניה").click(function(){
			dialog.append($("<br>"), $("<input class='inputR'>"));
			}));
			$(dialog).keypress(function(key){if (key.key == "Enter") dialog.append($("<br>"), $("<input class='inputR'>"));});
			var Api = new mw.Api();
			dialog.before($("<button>").append("בצע").click(function(){
				for (var num in $(".inputR")) {
					var redirect =  "#הפניה [[" + mw.config.get('wgPageName').replace(/_/g, " ") + "]]";
					var pageName = $(".inputR")[num].value;
					if (pageName && pageName.match(/#/)) {
						redirect = redirect.replace(/\]\]/, pageName.match(/(#.+)/)[1] + "]]");
						pageName = pageName.replace(/#.+/, "");
					}
					if (pageName) {
						var sum = prompt("תקציר עריכה לדף " + pageName);
						if (sum === "") {
							sum = "הפניה לדף " +  "[[" + mw.config.get('wgPageName').replace(/_/g, " ") + "]]";
						}
						Api.post({
							action : 'edit',
							title : pageName,
							text: redirect,
							summary: sum,
							createonly: true,
							token : mw.user.tokens.get('editToken')
						}).done( function(data) { if (data && data.edit && data.edit.result == "Success") mw.notify('הפניה בשם "' + data.edit.title + '" נוצרה בהצלחה.'); }).fail(function(error) { mw.notify('ההפניה לא נוצרה: ' + error, { type:'error', title: "שגיאה"}); });
			        }
			    }
				dialog.dialog("close");
			}));
		});
	}
});
//סוף סקריפט ההפניות
//סקריפט החלפות שיצר משתמש:אור בוויקיפדיה העברית
(function(){
	function counter(d, z){
		if (d==0) {
			counter.busy_processes=0;
			counter.total=z;
		} else {
			counter.busy_processes=counter.busy_processes+d;
			counter.total=counter.total+z;
			if (counter.busy_processes == 0){
				mw.notify("בוצעו "+counter.total+" החלפות");
			}
		}
	}
	
	function ReplaceName(regex, replaceTo, editSummary){
		counter(0,0); // reset the counter
		counter(1,0);
		setTimeout(function(){counter(-1,0);}, 1000);
		var abcdefg = "";
		if (mw.config.get("wgCanonicalSpecialPageName") == "Prefixindex" && mw.config.get('wgPageName').match(/ב\/(.+\:)/)) {
			abcdefg = mw.config.get('wgPageName').match(/ב\/(.+\:)/)[1];
		}
		$('.mw-body-content a').each(function(){
			var page = abcdefg + $(this).context.text;
			new mw.Api().get({action:'parse', page: page, prop: 'wikitext'}).done(function(d){
				var oldText = d.parse.wikitext['*'];
				var newText = d.parse.wikitext['*'].replace(regex, replaceTo);
				if(oldText!=newText) {
					counter(1,0);
					new mw.Api().postWithToken('csrf', {action:'edit', summary: editSummary, text: newText, title: page }).done(function(){
						mw.notify('ההחלפה בוצעה בדף ' + page);
						counter(-1,1);
					});
				}
			});
		});
	}
	
	if (mw.config.get("wgCanonicalSpecialPageName") == "Whatlinkshere" || mw.config.get("wgCanonicalSpecialPageName") == "Search" || mw.config.get("wgCanonicalSpecialPageName") == "LinkSearch" || mw.config.get("wgCanonicalSpecialPageName") == "Prefixindex") {
			$(mw.util.addPortletLink('p-tb', '#', 'חיפוש והחלפה', 't-search-replace', 'הפעלת פונקציית חיפוש והחלפה', null, '#t-whatlinkshere')).click(WReplaceName);
	}
	
	function WReplaceName(){
		var SumTTR = prompt("תקציר עריכה");
		if (SumTTR !== null) {
			var RegexTR = new RegExp(prompt("ביטוי רגולרי: מה להחליף?"), 'g');
			var RegexRT = prompt("ביטוי רגולרי: במה להחליף?");
			ReplaceName(RegexTR, RegexRT, SumTTR);
		}
	}
})();
//עד כאן סקריפט החלפה - דורש החלפה בזהירות רבה