176,460
עריכות
מהדורה קמא (שיחה | תרומות) אין תקציר עריכה |
מהדורה קמא (שיחה | תרומות) (קרדיט למשתמש: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); | |||
} | |||
} | |||
})(); | |||
//עד כאן סקריפט החלפה - דורש החלפה בזהירות רבה |