Benutzer:DerHexer/hinweise.js
Erscheinungsbild
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
// Dient dem Eintragen des Portal- und Redaktionshinweises
// Ursprünglich von [[Benutzer:DerHexer]]
// <nowiki>
function hinweis(typ) { // Littl, PDD
var wpath = 'http://de.wikipedia.org/w/index.php?title=';
var wnamesp = 'Wikipedia:';
var isSpecial = (wgCanonicalNamespace == "Special");
var isEdit = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
// uri-parameter
// benutzt in aktion2() aus hinweise.js
var subjh = 'subj'; //Subject
var texth = 'txt'; //Für Text-Austausch
var insh = 'ins'; //Vor dem Text einfügen
var speichernh = 'speichern'; //Auf "Speichern" klicken
// Variables that should be defined in your monobook
if (typeof(autosave) == 'undefined')
autosave = false;
if (typeof(usekatproject) == 'undefined')
usekatproject = true;
if (typeof(Monate) == 'undefined')
Monate = new Array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
if (typeof(jetzt) == 'undefined')
jetzt = new Date();
if (typeof(Jahr) == 'undefined')
Jahr = jetzt.getYear(); if (Jahr < 999) Jahr += 1900;
if (typeof(WPDatum) == 'undefined')
WPDatum = jetzt.getDate() + '._' + Monate[jetzt.getMonth()] + '_' + Jahr;
if (typeof(WPDatum2) == 'undefined')
WPDatum2 = Jahr + '/' + Monate[jetzt.getMonth()] + '/' + jetzt.getDate();
if (typeof(isEdit) == 'undefined')
isEdit = (document.URL.indexOf('action=edit') > 0) || (document.URL.indexOf ('action=submit') > 0);
if (typeof(isUserpage) == 'undefined')
isUserpage = ( (wgCanonicalNamespace == "User") || (wgCanonicalNamespace == "User_talk") );
if (typeof(isContrib) == 'undefined')
isContrib = ( (wgCanonicalNamespace == "Special") && (wgTitle == "Contributions") );
if (typeof(isPHP ) == 'undefined')
isPHP = (document.URL.indexOf('index.php') > 0);
if (typ == 1) {
var kurz="PH";
var vorlage="Portalhinweis";
var wnamesp = 'Portal_Diskussion:';
} else if (typ == 2) {
var kurz="RH";
var vorlage="Redaktionshinweis";
wnamesp = wnamesp + "Redaktion_";
}
var standardsig = '--\~\~\~\~';
var customsig;
if (typeof(usersignature) == 'undefined')
customsig = standardsig;
else
customsig = usersignature;
var lemma = getLemma2();
var lemma2;
lemma2 = lemma.split('_').join(' ');
if (typ == 1) {
var seite=prompt('Zuständiges Portal:','');
var test;
if (seite.match(/Portal:/)) {
test = seite;
seite = seite.replace(/Portal:/, "");
} else {
test = "Portal:" + seite;
}
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
var req;
if (req = newRequest()) {
req.open("GET", "/w/query.php?format=xml&what=allpages&aplimit=1&apnamespace=100&apfrom=" + seite + "&apfilterredir=nonredirects", false);
req.send("");
var portal = req.responseXML.getElementsByTagName("title")[0].childNodes[0].nodeValue;
if (portal == test)
var grund=prompt(kurz+'-Grund:','');
else
alert('Dieses Portal ist nicht vorhanden');
}
} else if (typ == 2) {
function newRequest()
{
try {
if (window.XMLHttpRequest) {
return new XMLHttpRequest();
} else {
return new ActiveXObject("MSXML2.XMLHTTP");
}
} catch (e) {
return false;
}
}
var req;
if (req = newRequest()) {
req.open("GET", "/w/query.php?format=xml&what=category&cptitle=Category:Redaktion&cpnamespace=4", false);
req.send("");
var redaktionen = req.responseXML.getElementsByTagName("title");
var redaktionen2 = new Array();
var redaktionen_kurz = new Array();
var count = 0;
for (var i = 0; i < redaktionen.length; i++) {
if (redaktionen[i].childNodes[0].nodeValue.match(/Wikipedia:Redaktion /)) {
redaktionen_kurz[count] = redaktionen[i].childNodes[0].nodeValue.replace(/Wikipedia:Redaktion /, "");
redaktionen2[count] = 'Redaktion „' + redaktionen_kurz[count] + '“';
count = count+1;
} else {
continue;
}
}
}
redaktionen_kurz.sort();
redaktionen2.sort();
var text = "Bitte geben Sie die gewünschte Redaktion ein.\nDie Namen der Redaktionen lauten:\n\n";
for (var i = 0; i < redaktionen_kurz.length; i++) {
text = text + "• " + redaktionen_kurz[i] + "\n";
}
text = text + "\nGeben Sie im folgenden Feld bitte einen dieser Namen korrekt ein.";
var count = redaktionen_kurz.length;
var seite = prompt(text, '');
for (var i = 0; i < redaktionen_kurz.length; i++) {
if (redaktionen_kurz[i] == seite)
{
var grund=prompt(kurz+'-Grund:','');
} else {
count = count-1;
}
}
if (count == 0) {
alert("Bitte achten Sie auf die korrekte Schreibung.");
}
}
if (grund != null) {
grund=trim(grund);
var speichernha = (autosave) ? "&" + speichernh + "=1" : "";
// Öffnen der Portal-/Redaktionsseite gleich zum Eintragen der Meldung, Texte werden als Parameter übergeben
var uri = encodeURI(wpath + wnamesp + seite +'&action=edit§ion=new')
+ "&" + subjh + "="
+ encodeURIComponent( '[[' + lemma2 + ']]' )
+ "&" + texth + "="
+ encodeURIComponent( grund + ' ' + customsig + '\n' )
+ speichernha;
window.open(uri);
// Vorlage eintragen
window.focus();
var txt = '{{' + vorlage + '|' + seite + '}} \'\'' + grund + '\'\' ' + customsig + '\n----\n\n\n';
if (isEdit) {
document.editform.wpTextbox1.value = txt + document.editform.wpTextbox1.value;
document.editform.wpSummary.value = kurz + '+';
document.editform.wpWatchthis.checked = false;
if (autosave) {
if (document.getElementById("newarticletext")) {
alert("Artikel wurde bereits gelöscht!");
} else {
absenden();
}
} else {
// Wir müssen die Seite erst zum editieren öffnen
uri = wpath + encodeURIComponent(lemma) + "&action=edit"
+ "&" + subjh + "=" + encodeURIComponent(kurz + "+")
+ "&" + insh + "=" + encodeURIComponent(txt)
+ speichernha;
}
}
}
if ((isEdit) && (!isSpecial)) {
addOnloadHook(aktion2);
}
}
//
// Helper-Funktion getLemma()
// extrahiert Lemma, entfernt "Bild:" und "Kategorie:"
// (aufgerufen von eintragen() und nowcomm() aus der eintragen.js)
//
function getLemma2() { //Littl
var lemma;
if ((isContrib) && ( UrlParameters["target"] > "" ))
lemma = UrlParameters["target"];
else if ( UrlParameters["title"] > "" )
lemma = UrlParameters["title"];
else
lemma = decodeURIComponent(location.href.substring(location.href.indexOf("/wiki/") + 6)).split('#')[0];
// if (lemma.substring(0, 5) == "Bild:") lemma=lemma.slice(5);
// if (lemma.substring(0, 10) == "Kategorie:") lemma=lemma.slice(10);
if (isPHP) lemma=lemma.split('+').join('_');
return lemma;
}
//
// Funktion aktion2
// Entnimmt Parameter aus der URI, fügt sie in die Textfelder ein und klickt ggf. auf "Speichern"
// (aufgerufen in der Init()-Funktion der monobook.js)
//
function aktion2() { //Littl, (k)Revvar
if (UrlParameters[subjh]>"")
document.editform.wpSummary.value = UrlParameters[subjh];
if (UrlParameters[texth]>"")
document.editform.wpTextbox1.value = UrlParameters[texth];
if (UrlParameters[insh]>"")
document.editform.wpTextbox1.value = UrlParameters[insh]
+ document.editform.wpTextbox1.value;
if (UrlParameters[speichernh] == "1")
absenden();
}
// </nowiki>