MediaWiki:Gadget-QuickEdit.js
Z BystrzeWiki
(Różnice między wersjami)
(Utworzył nową stronę „– →<pre>: /* * * * * * * * * * * * * * * * * * * MediaWiki QuickEdit 2 by ASM * Version: Jan 2007 * Tłumaczenie: Leafnode, 22 lutego 2007 * * * * * * * * * * * * ...”) |
m |
||
Linia 22: | Linia 22: | ||
* var qeTextboxHeight = 20; // Wysokość pola edycji | * var qeTextboxHeight = 20; // Wysokość pola edycji | ||
* var qeEnableSpecialChars = true; // Wyskakujące okienko znaków specjalnych | * var qeEnableSpecialChars = true; // Wyskakujące okienko znaków specjalnych | ||
+ | * var qeEnableDescriptions = true; // Stałe okienko z opisami | ||
* | * | ||
* * * * * * * * * * * * * * * * * */ | * * * * * * * * * * * * * * * * * */ | ||
Linia 34: | Linia 35: | ||
if (typeof(qeEnableAccessKeys) == 'undefined') qeEnableAccessKeys = true; | if (typeof(qeEnableAccessKeys) == 'undefined') qeEnableAccessKeys = true; | ||
if (typeof(qeEnableSpecialChars) == 'undefined') qeEnableSpecialChars = true; | if (typeof(qeEnableSpecialChars) == 'undefined') qeEnableSpecialChars = true; | ||
+ | if (typeof(qeEnableDescriptions) == 'undefined') qeEnableDescriptions = true; | ||
/*if (typeof(qeShowErrors) == 'undefined')*/ qeShowErrors = false; | /*if (typeof(qeShowErrors) == 'undefined')*/ qeShowErrors = false; | ||
Linia 598: | Linia 600: | ||
newnode.appendChild(checkboxes); | newnode.appendChild(checkboxes); | ||
+ | |||
+ | var summaries = document.createElement('div'); | ||
+ | summaries.id = 'userSummaryButtons'; | ||
+ | newnode.appendChild(summaries); | ||
+ | |||
qeForm.appendChild(newnode); | qeForm.appendChild(newnode); | ||
} | } | ||
Linia 830: | Linia 837: | ||
if (qeEnableSpecialChars) { | if (qeEnableSpecialChars) { | ||
var specialchars = document.getElementById('specialchar-container'); | var specialchars = document.getElementById('specialchar-container'); | ||
− | if (!specialchars.childNodes.length && xml.getElementById('editpage- | + | if (!specialchars.childNodes.length && xml.getElementById('editpage-specialchars_userButtons')) |
{ | { | ||
− | var node = xml.getElementById('editpage- | + | var node = xml.getElementById('editpage-specialchars_userButtons').cloneNode(true); |
node.style.display = 'none'; | node.style.display = 'none'; | ||
node.style.background = 'none'; | node.style.background = 'none'; | ||
Linia 850: | Linia 857: | ||
addCharSubsetMenu(); // wikipedia script | addCharSubsetMenu(); // wikipedia script | ||
} | } | ||
+ | } | ||
+ | |||
+ | if (qeEnableDescriptions) { | ||
+ | var qeSummBtns = document.getElementById('userSummaryButtons'); | ||
+ | if (!qeSummBtns.childNodes.length) | ||
+ | { | ||
+ | // | ||
+ | // dodawanie przycisków | ||
+ | //var kl = 'userButtonsStyle'; | ||
+ | var kl = ''; // klasa jest niepotrzebna (wszystkie <a> w #userSummaryButtonsA ustawione poprzez CSS) | ||
+ | if (qeSummBtns) | ||
+ | { | ||
+ | // drobne różne | ||
+ | qeAddButton(qeSummBtns, 'ort.', 'qeAddSummary("ort.")', kl, | ||
+ | 'Poprawiono błąd ortograficzny'); | ||
+ | qeAddButton(qeSummBtns, 'styl', 'qeAddSummary("styl")', kl, | ||
+ | 'Poprawiono błąd stylistyczny i podobne'); | ||
+ | qeAddButton(qeSummBtns, 'int.', 'qeAddSummary("int.")', kl, | ||
+ | 'Poprawiono interpukcję'); | ||
+ | qeAddButton(qeSummBtns, 'lit.', 'qeAddSummary("lit.")', kl, | ||
+ | 'Poprawiono literówkę'); | ||
+ | qeAddButton(qeSummBtns, 'ogonki', 'qeAddSummary("polskie znaki")', kl, | ||
+ | 'Poprawa polskich znaków'); | ||
+ | |||
+ | // qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp | ||
+ | |||
+ | // drobne około wikizacyjne | ||
+ | qeAddButton(qeSummBtns, 'linki-zew', 'qeAddSummary("linki zewnętrzne")', kl, | ||
+ | 'Poprawiono/dodano linki zewnętrzne'); | ||
+ | qeAddButton(qeSummBtns, 'linki-popr', 'qeAddSummary("poprawa linków")', kl, | ||
+ | 'Poprawiono linki zewnętrzne/wewnętrzne'); | ||
+ | qeAddButton(qeSummBtns, 'interwiki', 'qeAddSummary("[[Pomoc:Interwiki|interwiki]]")', kl, | ||
+ | 'Poprawiono/dodano linki do innych wersji Wikipedii'); | ||
+ | qeAddButton(qeSummBtns, 'kat.', 'qeAddSummary("kat.")', kl, | ||
+ | 'Poprawiono/dodano kategorię'); | ||
+ | qeAddButton(qeSummBtns, 'wikizacja', 'qeAddSummary("[[Wikipedia:Terminologia#W|wikizacja]]")', kl, | ||
+ | 'Wikizacja artykułu (dodanie linków wewnętrznych, podział na sekcje itp.)'); | ||
+ | |||
+ | qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp | ||
+ | |||
+ | // drobne około techniczne | ||
+ | qeAddButton(qeSummBtns, 'stub', 'qeAddSummary("stub (zalążek)")', kl, | ||
+ | 'Ten artykuł to stub'); | ||
+ | qeAddButton(qeSummBtns, 'redir', 'qeAddSummary("redir (przekierowanie)")', kl, | ||
+ | 'Poprawiono/dodano redirect'); | ||
+ | qeAddButton(qeSummBtns, 'disamb', 'qeAddSummary("disambig (ujednoznacznienie)")', kl, | ||
+ | 'Poprawiono/dodano stronę ujednoznaczniającą'); | ||
+ | qeAddButton(qeSummBtns, 'grafika', 'qeAddSummary("grafika")', kl, | ||
+ | 'Poprawiono/dodano grafikę'); | ||
+ | qeAddButton(qeSummBtns, 'szablon', 'qeAddSummary("szablon")', kl, | ||
+ | 'Poprawiono/dodano szablon'); | ||
+ | qeAddButton(qeSummBtns, 'infobox', 'qeAddSummary("infobox")', kl, | ||
+ | 'Poprawiono/uzupełnienio/dodano infobox'); | ||
+ | |||
+ | qeSummBtns.appendChild(document.createElement('br')); | ||
+ | |||
+ | // drobne inne | ||
+ | qeAddButton(qeSummBtns, 'dr.meryt.', 'qeAddSummary("drobne merytoryczne")', kl, | ||
+ | 'Drobne zmiany merytoryczne'); | ||
+ | qeAddButton(qeSummBtns, 'dr.red.', 'qeAddSummary("drobne redakcyjne")', kl, | ||
+ | 'Drobne zmiany redakcyjne'); | ||
+ | qeAddButton(qeSummBtns, 'dr.tech.', 'qeAddSummary("drobne techniczne")', kl, | ||
+ | 'Drobne zmiany techniczne'); | ||
+ | |||
+ | qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp | ||
+ | |||
+ | // do użytkownika i około administracyjne | ||
+ | qeAddButton(qeSummBtns, 'witaj', 'qeAddSummary("witaj")', kl, | ||
+ | 'Dodano powitanie dla użytkownika'); | ||
+ | qeAddButton(qeSummBtns, 'test', 'qeAddSummary("test")', kl, | ||
+ | 'Dodano ostrzeżenie dla użytkownika'); | ||
+ | |||
+ | qeAddButton(qeSummBtns, 'npa', 'qeAddSummary("[[WP:NPA|npa]]")', kl, | ||
+ | 'Zgłoszono artykuł jako podejrzany o naruszenie praw autorskich'); | ||
+ | qeAddButton(qeSummBtns, 'sdu', 'qeAddSummary("[[Wikipedia:Strony do usunięcia|sdu]]")', kl, | ||
+ | 'Zgłoszono artykuł do usunięcia'); | ||
+ | qeAddButton(qeSummBtns, 'ek', 'qeAddSummary("[[Kategoria:Ekspresowe kasowanko|ek]]")', kl, | ||
+ | 'Zgłoszono artykuł do ekspresowego (s)kasowania'); | ||
+ | qeAddButton(qeSummBtns, 'rev.', 'qeAddSummary("przywrócenie poprzedniej wersji")', kl, | ||
+ | 'przywrócenie poprzedniej wersji'); | ||
+ | qeAddButton(qeSummBtns, 'rev.długi', 'qeAddSummary("*)Przywrócono poprzednią wersję, jej autor to [[Wikipedysta:?|?]]. Autor wycofanej edycji to [[Specjalna:Contributions/?|?]]")', kl, | ||
+ | 'przywrócenie poprzedniej wersji - długi opis jak przy automatycznym'); | ||
+ | qeAddButton(qeSummBtns, 'integracja', 'qeAddSummary("integracja (autorzy: [[Wikipedysta:]], [[Wikipedysta:]]...")', kl, | ||
+ | 'Integracja artykułu z innym - podaj autorów wklejanego tekstu!'); | ||
+ | |||
+ | qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp | ||
+ | |||
+ | // insze do dyskusji i głosowań | ||
+ | qeAddButton(qeSummBtns, 'głos', 'qeAddSummary("głos")', kl, | ||
+ | 'Oddano głos'); | ||
+ | qeAddButton(qeSummBtns, 'komentarz', 'qeAddSummary("komentarz")', kl, | ||
+ | 'Dodano komentarz w dyskusji lub do głosu'); | ||
+ | } | ||
+ | } | ||
} | } | ||
Linia 1111: | Linia 1212: | ||
for (var i = 0; i < l.length ; i++) | for (var i = 0; i < l.length ; i++) | ||
l[i].style.display = i == s ? 'inline' : 'none'; | l[i].style.display = i == s ? 'inline' : 'none'; | ||
+ | } | ||
+ | |||
+ | // Z http://pl.wikipedia.org/wiki/MediaWiki:Onlyifediting.js | ||
+ | |||
+ | /* | ||
+ | Parametry: | ||
+ | * elUserBtns - element okalający, do którego dodać przycisk | ||
+ | * pTekst - tekst w środku przycisku | ||
+ | * pAkcja - akcja (w formie tekstowej) jaką wykonać przy naciśnięciu; może być ciągiem poleceń | ||
+ | * pKlasa - klasa jeśli konieczna | ||
+ | * pOpis - opis widoczny w dymku przy przycisku | ||
+ | */ | ||
+ | function qeAddButton(elUserBtns, pTekst, pAkcja, pKlasa, pOpis) { | ||
+ | var nowyBtn = document.createElement('a'); | ||
+ | |||
+ | // atrybuty | ||
+ | nowyBtn.appendChild(document.createTextNode(pTekst)); | ||
+ | nowyBtn.title = pOpis; | ||
+ | if (pKlasa != '') | ||
+ | nowyBtn.className = pKlasa | ||
+ | ; | ||
+ | nowyBtn.onclick = new Function(pAkcja); | ||
+ | |||
+ | // dodanie przycisku | ||
+ | elUserBtns.appendChild(nowyBtn); | ||
+ | } | ||
+ | |||
+ | function qeAddSummary(opis) { | ||
+ | var wpS = document.getElementById('qeSummary'); | ||
+ | if (wpS.value != '' && wpS.value.charAt(wpS.value.length-2) != '/') | ||
+ | { | ||
+ | wpS.value += ', ' + opis | ||
+ | } | ||
+ | else | ||
+ | { | ||
+ | wpS.value += opis | ||
+ | } | ||
} | } | ||
/*</pre>*/ | /*</pre>*/ |
Wersja z 08:13, 11 maj 2009
/*<pre>*/ /* * * * * * * * * * * * * * * * * * * MediaWiki QuickEdit 2 by ASM * Version: Jan 2007 * Tłumaczenie: Leafnode, 22 lutego 2007 * * * * * * * * * * * * * * * * * * * * Sposób użycia * * dodaj poniższe do swojego monobook.js: * * document.write('<script src=" \ * http://pl.wikipedia.org/w/index.php?title=Wikipedysta:Leafnode/quickedit.js \ * &action=raw&ctype=text/javascript"></script>'); * * Ustawienia: * * var qeEnabled = true; // Aktywacja skryptu * var qeEnableSection0 = true; // QuickEdit dla sekcji 0 (wstęp)? * var qeEnableAccessKeys = true; // Klawisze dostępu? * var qeTextboxHeight = 20; // Wysokość pola edycji * var qeEnableSpecialChars = true; // Wyskakujące okienko znaków specjalnych * var qeEnableDescriptions = true; // Stałe okienko z opisami * * * * * * * * * * * * * * * * * * */ /////////// Ustawienia /////////// // -> Wartości domyślne if (typeof(qeEnabled) == 'undefined') qeEnabled = true; if (typeof(qeEnableSection0) == 'undefined') qeEnableSection0 = true; if (typeof(qeTextboxHeight) == 'undefined') qeTextboxHeight = 20; if (typeof(qeEnableAccessKeys) == 'undefined') qeEnableAccessKeys = true; if (typeof(qeEnableSpecialChars) == 'undefined') qeEnableSpecialChars = true; if (typeof(qeEnableDescriptions) == 'undefined') qeEnableDescriptions = true; /*if (typeof(qeShowErrors) == 'undefined')*/ qeShowErrors = false; //////// Koniec ustawień //////// // only initialize once var qeIsInit = false; // 2D-Array mit allen Sections und den jeweiligen Unterknoten var qeSections = new Array(); // Aktuell bearbeitete Section var qeEdit = -1; // Aktuell im Vorschau-Modus? var qePreviewMode = false; var qePreviewDisabled = false; // Link zum Bearbeiten der Abschnitte var qeEditLink = false; // Knoten var qeParent = false; var qeForm = false; var qePreview = false; // Form action var qeFormAction = false; // XmlHttpRequest var qeRequest = false; // 0 = idle 1 = receive 2 = submit var qeRequestState = 0; // ondblclick var qeOnDoubleClick = null; ////// Start Script ////// addOnloadHook(qeInit); function qeInit() { if (!qeEnabled || qeIsInit) return; qeIsInit = true; // check if page is editable if (!document.getElementById('ca-edit')) return; // check if there is no other action than view var pos = document.location.href.indexOf('action='); if (pos != -1 && document.location.href.substr(pos+7, 4) != 'view') return; qeSetLang(); if (!qeInitAjax()) return; qeChangeSectionLinks(); } function qeContentSub(text) { var cs = document.getElementById('contentSub'); if (cs.innerHTML) cs.innerHTML += ' - ' + text; else cs.innerHTML = text; } function qeShowError(err) { if (qeShowErrors) qeContentSub(qePhrase('quickedit') + ' ' + qePhrase('error') + ': ' + err); } function qeAlert(err) { alert(qePhrase('quickedit') + ' ' + qePhrase('error') + ': ' + err); } function qeGetElementsByClassName(tagname, classname) { var ret = new Array(); var tags = document.getElementsByTagName(tagname); for (i = 0; i < tags.length; i++) if (tags[i].className == classname) ret.push(tags[i]); return ret; } function qeChangeSectionLinks() { qeEditLink = document.getElementById('ca-edit').firstChild.href + '§ion='; // get all sections var sections = qeGetElementsByClassName('span', 'editsection'); var jumptonav = document.getElementById('jump-to-nav'); // Hauptabschnitt if (qeEnableSection0) { var heading = qeGetElementsByClassName('h1', 'firstHeading')[0]; if (!heading || !jumptonav) qeShowError('Section 0 nicht gefunden.'); else { // id verpassen heading.id = 'section-0'; // Knoten ins Array packen qeSections[0] = new Array(); var nosections = (sections.length == 0); var node = jumptonav.nextSibling; while (node != null && node.className != 'editsection' && node.className != 'printfooter' && (nosections|| !/^H[1-6]$/.test(node.nodeName))) { if (node.nodeName.charAt(0) != '#') qeSections[0].push(node); node = node.nextSibling; } // Link hinzufügen var newspan = document.createElement('span'); newspan.style.fontSize = '8pt'; newspan.style.marginLeft = '10px'; newspan.appendChild(document.createTextNode('[')); var newlink = document.createElement('a'); newlink.href = 'javascript:qeEditSection(0)'; newlink.id = 'sectionlink-0'; newlink.className = 'sectionlink'; newlink.appendChild(document.createTextNode(qePhrase('quickedit'))); newspan.appendChild(newlink); newspan.appendChild(document.createTextNode(']')); heading.appendChild(newspan); } } // qeEnableSection0 // Abschnitte for (i = 0; i < sections.length; i++) { // Section-Link suchen var link = sections[i].childNodes[1].href; var section = null, match = null; if (match = /section=([0-9]+)/.exec(link)) var section = +match[1]; else break; if (!section) continue; sections[i].style.fontSize = '8pt'; // QuickEdit-Link erstellen var newnode = document.createElement('a'); newnode.href = 'javascript:qeEditSection(' + section + ')'; newnode.title = 'QuickEdit Section ' + section; newnode.id = 'sectionlink-' + section; newnode.className = 'sectionlink'; newnode.appendChild(document.createTextNode(qePhrase('quickedit'))); var where = sections[i].childNodes[2]; sections[i].insertBefore(document.createTextNode('/'), where); sections[i].insertBefore(newnode, where); //// // dem div eine ID verpassen sections[i].id = 'editsection-' + section; // zugehörige hX Überschrift suchen var hx = sections[i].parentNode; hx.id = 'section-' + section; //// // alle zu dieser Section gehörigen Knoten suchen und ins Array packen qeSections[section] = new Array(); var node = hx.nextSibling; while (node != null && node.className != 'editsection' && node.className != 'printfooter' && !/^H[1-6]$/.test(node.nodeName)) { if (node.nodeType == 1) qeSections[section].push(node); node = node.nextSibling; } } } function qeEditSection(section) { if (qeRequestState || !qeEditLink) return; section = parseInt(section); // es wird bereits ein Abschnitt bearbeitet // wenn es der aktuelle ist -> Bearbeiten abbrechen, sonst nichts tun if (qeEdit != -1) { if (qeEdit == section) qeAbortEdit(section); return; } qeEdit = section; // save body.ondblclick if (document.getElementsByTagName('body')[0].getAttribute('ondblclick')) { qeOnDoubleClick = document.getElementsByTagName('body')[0].getAttribute('ondblclick'); document.getElementsByTagName('body')[0].setAttribute('ondblclick', null); } // Inhalt des Abschnitts ausblenden var nodes = qeSections[section]; for (i = 0; i < nodes.length; i++) nodes[i].style.display = 'none'; //// // andere Links ändern var links = qeGetElementsByClassName('a', 'sectionlink'); for (i = 0; i < links.length; i++) { if (links[i].id != 'sectionlink-' + qeEdit) links[i].style.color = '#bfbfbf'; } // Form anzeigen qeMakeForm(); var hx = document.getElementById('section-' + section); hx.parentNode.insertBefore(qeParent, hx.nextSibling); qeForm.firstChild.childNodes[4].value = qePhrase('loading') + '...'; //// // make sure the QuickEdit tab is activated qeSwitch(0); qeGetSection(); } function qeAbortEdit() { if (qeEdit == -1 || qeRequestState) return; // Inhalt des Abschnitts wieder einblenden var nodes = qeSections[qeEdit]; for (i = 0; i < nodes.length; i++) nodes[i].style.display = is_gecko?null:'block'; var links = qeGetElementsByClassName('a', 'sectionlink'); for (i = 0; i < links.length; i++) { if (links[i].id != 'sectionlink-' + qeEdit) links[i].style.color = null; } qeParent.parentNode.removeChild(qeParent); qeForm.firstChild.childNodes[4].value = ''; qeEdit = -1; qeRequest.abort(); // restore body.ondblclick if (qeOnDoubleClick) document.getElementsByTagName('body')[0].setAttribute('ondblclick', qeOnDoubleClick); } function qeMakeForm() { if (qeForm) return; if (qeSections.length == 1) qeTextboxHeight += 5; // higher textbox for the main section only // create parent div qeParent = document.createElement('div'); qeParent.style.clear = 'both'; // create tabs var ul = document.createElement('ul'); ul.style.listStyle = 'none'; ul.style.whiteSpace = 'nowrap'; ul.style.fontSize = '11.3px'; ul.style.position = 'relative'; ul.style.bottom = '0px'; ul.style.borderCollapse = 'collapse'; var li1 = document.createElement('li'); var a = document.createElement('a'); a.href = 'javascript:qeSwitch(0)'; a.style.textDecoration = 'none'; a.style.padding = '0 8px'; a.appendChild(document.createTextNode(qePhrase('quickedit'))); li1.appendChild(a); li1.id = 'qeTabEdit'; li1.title = qePhrase('tQuickEdit'); li1.style.border = '1px solid #aaa'; li1.style.borderBottom = 'none'; li1.style.marginRight = '6px'; li1.style.display = 'inline'; li1.style.backgroundColor = '#fafafa'; li1.setAttribute('onmouseover', 'qeTabMouseOverOut(this, 0)'); li1.setAttribute('onmouseout', 'qeTabMouseOverOut(this, 1)'); var li2 = li1.cloneNode(true); li2.id = 'qeTabPreview'; li2.title = qePhrase('tLivePrev'); li2.firstChild.href = 'javascript:qeSwitch(1)'; li2.firstChild.firstChild.nodeValue = qePhrase('liveprev'); // make li1 look selected li1.style.borderColor = '#888'; li1.style.borderBottom = 'none'; li1.style.fontWeight = 'bold'; // tab 3 var li4 = li2.cloneNode(true); li4.id = null; li4.style.marginLeft = '16px'; li4.title = qePhrase('tSubmit'); li4.firstChild.href = 'javascript:qeSubmit(0)'; li4.firstChild.firstChild.nodeValue = qePhrase('submit'); if (qeEnableAccessKeys) li4.firstChild.accessKey = 's'; // tab 4 var li5 = li2.cloneNode(true); li5.id = null; li5.title = qePhrase('tPreview'); li5.firstChild.href = 'javascript:qeSubmit(1)'; li5.firstChild.firstChild.nodeValue = qePhrase('preview'); // tab 5 var li6 = li2.cloneNode(true); li6.id = null; li6.title = qePhrase('tCancel'); li6.firstChild.href = 'javascript:qeAbortEdit()'; li6.firstChild.firstChild.nodeValue = qePhrase('cancel'); if (qeEnableAccessKeys) { li6.firstChild.accessKey = 'a'; // cancel li1.firstChild.accessKey = 'e'; // quickedit li2.firstChild.accessKey = 'p'; // live prev } var li3 = document.createElement('li'); li3.style.cssFloat = 'right'; li3.style.marginRight = '10px'; li3.style.color = '#aaa'; li3.style.fontSize = '8pt'; li3.style.display = 'inline'; li3.appendChild(document.createTextNode(qePhrase('header'))); ul.appendChild(li3); ul.appendChild(li1); ul.appendChild(li2); ul.appendChild(li4); ul.appendChild(li5); ul.appendChild(li6); qeParent.appendChild(ul); // create frame div var framediv = document.createElement('div'); framediv.style.border = '1px solid #aaa'; framediv.style.padding = '6px'; framediv.style.overflow = 'hidden'; framediv.style.clear = 'both'; framediv.style.backgroundColor = '#fafafa'; qeParent.appendChild(framediv); // create form qeForm = document.createElement('form'); qeForm.method = 'post'; qeForm.onsubmit = qeSubmitByReturn; // create preview div qePreview = document.createElement('div'); qePreview.style.display = 'none'; qePreview.style.width = '98%'; qePreview.style.overflow= 'hidden'; qePreview.style.clear = 'both'; qePreview.style.padding = '5px'; qePreview.style.border = '1px dotted #aaa'; qePreview.style.backgroundColor = qeGetBGColor(); // preview message var div = document.createElement('div'); div.style.padding = '100px 0'; div.style.textAlign = 'center'; div.style.color = '#aaa'; div.style.cursor = 'default'; div.appendChild(document.createTextNode(qePhrase('loadprev') + '...')); qePreview.appendChild(div); framediv.appendChild(qePreview); framediv.appendChild(qeForm); //// // add form div qeForm.appendChild(document.createElement('div')); var elements = new Array( // subject type name new Array('input', 'hidden', 'wpSection'), new Array('input', 'hidden', 'wpStarttime'), new Array('input', 'hidden', 'wpEdittime'), new Array('input', 'hidden', 'wpSummary'), new Array('textarea', 'wpTextbox1'), new Array('input', 'hidden', 'wpEditToken'), new Array('input', 'hidden', 'wpAutoSummary') ); for (i = 0; i < elements.length; i++) { var e = elements[i]; var newnode = document.createElement(e[0]); if (e[0] == 'input') { newnode.type = e[1]; newnode.name = e[2]; } else if (e[0] == 'textarea') { newnode.id = e[1]; newnode.name = e[1]; newnode.appendChild(document.createTextNode('')); newnode.rows = qeTextboxHeight; newnode.style.width = '99%'; } qeForm.firstChild.appendChild(newnode); } if (qeEnableAccessKeys) qeForm.firstChild.childNodes[4].accessKey = ','; qeForm.firstChild.childNodes[4].tabIndex = 1; var chars = document.createElement('div'); chars.id = 'specialchar-container'; chars.style.minHeight = '5px'; chars.style.overflow = 'hidden'; if (qeEnableSpecialChars) { chars.setAttribute('onmouseover', 'qeSpecialcharMouse(this, 0)'); chars.setAttribute('onmouseout', 'qeSpecialcharMouse(this, 1)'); } qeForm.appendChild(chars); newnode = document.createElement('div'); // newnode.style.marginTop = '5px'; newnode.style.paddingTop = '5px'; newnode.style.borderTop = '1px dotted #aaa'; // Speichern newnode.appendChild(document.createElement('a')); newnode.firstChild.href = 'javascript:qeSubmit(0)'; newnode.firstChild.title = qePhrase('tSubmit'); newnode.firstChild.style.cursor = 'pointer'; newnode.firstChild.appendChild(document.createTextNode(qePhrase('submit'))); // Vorschau newnode.appendChild(document.createTextNode(' ')); newnode.appendChild(document.createElement('a')); newnode.childNodes[2].href = 'javascript:qeSubmit(1)'; newnode.childNodes[2].title = qePhrase('tPreview'); newnode.childNodes[2].style.marginLeft = '5px'; newnode.childNodes[2].style.cursor = 'pointer'; newnode.childNodes[2].appendChild(document.createTextNode(qePhrase('preview'))); /* Abbrechen // entfernt newnode.appendChild(document.createTextNode(' ')); newnode.appendChild(document.createElement('a')); newnode.childNodes[4].href = 'javascript:qeAbortEdit()'; newnode.childNodes[4].style.marginLeft = '5px'; newnode.childNodes[4].style.cursor = 'pointer'; newnode.childNodes[4].appendChild(document.createTextNode(qePhrase('cancel'))); */ // Zusammenfassung newnode.appendChild(document.createTextNode(' ')); newnode.appendChild(document.createElement('input')); newnode.childNodes[4].type = 'text'; newnode.childNodes[4].size = '70'; newnode.childNodes[4].id = 'qeSummary'; newnode.childNodes[4].maxLength = '200'; newnode.childNodes[4].style.marginLeft = '5px'; newnode.childNodes[4].tabIndex = 2; // Kleine Änderung newnode.appendChild(document.createTextNode(' ')); var checkboxes = document.createElement('span'); checkboxes.style.whiteSpace = 'nowrap'; checkboxes.appendChild(document.createElement('input')); checkboxes.childNodes[0].type = 'checkbox'; checkboxes.childNodes[0].id = 'wpMinoredit'; checkboxes.childNodes[0].name = 'wpMinoredit'; checkboxes.childNodes[0].value = '1'; checkboxes.childNodes[0].style.marginLeft = '5px'; checkboxes.childNodes[0].tabIndex = 3; checkboxes.childNodes[0].title = qePhrase('tMinor'); if (qeEnableAccessKeys) checkboxes.childNodes[0].accessKey = 'i'; checkboxes.appendChild(document.createElement('label')); checkboxes.childNodes[1].htmlFor = 'wpMinoredit'; checkboxes.childNodes[1].style.fontWeight = 'bold'; checkboxes.childNodes[1].style.fontSize = '8pt'; checkboxes.childNodes[1].style.position = 'relative'; checkboxes.childNodes[1].style.bottom = '2px'; checkboxes.childNodes[1].title = qePhrase('tMinor'); checkboxes.childNodes[1].appendChild(document.createTextNode(qePhrase('k'))); // Beobachten checkboxes.appendChild(document.createTextNode(' ')); checkboxes.appendChild(document.createElement('input')); checkboxes.childNodes[3].type = 'checkbox'; checkboxes.childNodes[3].id = 'wpWatchthis'; checkboxes.childNodes[3].name = 'wpWatchthis'; checkboxes.childNodes[3].value = '1'; checkboxes.childNodes[3].style.marginLeft = '5px'; checkboxes.childNodes[3].tabIndex = 4; checkboxes.childNodes[3].title = qePhrase('tWatch'); if (qeEnableAccessKeys) checkboxes.childNodes[3].accessKey = 'w'; checkboxes.appendChild(document.createElement('label')); checkboxes.childNodes[4].htmlFor = 'wpWatchthis'; checkboxes.childNodes[4].style.fontWeight = 'bold'; checkboxes.childNodes[4].style.fontSize = '8pt'; checkboxes.childNodes[4].style.position = 'relative'; checkboxes.childNodes[4].style.bottom = '2px'; checkboxes.childNodes[4].title = qePhrase('tWatch'); checkboxes.childNodes[4].appendChild(document.createTextNode(qePhrase('b'))); newnode.appendChild(checkboxes); var summaries = document.createElement('div'); summaries.id = 'userSummaryButtons'; newnode.appendChild(summaries); qeForm.appendChild(newnode); } function qeFillForm(formaction, wpStarttime, wpEdittime, wpSummary, wpTextbox1, wpEditToken, wpAutoSummary, wpWatchthis) { if (!qeForm) return; // save form action since we need it for preview qeFormAction = formaction; qeForm.firstChild.childNodes[0].value = qeEdit; qeForm.firstChild.childNodes[1].value = wpStarttime; qeForm.firstChild.childNodes[2].value = wpEdittime; qeForm.firstChild.childNodes[3].value = wpSummary; qeForm.firstChild.childNodes[4].value = wpTextbox1; qeForm.firstChild.childNodes[5].value = wpEditToken; qeForm.firstChild.childNodes[6].value = wpAutoSummary; document.getElementById('wpWatchthis').checked = wpWatchthis; qeForm.action = formaction; document.getElementById('qeSummary').value = wpSummary; } function qeSpecialcharMouse(obj, type) { obj.firstChild.style.display = (type == 0)?'inline':'none'; obj.style.padding = (type == 0)?'4px 0px':'0px'; } // QuickEdit 2: Preview stuff function qeSwitch(type) { if (qeEdit == -1 || qeRequestState) return; type = parseInt(type); if ((type == 0 && !qePreviewMode) || (type == 1 && qePreviewMode) || (qePreviewDisabled && type == 1)) return; qePreviewMode = !qePreviewMode; // switch tab styles var lia = qePreviewMode?document.getElementById('qeTabEdit'): document.getElementById('qeTabPreview'); var lid = qePreviewMode?document.getElementById('qeTabPreview'): document.getElementById('qeTabEdit'); lid.style.border = '1px solid #888'; lid.style.fontWeight = 'bold'; lia.style.border = '1px solid #aaa'; lia.style.fontWeight = 'normal'; lia.style.borderBottom = lid.style.borderBottom = 'none'; // switch to preview if (qePreviewMode) { qeForm.firstChild.style.display = 'none'; qePreview.style.display = 'block'; qePreview.firstChild.style.display = 'block'; // remove all child nodes from previous previews, if any for (var i = 1; i < qePreview.childNodes.length; i++) qePreview.removeChild(qePreview.childNodes[i]); qeLoadPreview(); } else { qePreview.style.display = 'none'; qeForm.firstChild.style.display = 'block'; } } function qeLoadPreview() { if (qeEdit == -1 || qeRequestState || !qeEditLink || !qePreviewMode || !qeFormAction) return; var link = qeEditLink + qeEdit; qeRequestState = 2; qeRequest.onreadystatechange = qeAjaxResponse; qeRequest.open('POST', qeFormAction, true); var send = qeMakeFormRequest(); qeRequest.overrideMimeType('text/xml'); qeRequest.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); qeRequest.setRequestHeader('Content-length', send.length); qeRequest.setRequestHeader('Content', send.length); qeRequest.send(send); } function qeMakeFormRequest() { if (!qeForm) return null; var str = ''; var inputs = qeForm.getElementsByTagName('input'); for (var i = 0; i < inputs.length; i++) if (inputs[i].value && inputs[i].value.length > 0) str += '&' + inputs[i].name + '=' + encodeURIComponent(inputs[i].value); str += '&wpPreview=Preview' + '&wpTextbox1=' + encodeURIComponent(document.getElementById('wpTextbox1').value); return str.substr(1); } function qeTabMouseOverOut(obj, out) { var coloronly = false; if (obj.id == 'qeTabEdit' || obj.id == 'qeTabPreview') { if ((qePreviewMode && obj.id == 'qeTabPreview') || (!qePreviewMode && obj.id == 'qeTabEdit')) coloronly = true; } obj.style.backgroundColor = out?'#fafafa':'#fff'; if (!coloronly) obj.style.borderColor = out?'#aaa':'#888'; } // Ajax stuff function qeInitAjax() { try { if (window.XMLHttpRequest) { qeRequest = new XMLHttpRequest(); qeRequest.overrideMimeType('text/xml'); } else if (window.ActiveXObject) qeRequest = new ActiveXObject('Microsoft.XMLHTTP'); else throw 'Kein AJAX-Objekt vorhanden'; } catch (e) { qeShowError(e); return false; } if (!qeRequest) { qeShowError('AJAX-Objekt konnte nicht erstellt werden'); return false; } return true; } function qeGetSection() { if (qeEdit == -1 || !qeForm || !qeRequest || !qeEditLink || qeRequestState) return; var link = qeEditLink + qeEdit; qeRequestState = 1; qeRequest.onreadystatechange = qeAjaxResponse; qeRequest.open('GET', link, true); qeRequest.send(null); } function qeAjaxResponse() { if (!qeRequestState) { // alert('Błąd QuickEdit: qeAjaxResponse'); return; } // receive if (qeRequestState == 1 && qeEdit != -1) { if (qeRequest.readyState != 4 || qeRequest.status != 200) return; qeRequestState = 0; var xml = qeRequest.responseXML; try // MediaWiki bug 6986 workaround { var wpTextbox1 = xml.getElementById('wpTextbox1').value; } catch (e) { xml = qeFixXML(qeRequest.responseText); if (!xml) { qeShowError('XML parsing fehlgeschlagen.'); return; } var wpTextbox1 = xml.getElementById('wpTextbox1').value; } var inputs = xml.getElementsByTagName('input'); for (i = 0; i < inputs.length; i++) { if (inputs[i].name == 'wpSection') wpSection = inputs[i].value; else if (inputs[i].name == 'wpStarttime') wpStarttime = inputs[i].value; else if (inputs[i].name == 'wpEdittime') wpEdittime = inputs[i].value; else if (inputs[i].name == 'wpSummary') wpSummary = inputs[i].value; else if (inputs[i].name == 'wpEditToken') wpEditToken = inputs[i].value; else if (inputs[i].name == 'wpAutoSummary') wpAutoSummary = inputs[i].value; else if (inputs[i].name == 'wpWatchthis') wpWatchthis = inputs[i].checked; } var formaction = xml.getElementById('editform').action; if (qeEnableSpecialChars) { var specialchars = document.getElementById('specialchar-container'); if (!specialchars.childNodes.length && xml.getElementById('editpage-specialchars_userButtons')) { var node = xml.getElementById('editpage-specialchars_userButtons').cloneNode(true); node.style.display = 'none'; node.style.background = 'none'; node.style.border = 'none'; node.style.fontSize = '8pt'; for (var i = 0; i < node.childNodes.length; i++) if (node.childNodes[i].nodeName == 'A') { node.removeChild(node.childNodes[i]); node.removeChild(node.childNodes[i+1]); break; } specialchars.appendChild(node); addCharSubsetMenu(); // wikipedia script } } if (qeEnableDescriptions) { var qeSummBtns = document.getElementById('userSummaryButtons'); if (!qeSummBtns.childNodes.length) { // // dodawanie przycisków //var kl = 'userButtonsStyle'; var kl = ''; // klasa jest niepotrzebna (wszystkie <a> w #userSummaryButtonsA ustawione poprzez CSS) if (qeSummBtns) { // drobne różne qeAddButton(qeSummBtns, 'ort.', 'qeAddSummary("ort.")', kl, 'Poprawiono błąd ortograficzny'); qeAddButton(qeSummBtns, 'styl', 'qeAddSummary("styl")', kl, 'Poprawiono błąd stylistyczny i podobne'); qeAddButton(qeSummBtns, 'int.', 'qeAddSummary("int.")', kl, 'Poprawiono interpukcję'); qeAddButton(qeSummBtns, 'lit.', 'qeAddSummary("lit.")', kl, 'Poprawiono literówkę'); qeAddButton(qeSummBtns, 'ogonki', 'qeAddSummary("polskie znaki")', kl, 'Poprawa polskich znaków'); // qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp // drobne około wikizacyjne qeAddButton(qeSummBtns, 'linki-zew', 'qeAddSummary("linki zewnętrzne")', kl, 'Poprawiono/dodano linki zewnętrzne'); qeAddButton(qeSummBtns, 'linki-popr', 'qeAddSummary("poprawa linków")', kl, 'Poprawiono linki zewnętrzne/wewnętrzne'); qeAddButton(qeSummBtns, 'interwiki', 'qeAddSummary("[[Pomoc:Interwiki|interwiki]]")', kl, 'Poprawiono/dodano linki do innych wersji Wikipedii'); qeAddButton(qeSummBtns, 'kat.', 'qeAddSummary("kat.")', kl, 'Poprawiono/dodano kategorię'); qeAddButton(qeSummBtns, 'wikizacja', 'qeAddSummary("[[Wikipedia:Terminologia#W|wikizacja]]")', kl, 'Wikizacja artykułu (dodanie linków wewnętrznych, podział na sekcje itp.)'); qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp // drobne około techniczne qeAddButton(qeSummBtns, 'stub', 'qeAddSummary("stub (zalążek)")', kl, 'Ten artykuł to stub'); qeAddButton(qeSummBtns, 'redir', 'qeAddSummary("redir (przekierowanie)")', kl, 'Poprawiono/dodano redirect'); qeAddButton(qeSummBtns, 'disamb', 'qeAddSummary("disambig (ujednoznacznienie)")', kl, 'Poprawiono/dodano stronę ujednoznaczniającą'); qeAddButton(qeSummBtns, 'grafika', 'qeAddSummary("grafika")', kl, 'Poprawiono/dodano grafikę'); qeAddButton(qeSummBtns, 'szablon', 'qeAddSummary("szablon")', kl, 'Poprawiono/dodano szablon'); qeAddButton(qeSummBtns, 'infobox', 'qeAddSummary("infobox")', kl, 'Poprawiono/uzupełnienio/dodano infobox'); qeSummBtns.appendChild(document.createElement('br')); // drobne inne qeAddButton(qeSummBtns, 'dr.meryt.', 'qeAddSummary("drobne merytoryczne")', kl, 'Drobne zmiany merytoryczne'); qeAddButton(qeSummBtns, 'dr.red.', 'qeAddSummary("drobne redakcyjne")', kl, 'Drobne zmiany redakcyjne'); qeAddButton(qeSummBtns, 'dr.tech.', 'qeAddSummary("drobne techniczne")', kl, 'Drobne zmiany techniczne'); qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp // do użytkownika i około administracyjne qeAddButton(qeSummBtns, 'witaj', 'qeAddSummary("witaj")', kl, 'Dodano powitanie dla użytkownika'); qeAddButton(qeSummBtns, 'test', 'qeAddSummary("test")', kl, 'Dodano ostrzeżenie dla użytkownika'); qeAddButton(qeSummBtns, 'npa', 'qeAddSummary("[[WP:NPA|npa]]")', kl, 'Zgłoszono artykuł jako podejrzany o naruszenie praw autorskich'); qeAddButton(qeSummBtns, 'sdu', 'qeAddSummary("[[Wikipedia:Strony do usunięcia|sdu]]")', kl, 'Zgłoszono artykuł do usunięcia'); qeAddButton(qeSummBtns, 'ek', 'qeAddSummary("[[Kategoria:Ekspresowe kasowanko|ek]]")', kl, 'Zgłoszono artykuł do ekspresowego (s)kasowania'); qeAddButton(qeSummBtns, 'rev.', 'qeAddSummary("przywrócenie poprzedniej wersji")', kl, 'przywrócenie poprzedniej wersji'); qeAddButton(qeSummBtns, 'rev.długi', 'qeAddSummary("*)Przywrócono poprzednią wersję, jej autor to [[Wikipedysta:?|?]]. Autor wycofanej edycji to [[Specjalna:Contributions/?|?]]")', kl, 'przywrócenie poprzedniej wersji - długi opis jak przy automatycznym'); qeAddButton(qeSummBtns, 'integracja', 'qeAddSummary("integracja (autorzy: [[Wikipedysta:]], [[Wikipedysta:]]...")', kl, 'Integracja artykułu z innym - podaj autorów wklejanego tekstu!'); qeSummBtns.appendChild(document.createTextNode(' ')); // odstęp // insze do dyskusji i głosowań qeAddButton(qeSummBtns, 'głos', 'qeAddSummary("głos")', kl, 'Oddano głos'); qeAddButton(qeSummBtns, 'komentarz', 'qeAddSummary("komentarz")', kl, 'Dodano komentarz w dyskusji lub do głosu'); } } } // sollte nie passieren, wenn doch -> fatal error if (wpSection != qeEdit) { qeAlert(qePhrase('varmismatch')); qeRequestState = 0; qeAbortEdit(); return; } qeFillForm(formaction, wpStarttime, wpEdittime, wpSummary, wpTextbox1, wpEditToken, wpAutoSummary, wpWatchthis); return; } // preview (submit) if (qeRequestState == 2 && qeEdit != -1) { if (qeRequest.readyState != 4 || qeRequest.status != 200) return; qeRequestState = 0; try { var xml = qeRequest.responseXML; var prev = xml.getElementById('wikiPreview').cloneNode(true); } catch (e) { qePreviewDisabled = true; qePreview.firstChild.firstChild.nodeValue = qePhrase('noprev'); var tab = document.getElementById('qeTabPreview'); tab.firstChild.style.color = '#888'; return; } qePreview.firstChild.style.display = 'none'; while (prev.childNodes.length > 0 && prev.firstChild.className != 'previewnote') prev.removeChild(prev.firstChild); prev.removeChild(prev.firstChild); qePreview.appendChild(prev); return; } } function qeSubmitByReturn() { qeSubmit(0); return false; } function qeSubmit(preview) { if (qeEdit == -1 || !qeRequest || !qeForm || qeRequestState) return; qeForm.firstChild.childNodes[3].value = document.getElementById('qeSummary').value; if (preview == 1) { var prev = document.createElement('input'); prev.name = 'wpPreview'; prev.value = 'Preview'; prev.type = 'hidden'; qeForm.appendChild(prev); } qeForm.submit(); } // MediaWiki bug 6986 workaround function qeFixXML(text) { var pos = text.indexOf('<h1 class="firstHeading">'); var pos2 = text.indexOf('</h1>'); if (pos == -1 || pos2 == -1) return null; text = text.substring(0, pos) + text.substring(pos2+5); var parser = new DOMParser(); var newdoc = parser.parseFromString(text, "text/xml"); return newdoc; } // Workaround for JavaScript // don't ask me why the hell JS throws an error at '/*' function qeFixXMLPreview(text) { // another MediaWiki bug: backslashes are stripped out when saving a page... regex = eval('/' + String.fromCharCode(92) + '/' + String.fromCharCode(92) + '*/g'); text = text.replace(regex, '/*'); var parser = new DOMParser(); var newdoc = parser.parseFromString(text, "text/xml"); return newdoc; } // Language stuff function qeGetBGColor() { var ret = qeGetStyle(document.getElementById('content'), 'background-color'); return ret?ret:'#fff'; } function qeGetStyle(elem, style) { if (document.defaultView) return document.defaultView.getComputedStyle(elem, null).getPropertyValue(style); return null; } function qeSetLang() { switch (wgUserLanguage) { case 'de': qeLang = 1; break; case 'en': qeLang = 2; break; case 'pl': qeLang = 3; break; // case 'xx': ... default: qeLang = 2; } qeSetPrefix(); } function qePhrase(name) { for (var i = 0; i < qePhrases.length; i++) if (qePhrases[i][0] == name) return qePhrases[i][qeLang]; return 'UNDEFINED PHRASE: ' + name; } function qeSetPrefix() { // ausgeliehen vom Wikipedia-Script var pref = 'Alt'; if (is_safari || navigator.userAgent.toLowerCase().indexOf('mac') + 1 || navigator.userAgent.toLowerCase().indexOf('konqueror') + 1 ) pref = qePhrase('strg'); else if (is_opera) pref = qePhrase('shift') + '-Esc'; else if (is_ff2_x11) pref = qePhrase('strg') + '-' + qePhrase('shift'); else if (is_ff2_win) pref = 'Alt-' + qePhrase('shift'); pref += '-'; for (var i = 0; i < qePhrases.length; i++) if (qePhrases[i][0].charAt(0) == 't') for (var j = 1; j < qePhrases[i].length; j++) qePhrases[i][j] = qePhrases[i][j].replace(/KEY:(.)/, pref + '$1'); } var qePhrases = new Array( new Array('quickedit', 'QuickEdit', 'QuickEdit', 'QuickEdit'), new Array('submit', 'Speichern', 'Submit', 'Zapisz'), new Array('preview', 'Vorschau', 'Preview', 'Podgląd'), new Array('cancel', 'Abbrechen', 'Cancel', 'Anuluj'), new Array('k', 'Kleine Änderungen', 'minor', 'Drobna zmiana'), new Array('b', 'Beobachten', 'watch', 'Obserwuj'), new Array('error', 'Fehler', 'error', 'Błąd'), new Array('nolinksfound', 'Keine Links gefunden', 'No links found', 'Nie znaleziono linków'), new Array('loading', 'Lade Daten', 'Loading data', 'Wczytywanie strony'), new Array('liveprev', 'Live Vorschau', 'Live Preview', 'Szybki podgląd'), new Array('loadprev', 'Lade Vorschau', 'Loading preview', 'Wczytywanie podglądu'), new Array('noprev', 'Fehler: Vorschau nicht verfügbar (Seite konnte von JavaScript nicht gelesen werden)', 'Error: preview not available (page could not be read by JavaScript)', 'Błąd: podgląd nie jest dostępny (strona nie może być odczytana przez JavaScript'), new Array('header', 'MediaWiki QuickEdit 2', 'MediaWiki QuickEdit 2', 'MediaWiki QuickEdit 2'), new Array('tQuickEdit','QuickEdit Ansicht (KEY:E)', 'QuickEdit view (KEY:E)', 'QuickEdit (KEY:E)'), new Array('tLivePrev', 'Live Vorschau (KEY:P)', 'Live preview (KEY:P)', 'Szybki podgląd (KEY:P)'), new Array('tSubmit', 'Änderungen Speichern (KEY:S)','Submit changes (KEY:S)', 'Zapisz zmiany (KEY:S)'), new Array('tPreview', 'Normale Vorschau', 'Normal preview', 'Podgląd'), new Array('tCancel', 'Abbrechen (KEY:A)', 'Cancel (KEY:A)', 'Anuluj (KEY:A)'), new Array('tWatch', 'Beobachten (KEY:W)', 'Watch (KEY:W)', 'Obserwuj (KEY:W)'), new Array('tMinor', 'Kleine Änderungen (KEY:I)', 'Minor edit (KEY:I)', 'Drobna zmiana (KEY:I)'), new Array('strg', 'Strg', 'Ctrl', 'Ctrl'), new Array('shift', 'Umschalt', 'Shift', 'Shift') ); /*</pre>*/ /*<pre>*/ // from [[MediaWiki:Onlyifediting.js]] function addCharSubsetMenu() { var specialchars = document.getElementById('specialchars'); if (specialchars) { var menu = "<select style=\"display:inline\" onChange=\"chooseCharSubset(selectedIndex)\">"; menu += "<option>Standard</option>"; menu += "<option>WikiSyntax</option>"; menu += "<option>IPA-Lautschrift</option>"; menu += "<option>Lateinisch</option>"; menu += "<option>AHD</option>"; menu += "<option>Altenglisch</option>"; menu += "<option>Altgriechisch</option>"; menu += "<option>Arabisch</option>"; menu += "<option>DMG-Umschrift</option>"; menu += "<option>Esperanto</option>"; menu += "<option>Estnisch</option>"; menu += "<option>Französisch</option>"; menu += "<option>Galicisch</option>"; menu += "<option>Griechisch</option>"; menu += "<option>Hawaiianisch</option>"; menu += "<option>Isländisch</option>"; menu += "<option>Italienisch</option>"; menu += "<option>Jiddisch</option>"; menu += "<option>Katalanisch</option>"; menu += "<option>Kroatisch</option>"; menu += "<option>Kyrillisch</option>"; menu += "<option>Lettisch</option>"; menu += "<option>Litauisch</option>"; menu += "<option>Maltesisch</option>"; menu += "<option>Pinyin</option>"; menu += "<option>Polnisch</option>"; menu += "<option>Portugiesisch</option>"; menu += "<option>Romanisch</option>"; menu += "<option>Rumänisch</option>"; menu += "<option>Serbisch</option>"; menu += "<option>Skandinavisch</option>"; menu += "<option>Slowakisch</option>"; menu += "<option>Spanisch</option>"; menu += "<option>Tschechisch</option>"; menu += "<option>Türkisch</option>"; menu += "<option>Ungarisch</option>"; menu += "<option>Vietnamesisch</option>"; menu += "</select>"; specialchars.innerHTML = menu + specialchars.innerHTML; // Standard-CharSubset chooseCharSubset(0); } } // CharSubset-Auswahl function chooseCharSubset(s) { var l = document.getElementById('specialchars').getElementsByTagName('p'); for (var i = 0; i < l.length ; i++) l[i].style.display = i == s ? 'inline' : 'none'; } // Z http://pl.wikipedia.org/wiki/MediaWiki:Onlyifediting.js /* Parametry: * elUserBtns - element okalający, do którego dodać przycisk * pTekst - tekst w środku przycisku * pAkcja - akcja (w formie tekstowej) jaką wykonać przy naciśnięciu; może być ciągiem poleceń * pKlasa - klasa jeśli konieczna * pOpis - opis widoczny w dymku przy przycisku */ function qeAddButton(elUserBtns, pTekst, pAkcja, pKlasa, pOpis) { var nowyBtn = document.createElement('a'); // atrybuty nowyBtn.appendChild(document.createTextNode(pTekst)); nowyBtn.title = pOpis; if (pKlasa != '') nowyBtn.className = pKlasa ; nowyBtn.onclick = new Function(pAkcja); // dodanie przycisku elUserBtns.appendChild(nowyBtn); } function qeAddSummary(opis) { var wpS = document.getElementById('qeSummary'); if (wpS.value != '' && wpS.value.charAt(wpS.value.length-2) != '/') { wpS.value += ', ' + opis } else { wpS.value += opis } } /*</pre>*/