Szerkesztő:Balasyum/jaror.js
Megjelenés
Megjegyzés: közzététel után frissítened kell a böngésződ gyorsítótárát, hogy lásd a változásokat.
- Firefox / Safari: tartsd lenyomva a Shift gombot és kattints a Frissítés gombra a címsorban, vagy használd a Ctrl–F5 vagy Ctrl–R (Macen ⌘–R) billentyűkombinációt
- Google Chrome: használd a Ctrl–Shift–R (Macen ⌘–Shift–R) billentyűkombinációt
- Internet Explorer / Edge: tartsd nyomva a Ctrl-t, és kattints a Frissítés gombra, vagy nyomj Ctrl–F5-öt
- Opera: Nyomj Ctrl–F5-öt
importScript("MediaWiki:Gadget-warning.js");
/*
Script átrakva MediaWiki névtérbe
Sablonok listája. Paraméterek sorban:
1. melyik névtérben jelenjen meg (wgNamespaceNumber) (negatív értékűt nem rakja ki magától, arról külön kód gondoskodik)
2. beillesztendő szöveg
3. szerkesztési összefoglaló
4. azonnali mentés (1=igen)
5. 0=elejére, 1=végére, -1=tartalom törlése
6, 7. (opcionális) paraméter leírása (akkor kell, ha a beillesztendőben van %1, %2)
var jarorSablonok = new Object({
'Szubcsonk': [0, 'szubcsonk|~~'+'~~'+'~}}', 'Szubcsonk sablon', 1, 0],
'Azonnali': [0, 'azonnali|1=%1|2=~~'+'~~}}', 'Azonnali sablon', 1, 0, 'Indoklás:'],
'Forma': [0, 'forma|1=%1}}', 'Forma sablon', 1, 0, '(o) Indoklás:'],
'Lektor': [0, 'lektor}}', 'Lektor sablon', 1, 0],
'Átdolgoz': [0, 'átdolgoz}}', 'Átdolgoz sablon', 1, 0],
'Korr': [0, 'korrektúra}}', 'Korrektúra sablon', 1, 0],
'Nincs forrás': [0, 'nincs forrás}}', 'Nincs forrás sablon', 1, 0],
'Részben N.F.' : [0, 'részben nincs forrás}}', 'Részben nincs forrás sablon', 1, 0],
'SN': [0, 'SN|%1}}', 'SN sablon', 1, 0, '(o) Pontosítás: "SN", "reklám", vagy rövid indoklás'],
'Törlés': [0, 'törlés|%1}}', 'Törlés sablon', 1, 0, '(o) Ha már nem az első törlés, akkor: "második" stb.'],
'Csonk': [0, 'csonk}}', 'Csonk sablon', 0, 0],
'Jogsértő': [0, 'jogsértő|url=%1}}', 'Jogsértő sablon', 1, -1, "URL:"],
'Másolmány': [0, 'másolmány|2=%2|url=%1}}', 'Másolmány sablon', 0, 0, "URL:", '(o) Mi a másolmány: "a szócikk" vagy "a szakasz"'],
'Wikikönyvekbe': [0, 'wikikönyvekbe}}', 'Wikikönyvekbe sablon', 1, 0],
'Wikiszótárba': [0, 'wikiszótárba}}', 'Wikiszótárba sablon', 1, 0],
'Arabátír': [0, 'arabátír|1=%1}}', 'Arabátír sablon', 1, 0, 'Indoklás:'],
'Cirillátír': [0, 'cirillátír|1=%1}}', 'Cirillátír sablon', 1, 0, '(o) Indoklás:'],
'Görögátír': [0, 'görögátír|1=%1}}', 'Görögátír sablon', 1, 0, '(o) Indoklás:'],
'Héberátír': [0, 'héberátír|1=%1}}', 'Héberátír sablon', 1, 0, '(o) Indoklás:'],
'Japánátír': [0, 'japánátír|1=%1}}', 'Japánátír sablon', 1, 0, '(o) Indoklás:'],
'Koreaiátír': [0, 'koreaiátír|1=%1}}', 'Koreaiátír sablon', 1, 0, '(o) Indoklás:'],
'Kínaiátír': [0, 'kínaiátír|1=%1}}', 'Kínaiátír sablon', 1, 0, '(o) Indoklás:'],
'Laoátír': [0, 'laoátír|1=%1}}', 'Laoátír sablon', 1, 0, '(o) Indoklás:'],
'Vandalizmus': [3, 'subst:vandalizmus}} – ~~'+'~~', 'Vandalizmus sablon', 1, 1],
'Teszt': [3, 'subst:teszt|1=%1}} – ~~'+'~~', 'Első figyelmeztetés', 1, 1, '(o) Szócikk címe vagy difflink'],
'Teszt2': [3, 'subst:teszt2}} – ~~'+'~~', 'Második figyelmeztetés', 1, 1],
'Teszt3': [3, 'subst:teszt3}} – ~~'+'~~', 'Kérlek, állj le!', 1, 1],
'Teszt4': [3, 'subst:teszt4}} – ~~'+'~~', 'Utolsó figyelmeztetés', 1, 1],
'Szubcsonk-figy': [3, 'subst:szubcsonk-figy|1=%1}}', 'Szubcsonk figyelmeztetés', 1, 1, '(o) Érintett szócikk címe:'],
'Netörölj': [3, 'subst:netörölj}} – ~~'+'~~', 'Ne törölj!', 1, 1],
'Nemásolj': [3, 'nemásolj|1=%1|2=%2}}', 'Kétes szerzői jog', 1, 1, '(o) Érintett szócikk címe:', '(o) URL, ahonnan másolt'],
'Spam': [3, 'subst:spam}} – ~~'+'~~', 'Spam', 1, 1],
'Üdvözlet': [-3, 'subst:üdvözlet|user=~~'+'~~|kép=%1}}', 'Üdvözlet', 1, 0, '(o) Ha nem alap képet akarsz (csillagos, gombostű, zöldgömb, igazgömb, otthonos, régi)'],
'Anonüdv': [-3, 'subst:anonüdv|user=~~'+'~~}}', 'Anonüdv', 1, 0]
});
if ( typeof(jarorSablonLista) == "undefined" ) {
//Bekapcsolt sablonok: alapértelmezetten ezek látszanak, monobook.js-ben felüldefiniálható
//A negatív névterűeket (pl üdvözlet) nem kell megadni, mert azok mindig megjelennek
var jarorSablonLista = ["Szubcsonk", "Azonnali", "Törlés", "Forma", "Lektor", "Korr", "Nincs forrás", "SN", "Csonk", "Jogsértő", "Másolmány", "Vandalizmus", "Teszt", "Teszt2", "Teszt3", "Teszt4", "Spam", "Netörölj", "Szubcsonk-figy", "Nemásolj"];
}
function getURLParam(strParamName){
var strReturn = "";
var strHref = window.location.href;
if (strHref.indexOf("?") > -1) {
var strQueryString = strHref.substr(strHref.indexOf("?"));
var aQueryString = strQueryString.split("&");
for (var iParam = 0; iParam < aQueryString.length; iParam++) {
if (aQueryString[iParam].indexOf(strParamName + "=") > -1) {
var aParam = aQueryString[iParam].split("=");
strReturn = aParam[1];
break;
}
}
}
return decodeURIComponent(strReturn);
}
function jogosultsag() { //Van-e jogosultságunk a lap szerkesztésére
var L;
for (var i=0; i<wgRestrictionEdit.length; ++i) {
L=false;
for (var j=0; j<wgUserGroups.length; ++j) {
if (wgRestrictionEdit[i] == wgUserGroups[j])
L=true;
}
if ( !L )
return false;
}
return true;
}
function jarorPrompt(sablon) { //Bekéri a sablon paramétereit
var url = wgServer+wgScript +'?title='+ encodeURIComponent(mw.config.get('wgPageName'))+'&action=edit&jaror='+ encodeURIComponent(sablon);
var params = "";
var undefNum = 0;
for (var i=1; i<arguments.length; ++i) {
var value = prompt("{"+"{"+sablon+"}}\n"+ unescape(arguments[i]), "");
if (value!=null) {
params += '¶m'+ i +'=' + encodeURIComponent(value);
}else {
params = "";
break;
}
}
if (params != "" || arguments.length == 1)
document.location = url + params;
}
function jaror_show(showall) { //Sablonok gombra kattintva megjeleníti/eltünteti a sávot
function fillParams(tomb) { //jarorPrompt onclick híváshoz generálja a paramétereket
var str = "";
for (var i=5; i<tomb.length; ++i) {
str+=", '"+ escape(tomb[i]) +"'";
}
return str;
}
function osszesSablonNev() { //jarorSablonok objektumtulajdonságait tömbbe rakja
var ret = new Array();
for (var i in jarorSablonok)
ret.push(i);
return ret;
}
if ( document.getElementById('jarorDiv') == null ) { //Ha még nem létezik a sáv
var cim = wgServer+wgScript +'?title='+ encodeURIComponent(mw.config.get('wgPageName')) +'&action=edit&jaror=';
var jarordiv = document.createElement("div");
jarordiv.id = "jarorDiv";
jarordiv.align = "center";
var lista = (showall == "all") ? osszesSablonNev() : jarorSablonLista;
var j=0; // Pipe jel miatt kell
for (var i in lista) { //Megjeleníti a jarorSablonLista tömbben megadott sablonokat, amik a névtérhez tartoznak
if ( typeof(jarorSablonok[lista[i]]) != "undefined" ) {
var tmp = lista[i];
if (wgNamespaceNumber == jarorSablonok[tmp][0]) { //Névtér vizsgálat
jarordiv.innerHTML += (j==0 ? '' : ' | ')+ "<a href='#' onClick=\"jarorPrompt("+
"'"+tmp+"'"+ fillParams(jarorSablonok[tmp]) +");return false;\">"+ tmp +"</a>";
++j;
}
}else
alert( lista[i]+" sablon nem létezik.\nTipp: talán a monobook.js-edben van elírva.");
}
if (showall != "all")
jarordiv.innerHTML += " | <a href='javascript:jaror_show();jaror_show(\"all\");'><i>(összes)</i></a>";
document.getElementById('content').insertBefore(jarordiv, document.getElementById('content').childNodes[2]);
//Megíratlan szerkesztői vitalapokhoz üdvözlő sablonok
if (wgNamespaceNumber == 3 && wgAction == 'edit' && typeof(document.editform) != "undefined"
&& document.getElementById('wpTextbox1').value == "") {
var reg = /\b(?:\d{1,3}\.){3}\d{1,3}\b/; //IP cím keresése
var udvozlet = document.createElement("center");
if (reg.test(wgTitle)) {
udvozlet.innerHTML = '<a href="' + cim + 'Anonüdv">Anonüdv</a>';
}else
udvozlet.innerHTML = '<a href="' + cim + 'Üdvözlet">Üdvözlet</a>';
document.getElementById('jarorDiv').insertBefore(udvozlet, jarordiv.childNodes[0]);
}
}else {
document.getElementById('content').removeChild( document.getElementById('jarorDiv') );
}
}
function jaror(){
function sprintf(str) { //sprintf függvény a paraméterek belekódolásához
for (var i = 1; i < arguments.length; i++) {
var minta = new RegExp("\\%" + (i), "g");
str = str.replace(minta, arguments[i]);
}
return str;
}
if (getURLParam('printable') == 'yes' || wgPageName == "Kezdőlap")
return false;
//"Sablonok" gomb kirakása fölülre
if ( jogosultsag() && ((wgNamespaceNumber==0 && wgAction=='view') || wgNamespaceNumber==3 )) {
var node = document.getElementById("p-cactions");
if ( !node ) return null;
node = node.getElementsByTagName( "ul" )[0];
if ( !node ) return null;
var link = document.createElement( "a" );
link.appendChild( document.createTextNode( "Sablonok▼" ) );
link.href = "javascript:jaror_show();";
link.id = "ca_jaror_a";
link.setAttribute( "title", "Gyakran használt sablonok" );
var item = document.createElement( "li" );
item.appendChild( link );
item.id = 'ca-jaror';
node.appendChild( item );
}
//Kiértékelés, sablonok beillesztése a szövegbe. Ha egy sablonra kattintott, az új oldal betöltődésekor fut le
var sablonnev = getURLParam('jaror');
if (sablonnev != "" && wgAction == 'edit' && typeof(document.editform) != "undefined") {
var param1 = decodeURIComponent(getURLParam("param1"));
var param2 = decodeURIComponent(getURLParam("param2"));
var param3 = decodeURIComponent(getURLParam("param3"));
var TB = document.getElementById('wpTextbox1');
if ( typeof(jarorSablonok[sablonnev]) != "undefined" ) {
var tmp = jarorSablonok[sablonnev];
if (tmp[4] == 0)
TB.value = '{{'+ sprintf(tmp[1],param1,param2,param3) +'\n' + TB.value;
if (tmp[4] == 1)
TB.value += '{{'+ sprintf(tmp[1],param1,param2,param3) +'\n';
if (tmp[4] ==-1)
TB.value = '{{'+ sprintf(tmp[1],param1,param2,param3) +'\n';
document.getElementById('wpSummary').value = tmp[2];
//if (tmp[3] == 1)
// document.editform.submit();
}else
alert("Hibás sablonnév: "+ sablonnev +"\nKérlek szólj a fejlesztőnek.");
}
}
$(jaror);
*/