Szerkesztő:Y 6/warning.js

A Wikipédiából, a szabad enciklopédiából

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
//<source lang="JavaScript">
// Gyakran használt sablonok (eredeti nevén: járőrscript)
// az eredetit Balasyum készítette, [[Szerkesztő:Balasyum/jaror.js]]
// hibajelentés, ötletek, kérések ide: [[Szerkesztővita:BáthoryPéter]]

/*Sablonok listája. Paraméterek sorban:
    1. melyik névtérben jelenjen meg (wgNamespaceNumber). Szögletes zárójelek között vesszővel elválasztva kell felsorolni a névterek számát. (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, 2=tartalom törlése, 3=tartalom kikommentezé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', 1, 0],
    'Azonnali':      [[0,4], '{{azonnali|1=%1|2=~~'+'~~}}', 'Azonnal törlendő', 1, 0, 'Indoklás:'],
    'Forma':         [[0,4], '{{forma|1=%1}}', 'Formázandó', 1, 0, '(o) Indoklás:'],
    'Lektor':        [[0,4], '{{lektor}}', 'Lektorálandó', 1, 0],
    'Átdolgoz':      [[0], '{{átdolgoz}}', 'Átdolgozandó', 1, 0],
    'Korr':          [[0], '{{korrektúra}}', 'Korrektúra szükséges', 1, 0],
    'Nincs forrás':  [[0], '{{nincs forrás}}', 'Forrás hiányzik', 1, 0],
    'Részben N.F.':  [[0], '{{részben nincs forrás}}', 'Forrás részben hiányzik', 1, 0],
    'SN':            [[0], '{{SN|%1}}', 'Probléma van a nézőpontjával', 1, 0, '(o) Pontosítás: "SN", "reklám", vagy rövid indoklás'],
    'Törlés':        [[0,6], '{{törlés|%1}}', 'Törlésre jelölve', 1, 0, '(o) Ha már nem az első törlés, akkor ezt írd ide: "második", "harmadik", stb., egyébként ne írj ide semmit!'],
    'Csonk':         [[0], '{{csonk{{subst:#if:%1|-%1}}}}', 'Csonk, hiányos', 0, 1, '(o) Csonk fajtája (pl: irodalom)\nBővebben lásd a "Wikipédia:Csonksablonok listája" lapon'],
    'Jogsértő':      [[0], '{{jogsértő|url=%1}}', 'Jogsértő lehet', 1, 3, "URL:"],
    'Másolmány':     [[0], '{{másolmány|2=%2|url=%1}}', 'Másolták valahonnan', 0, 0, "URL:", '(o) Mi a másolmány: "a szócikk" vagy "a szakasz"'],
    'Rajongó':       [[0], '{{rajongó}}', 'Rajongó hangnemben fogalmaz', 1, 0],
    'Nincs bevezető':[[0], '{{nincs bevezető}}', 'Nincs bevezető', 1, 0],
    'Nincsinfobox':  [[0], '{{nincsinfobox|1=%1}}', 'Nincs infobox', 1, 0, "(o) Hiányzó infobox neve:"],
    'Rosszcím':      [[0], '{{rosszcím|1=%1}}', 'A cím megjelenítését segítő sablon elhelyezése', 1, 0, 'Helyes cím:'],
    'Helytelen cím': [[0], '{{Helytelen cím|1=%1}}', 'Helyesírási probléma van a címével', 1, 0, 'Indoklás:'],
    'Kronológia':    [[0], '{{kronológia}}', 'Nem folyószövegben van fogalmazva', 1, 0],
    'Jegyzetszerű':  [[0], '{{jegyzetszerű}}', 'Tankönyvi stílusban van fogalmazva', 1, 0],
    'Wikikönyvekbe': [[0], '{{wikikönyvekbe}}', 'Wikikönyvekbe való', 1, 0],
    'Wikiszótárba':  [[0], '{{wikiszótárba}}', 'Wikiszótárba való', 1, 0],
    'Arabátír':      [[0], '{{arabátír|1=%1}}', 'Arab nevek átírása nem jó', 1, 0, 'Indoklás:'],
    'Cirillátír':    [[0], '{{cirillátír|1=%1}}', 'Cirill nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Görögátír':     [[0], '{{görögátír|1=%1}}', 'Görög nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Héberátír':     [[0], '{{héberátír|1=%1}}', 'Héber nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Japánátír':     [[0], '{{japánátír|1=%1}}', 'Japán nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Koreaiátír':    [[0], '{{koreaiátír|1=%1}}', 'koreai nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Kínaiátír':     [[0], '{{kínaiátír|1=%1}}', 'Kínai nevek átírása nem jó', 1, 0, '(o) Indoklás:'],
    'Laoátír':       [[0], '{{laoátír|1=%1}}', 'Lao nevek átírása nem jó', 1, 0, '(o) Indoklás:'],

    'Élő':               [[1], '{{élő}}', '„Élő személy” sablon', 0, 1],
    'Adminsegély':       [[1], '{{adminsegély}}', 'Adminisztrátori segítségre van szükség', 0, 1],
    'Tartalmi segély':   [[1], '{{tartalmi segély}}', 'Tartalmi segítségre van szükség', 0, 1],
    'Műszaki segély':    [[1], '{{műszaki segély}}', 'Műszaki segítségre van szükség', 0, 1],
    'Helyesírási segély':[[1], '{{helyesírási segély}}', 'Helyesírási segítségre van szükség', 0, 1],
    'Segély':            [[1], '{{segély}}', 'Tapasztaltabb szerkesztő segítségére van szükség', 0, 1],

    'Vandalizmus':   [[3], '\n==Vandalizmus==\n{{subst:vandalizmus}} – ~~'+'~~', 'Figyelmeztetés vandálkodás miatt', 1, 1],
    'Sulivandál' :   [[3], '\n==Vandalizmus==\n{{subst:sulivandál|1=%1}}', 'Iskolai vandálkodás', 1, 1, '(o) Iskola\n(pl: "az XY Középiskolában", vagy "a budapesti iskolában")'],
    'Teszt':         [[3], '\n=={{subst:#if:%1|%1|Figyelmeztetés}}==\n{{subst:teszt|1=%1}} – ~~'+'~~', 'Első figyelmeztetés', 1, 1, '(o) Szócikk címe vagy difflink'],
    'Teszt2':        [[3], '\n==Figyelmeztetés==\n{{subst:teszt2}} – ~~'+'~~', 'Figyelmeztetés (teszt2)', 1, 1],
    'Teszt3':        [[3], '\n==Kérlek, állj le!==\n{{subst:teszt3}} – ~~'+'~~', 'Kérlek, állj le!', 1, 1],
    'Teszt4':        [[3], '\n==Utolsó figyelmeztetés==\n{{subst:teszt4}} – ~~'+'~~', 'Utolsó figyelmeztetés', 1, 1],
    'Szubcsonk-figy':[[3], '\n=={{subst:#if:%1|%1|Szubcsonk}}==\n{{subst:szubcsonk-figy|1=%1}}', 'Szubcsonk törlése előtti figyelmeztetés', 1, 1, '(o) Érintett szócikk címe:'],
    'Törlési-figy': [[3], '\n=={{subst:#if:%1|%1|Törlési figyelmeztetés}}==\n{{subst:Törlési figyelmeztetés|1=%1}}', 'Figyelmeztetés törlési megbeszélésen lévő szócikkről', 1, 1, '(o) Érintett szócikk címe:'],
    'Netörölj':      [[3], '\n==Ne törölj!==\n{{subst:netörölj}} – ~~'+'~~', 'Ne törölj!', 1, 1],
    'Nemásolj':      [[3], '\n=={{subst:#if:%1|%1|Szerzői jogsértés}}==\n{{subst:nemásolj|1=%1|2=%2}}', 'Figyelmeztetés kétséges szerzői jogú szöveg miatt', 1, 1, '(o) Érintett szócikk címe:', '(o) URL, ahonnan másolt'],
    'Spam':          [[3], '\n==Spam==\n{{subst:spam}} – ~~'+'~~', 'Spam', 1, 1],

    'Üdvözlet':      [[-3], '{{subst:üdvözlet|szerk=~~'+'~~}}', 'Üdvözöllek!', 0, 0],
    'Anonüdv':       [[-3], '{{subst:anonüdv|szerk=~~'+'~~}}', 'Üdv!', 0, 0],

    'Nincs licenc':     [[6], '{{problémás kép|nincs licenc=igen|idő=~~'+'~~'+'~}}', 'Nincs licenc  megadva', 1, 0],
    'Nincs forrás':     [[6], '{{problémás kép|nincs forrás=igen|idő=~~'+'~~'+'~}}', 'Nincs forrás megadva', 1, 0],
    'Nincs engedély':   [[6], '{{problémás kép|nincs engedély=igen|idő=~~'+'~~'+'~}}', 'Nincs engedély megadva', 1, 0],
    'Vitatott licenc':  [[6], '{{problémás kép|vitatott licenc=igen|idő=~~'+'~~'+'~}}', 'Vitatott licenc', 1, 0],
    'Commonsba':        [[6], '{{Commonsba}}', 'Commonsba másolandó', 1, 0],
    'Azonnali-commons': [[6], '{{Azonnali-commons|1=%1}}', 'Commonsban már megtalálható, ez törölhető', 1, 0, '(o) Fájl neve a Commonsban:\n(csak akkor add meg, ha nem egyezik a magyarral,\nviszont ilyenkor ne felejtsd el javítani a hivatkozásokat)'],
    'Jogsértő kép':     [[6], '{{problémás kép|jogsértő=igen|url=%1|cím=forrás|idő=~~'+'~~'+'~}}', 'Jogsértő kép', 1, 0, '(o) Kép URL-je:'],
    'Nem szabad licenc':[[6], '{{problémás kép|nem szabad licenc=igen|idő=~~'+'~~'+'~}}', 'Nem szabad licenc', 1, 0],
    'Nincs összegzés':  [[6], '{{problémás kép|nincs összegzés=igen|idő=~~'+'~~'+'~}}', 'Nincs összegzés', 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", "Élő", "Adminsegély", "Tartalmi segély", "Műszaki segély", "Helyesírási segély", "Segély", "Vandalizmus", "Teszt", "Spam", "Netörölj", "Szubcsonk-figy", "Törlési-figy", "Nemásolj", "Commonsba", "Azonnali-commons", "Nincs licenc", "Vitatott licenc", "Jogsértő kép", "Nem szabad licenc", "Nincs összegzés"];

}

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;
    var jogosultsagok = (typeof(wgRestrictionEdit) !== "undefined") ? wgRestrictionEdit : wgRestrictionCreate;
    for (var i=0; i<jogosultsagok.length; ++i) {
        L=false;
        for (var j=0; j<wgUserGroups.length; ++j) {
            if (jogosultsagok[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 += '&param'+ 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

        //Megjeleníti a jarorSablonLista tömbben megadott sablonokat, amik a névtérhez tartoznak
        for (var i in lista) {
            if ( typeof(jarorSablonok[lista[i]]) != "undefined" ) {
                var tmp = lista[i];
                for (var k in jarorSablonok[tmp][0]) {
                   if (wgNamespaceNumber == jarorSablonok[tmp][0][k]) {    //Névtér vizsgálat
                      jarordiv.innerHTML += (j==0 ? '' : ' | ')+ "<a href='#'"+
                      "onClick=\"jarorPrompt('"+tmp+"'"+ fillParams(jarorSablonok[tmp]) +");return false;\" " +
                      "title='{{"+ jarorSablonok[tmp][1] +"'>"+   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 && (wgArticleId == 0 || (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='#' onClick=\"jarorPrompt('Anonüdv'"+ fillParams(jarorSablonok['Anonüdv']) +");return false;\">Anonüdv</a>";
            }else
                udvozlet.innerHTML = "<a href='#' onClick=\"jarorPrompt('Üdvözlet'"+ fillParams(jarorSablonok['Üdvözlet']) +");return false;\">Ü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++) {
            str = str.replace(new RegExp("\\%" + (i), "g"), arguments[i]); 
        }
        return str; 
    } 

    if (getURLParam('printable') == 'yes' || wgPageName == "Kezdőlap")
        return false;

    //"Sablonok" gomb kirakása fölülre
    if ( jogosultsag() && (((wgNamespaceNumber==0 || wgNamespaceNumber==1 || wgNamespaceNumber==4 || wgNamespaceNumber==6) && wgAction=='view') || wgNamespaceNumber==3 )) {

        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" );

        switch (skin) {
            case "cologneblue":
                var langnode = document.getElementById("langlinks");
                if ( !langnode) return false;
                var langchilds = langnode.getElementsByTagName("A");
                for (var i=0; i<langchilds.length && langchilds[i].innerHTML != "Nyomtatható változat"; ++i) {}
                if (i == langchilds.length)
                    return false;
                link.innerHTML += " | ";
                langnode.insertBefore(link, langchilds[i]);
                break;
            case "vector":
                var node = document.getElementById("p-cactions");
                if ( !node ) return null;
                var item = document.createElement( "div" );
                item.setAttribute("class", "vectorTabs");
                item.setAttribute("id", "ca_jaror");
                item.setAttribute("onclick", "jaror_show();");
                item.setAttribute("title", "Gyakran használt sablonok");
                item.innerHTML="<ul><li><span style='text-transform:none'><a>S</a></span></li></ul>";
                node.parentNode.insertBefore(item, node.nextSibling);
                
                break;
            default:
                var node = document.getElementById("p-cactions");
                if ( !node ) return null;
                node = node.getElementsByTagName( "ul" )[0];
                if ( !node ) return null;
                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 TB = document.getElementById('wpTextbox1');
        
        if ( typeof(jarorSablonok[sablonnev]) != "undefined" ) {
            var tmp = jarorSablonok[sablonnev];
            var sablon = sprintf(tmp[1], getURLParam("param1"), getURLParam("param2"), getURLParam("param3"));
            switch (tmp[4]) {         //Beillesztés helye (elöl, hátul, ürítés, kommentelés)
                case 0:
                    TB.value = sablon  +'\n' + TB.value; break;
                case 1:
                    TB.value = TB.value + sablon +'\n'; break;
                case 2:
                    TB.value =  sablon +'\n'; break;
                case 3:
                    TB.value =  sablon +'\n\n<!--\n' + TB.value +'\n-->'; break;
            }
            document.getElementById('wpSummary').value = tmp[2];

            if (tmp[3] == 1) { //Automatikus mentés
                if ( (wgNamespaceNumber % 2 == 0 && wgArticleId > 0) || (wgNamespaceNumber % 2 == 1) ) { //csak vita névterekben hozhat létre lapot
                    if (!window.jarorNoAutosave) {
                        window.onbeforeunload = null;
                        document.editform.submit();
                    } else {
                        alert("Mentett volna");
                    }
                } else {
                    alert("A lap nem létezik (lehet hogy közben törölve lett), ezért nem mentettem el!");
                }
            }
        } else {
            alert("Hibás sablonnév: "+ sablonnev +"\nKérlek jelezd a műszaki kocsmafalon (WP:KF-M).");
        }
    }
}

$(jaror);

//</source>