Benutzer:GuandalugTest/addOTRS.js
aus Wikipedia, der freien Enzyklopädie
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
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
// Hilfsmittel für die OTRS-Queue-Abarbeitung
//
// Ursprungscode basierend auf [[Benutzer:DerHexer/addotrs.js]]
//
// Modernisiert, erweitert und anderweitig verwurstet
// durch [[Benutzer:Guandalug]]
//
// Letzte Änderung: jQuery-Nutzung (geplant, im Bau)
$i.extend({
monthnames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
// Some 'constants'
C_OTRS: 0,
C_OTRS_NOSUBST: 1,
C_OTRS_DELAY: 2,
addOTRS: function(type)
{
if (wgAction != 'edit')
{
if(wgNamespaceNumber == 0)
linktoaddotrs = 'Diskussion:'+encodeURIComponent(wgTitle);
else if (wgNamespaceNumber == 2)
linktoaddotrs = 'Benutzer Diskussion:'+encodeURIComponent(wgTitle);
else
linktoaddotrs = encodeURIComponent(mw.config.get('wgPageName'));
location.href = wgScript + "?title=" + linktoaddotrs + "&action=edit&otrs=" + type;
} else {
if (this.usersignature === undefined)
this.usersignature = '\~\~\~\~';
var counter = 0;
while(counter != 3)
{
var ticketnummer=prompt('Ticketnummer:','').trim();
if (ticketnummer.search(/[^\d] /) == -1)
{
counter = 3;
var otrsyear = ticketnummer.substr(0,4);
var otrsmonth = this.monthnames[0 + ticketnummer.substr(4,2)];
var otrsday = 0 + ticketnummer.substr(6,2);
if ((wgNamespaceNumber == 1) || (wgNamespaceNumber == 3) || (type == C_OTRS_DELAY))
{
// OTRS für Texte, auf der Diskussionsseite zu vermerken.
// Entweder NS 1 (Diskussion) oder NS 3 (Benutzer Diskussion)
// oder
// OTRS-Aufschub für Bilder
if (type == C_OTRS_DELAY)
$('#wpSummary').text("OTRS-Freigabe");
else
$('#wpSummary').text("OTRS-Aufschub");
$('#wpWatchthis').attr('checked',false);
if (type == C_OTRS_DELAY)
$j['#wpTextbox1').text("{"+"{Dateiüberprüfung (OTRS ausstehend)|" + ticketnummer + "}"+"} " + this.usersignature + "\n" +
$j['#wpTextbox1').text());
else
$j['#wpTextbox1').text("{"+"{subst:OTRS-Freigabe|" + otrsday + ". " + otrsmonth + " " + otrsyear + "|" +
ticketnummer + "|" + this.usersignature + "}"+"}\n" +
$j['#wpTextbox1').text());
} else {
// OTRS für Bilder
var fullReplace = true;
$('#wpSummary').text("OTRS-Freigabe");
$('#wpWatchthis').attr('checked',false);
switch(type)
{
case C_OTRS:
// Nach Löschung mit subst: und review
otrs_text = "{"+"{subst:OTRS-review|" + otrsday + ". " + otrsmonth + " " + otrsyear + "|" + ticketnummer + "|" + this.usersignature + "}"+"}";
break;
case C_OTRS_NOSUBST:
// Ohne Löschung brauchts kein review
otrs_text = "{"+"{OTRS|" + otrsday + ". " + otrsmonth + " " + otrsyear + "|" + ticketnummer + "|" + this.usersignature + "}"+"}";
break;
}
var text = $('#wpTextbox1').text();
text = text.replace(/\{\{Datei\überpr\üfung[^\r\n]*/g, '')
.replace(/\{\{[lL]\öschen[^\n]*\(CE[S]?T\)\s*/g, '')
.replace(/\{\{[lL]\öschen[^\}\n]*\}\}\b/g, '')
.replace(/\{\{SLA[^\n]*\(CE[S]?T\)\s*/g, '')
.replace(/\{\{SLA[^\}\n]*\}\}\s*/g, '')
.replace(/\{\{D\ÜP[^\n]*\(CE[S]?T\)\s*/g, '')
.replace(/\{\{D\ÜP[^\}\n]*\}\}\s*/g, '')
.replace(/\=\=[^\n]*Verwendung[^\n]des[^\n]Bildes[^\*]*(\*\[\[[^\]]*\]\])*\s*/g, '')
.replace(/\=\= Beschreibung, Quelle[^\n]*/,'');
var replacedlicence = /\|Genehmigung\s*\=([^\r\n]*)/.exec(text);
replacedlicence = replacedlicence[1].trim();
text = text.replace(/\|Genehmigung(\s*)\=[^\r\n]*/, "|Genehmigung$1= " + otrs_text)
if (text.search(/\=\=.*Lizenz/)==-1)
text = text +'\n'+replacedlicence;
else
text = text.replace(/\=\=.*Lizenz[^\n]*/,replacedlicence);
$('#wpTextbox1').text(text)
}
} else {
counter = counter + 1;
}
}
}
},
function add_license(vorlage)
{
if (document.editform.wpTextbox1.value.search(/\=\=.*Lizenz/)==-1)
document.editform.wpTextbox1.value += "\n\{\{"+vorlage+"\}\}";
else
document.editform.wpTextbox1.value = document.editform.wpTextbox1.value.replace(/\=\=.*Lizenz[^\n]*/,"\n\{\{"+vorlage+"\}\}");
}
function add_template()
{
document.editform.wpTextbox1.value =
"{"+"{Information\n|Beschreibung=\n|Quelle=\n|Urheber=\n|Datum=\n|Genehmigung=\n|Andere Versionen=\n|Anmerkungen=\n}"+"}\n\n"+
document.editform.wpTextbox1.value;
}
// OTRS gilt für Artikel (NS 0 / 1), Benutzer(unter)seiten (NS 2/3) und Bilder (NS 6)
if ((wgNamespaceNumber == 0)||(wgNamespaceNumber == 1)||
(wgNamespaceNumber == 2)||(wgNamespaceNumber == 3)||
(wgNamespaceNumber == 6))
{
addOnloadHook(function()
{
var node = document.getElementById('t-whatlinkshere');
if (skin == "vector")
mw.util.addPortletLink('p-cactions', "javascript:add_otrs(0);", "OTRS", 't-otrs', 'OTRS-Freigabe nach Wiederherstellung', '');
else
mw.util.addPortletLink('p-tb', "javascript:add_otrs(0);", "OTRS", 't-otrs', 'OTRS-Freigabe nach Wiederherstellung', '', node);
// Bei Bildern gibt es noch ein paar Optionen
if (wgNamespaceNumber == 6)
{
if (skin == "vector")
{
mw.util.addPortletLink('p-cactions', "javascript:add_otrs(1);", "OTRS-nosubst", 't-otrsnosubst', 'OTRS-Freigabe eintragen ohne Botarbeit danach', '');
mw.util.addPortletLink('p-cactions', "javascript:add_otrsaufschub();", "OTRS-Aufschub", 't-otrsaufschub', 'OTRS-Aufschub eintragen', '');
} else {
mw.util.addPortletLink('p-tb', "javascript:add_otrs(1);", "OTRS-nosubst", 't-otrsnosubst', 'OTRS-Freigabe eintragen ohne Botarbeit danach', '');
mw.util.addPortletLink('p-tb', "javascript:add_otrsaufschub();", "OTRS-Aufschub", 't-otrsaufschub', 'OTRS-Aufschub eintragen', '');
}
if (wgAction == 'edit')
{
mw.util.addPortletLink('p-tb', "javascript:add_template();","{"+"{Information|..}"+"}", 't-otrs', 'Vorlage:Information eintragen', '', node);
mw.util.addPortletLink('p-tb', "javascript:add_license('Bild-CC-by-sa/3.0/de');", "+CC-by-sa", 't-ccbysa', 'Lizenz CC-by-sa eintragen', '', node);
mw.util.addPortletLink('p-tb', "javascript:add_license('Bild-GFDL-Neu');", "+GFDL", 't-bildgfdl', 'Lizenz Bild-GFDL-Neu eintragen', '', node);
}
}
});
}
if ((getParamValue("otrs-subst")== "true") && (wgAction=='edit'))
window.setTimeout('add_otrs2(0)', 500);
else if ((getParamValue("otrs-nosubst")== "true") && (wgAction=='edit'))
window.setTimeout('add_otrs2(1)', 500);
else if ((getParamValue("otrsaufschub") == "true") && (wgAction=='edit'))
window.setTimeout('add_otrsaufschub2()', 500);