Benutzer:TenWhile6/messageHelper.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
//<nowiki>
mHv = 'v1.1';
mHn = 'messageHelper';
messageHelper = [mHn, `${mHn} ${mHv}`, `[[User:TenWhile6/${mHn}|${mHn}]]`, `[[User:TenWhile6/${mHn}|${mHn}]] ${mHv}`];
standardTemplates = ['{{ers:Hallo}}', '{{ers:Welcome}}', '{{ers:Test}}', '{{ers:Benutzernamensverifizierung}}', '{{ers:Marketing}}', '{{ers:Werbung}}', '{{ers:Verschoben|EINGABE||1}}'];
function messageHelperexecute() {
const wikiPage = 'Benutzer Diskussion:'+mw.config.get('wgRelevantUserName');
const api = new mw.Api();
let dialogContent = '<form><fieldset>';
dialogContent += '<legend>Verfügbare Vorlagen</legend>';
standardTemplates.forEach(function(element) {
dialogContent += `<label><input type="checkbox" name="edit" value=${element} /> ${element}</label><br>`;
});
dialogContent += `</fieldset>`;
if (typeof messageHelperConfig === 'undefined' || typeof messageHelperConfig.userTemplates === 'undefined' ) {
dialogContent += `<fieldset><legend>Benutzerdefinierte Vorlagen</legend><p>Nicht konfiguriert. <sup><b><a href="https://de.wikipedia.org/wiki/Benutzer:TenWhile6/messageHelper">Wie geht das?</a></b></sup></p></fieldset>`;
} else {
try {
if (messageHelperConfig.userTemplates.length === 0) {
dialogContent += `</form>`;
} else {
dialogContent += `<fieldset><legend>Benutzerdefinierte Vorlagen</legend>`;
messageHelperConfig.userTemplates.forEach(function(element) {
dialogContent += `<label><input type="checkbox" name="edit" value="{{ers:${element}}}" /> {{ers:${element}}}</label><br>`;
});
dialogContent += `</fieldset>`;
}
} catch {
dialogContent += `<p>Fehlerhafte Konfiguration! <sup><b><a href="https://de.wikipedia.org/wiki/Benutzer:TenWhile6/messageHelper">Hilfe</a></b></sup></p></fieldset>`;
}
}
dialogContent += '<div style="position:absolute; right:1em; top:0.1em"><p style="color:red">Made with ❤️ by <a href="https://de.wikipedia.org/wiki/User:TenWhile6">TenWhile6</a></div></form>';
const $dialog = $(dialogContent).dialog({
title: messageHelper[1],
modal: true,
width: 580,
buttons: {
"OK": function() {
var relevantUserName = mw.config.get('wgRelevantUserName') || '';
if (!relevantUserName) {
mw.notify(`Error: Kein Benutzername erkannt.`,{'type':'error','title':messageHelper[1]});
return;
}
sum = "leer";
const selectedValues = $('input[name=edit]:checked').map(function() {
value = $(this).val();
if (value == '{{ers:Benutzernamensverifizierung}}') {
var date = new Date();
var year = date.getFullYear();
var month = date.toLocaleString('de-DE', { month: 'long' });
var pagename = 'Wikipedia:Benutzerverifizierung/Benutzernamen-Ansprachen/' + month + year;
var reason = prompt('Bitte gib eine Begründung ein:', 'bearbeitet [[SEITENNAME]]');
if (reason === null) {
return;
}
var api = new mw.Api();
api.post({
action: 'query',
titles: pagename,
prop: 'revisions',
rvprop: 'content',
rvslots: 'main',
formatversion: '2'
})
.then(function(response) {
var page = response.query.pages[0];
var content = page.revisions[0].slots.main.content;
var script = "[[User:TenWhile6/messageHelper|messageHelper]]/[[User:TenWhile6/AddToVeriList|AddToVeriList]]";
var newText = content.replace(/\|\}/g, "|-\n| {{Benutzer|" + relevantUserName + "}}\n| {{DatumZelle|{{ers:LOKALES_JAHR}}-{{ers:LOKALER_MONAT}}-{{ers:LOKALER_TAG_2}} {{ers:LOKALE_UHRZEIT}}|T._Mon4 JJJJ hh:mm:ss}}\n|~~"+"~<br><small><small>(mit " + script + ")</small></small>\n| " + reason + "\n|}");
api.postWithEditToken({
action: 'edit',
title: pagename,
watchlist: 'nochange',
summary: 'Ergänze „' + relevantUserName + '“ (mit ' + script + ')',
text: newText
})
.then(function() {
console.log('x');
})
.fail(function(e) {
console.log(`Fehler beim Aktualisieren des Seiteninhalts: ${e}`);
});
})
.fail(function(e) {
console.log(`Fehler beim Aktualisieren des Seiteninhalts: ${e}`);
});
}
if (value == '{{ers:Verschoben|EINGABE||1}}') {
input = prompt('Artikelname:');
if (!(input === null || input === '')) {
value = `{{ers:Verschoben|${input}||1}}`;
} else {
value = '';
mw.notify(`Achtung: Kein Artikel angegeben. {{ers:Verschoben}} wurde daher nicht gesetzt.`,{'type':'warn','title':messageHelper[1]});
}
}
if (value == '{{ers:Test}}') {
value = "== Hinweis ==\n{{ers:Test}}<!--Huggle:Level-1-->";
}
if (['{{ers:Hallo}}', '{{ers:Begrüßungsbox}}', '{{ers:Welcome}}'].includes(value)) {
sum = "Willkommen";
}
else if (value == '{{ers:Ungeeigneter Benutzername}}') {
value = "== Ungeeigneter Benutzername ==\nHallo „"+relevantUserName+"“,\n\n[[Wikipedia:Warum sich hier alle duzen|dein]] Benutzername ist gemäß [[H:AM#Ungeeignet]] Punkt 5 ungeeignet, da er wie eine [[Uniform Resource Locator|Internetadresse]] bzw. wie eine [[IP-Adresse]] aussieht.\n\nBitte ändere ihn <u>schnellstmöglich</u> mithilfe eines Antrages auf [[Wikipedia:Benutzernamen ändern]] oder [[Special:GlobalRenameRequest]].\n\nOhne Umbenennung musst du mit der '''Stilllegung deines Benutzerkontos''' rechnen.\n\nDanke und LG, --~~"+"~~";
}
return `${value}`;
}).get();
if (sum == 'leer') {
sum = "Hinweis";
}
if (selectedValues.length > 0) {
let currentWikitext = '';
try {
api.get({
action: 'parse',
page: wikiPage,
prop: 'wikitext',
format: 'json'
}).done(function(result) {
currentWikitext = result.parse.wikitext['*'];
});
} catch (error) {
mw.notify(`Error: Fehler beim Abrufen des bestehenden Wikitexts.`,{'type':'error','title':messageHelper[1]});
}
selectedValues.forEach(function(editValue) {
currentWikitext += `\n${editValue}`;
});
api.postWithEditToken({
action: 'edit',
title: wikiPage,
appendtext: currentWikitext,
summary: `${sum} (${messageHelper[3]})`,
notminor: true,
format: 'json',watchlist:'nochange'
}).done(function(result) {
if (result && result.edit && result.edit.result === 'Success') {
location.reload();
} else {
mw.notify(`Error: Fehler beim Hinzufügen der Texte.`,{'type':'error','title':messageHelper[1]});
}
}).fail(function(err) {
mw.notify(`Error: Fehler beim Hinzufügen der Texte.`,{'type':'error','title':messageHelper[1]});
});
$(this).dialog('close');
} else {
mw.notify(`Achtung: Bitte wähle mindestens eine Aktion aus.`,{'type':'warn','title':messageHelper[1]});
}
},
"Abbrechen": function() {
$(this).dialog('close');
}
}
});
}
if ([2, 3].includes(mw.config.get("wgNamespaceNumber")) || (mw.config.get("wgNamespaceNumber") == -1 && mw.config.get('wgRelevantPageName').includes('Beiträge'))) {
mw.loader.using(['mediawiki.api', 'mediawiki.util', 'jquery.ui']).then(function() {
var portletWLink = mw.util.addPortletLink(
'p-cactions',
'#',
'messageHelper',
'ca-messageHelper',
'Hinweise & Begrüßung',
null,
'#ca-messageHelper'
);
$(portletWLink).click(function(e) {
e.preventDefault();
messageHelperexecute();
});
});
}
//</nowiki>