Benutzer:TenWhile6/GRNHelper.js
aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen
Zur Suche springen
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
varv='v1.1' varn='GRNHelper' varGRNHelper=n+' '+v varconfig=[n,`${n}${v}`,`[[User:TenWhile6/${n}|${n}]]`,`[[User:TenWhile6/${n}|${n}]] ${v}`]; functionexecute(){ constwikiPage='Wikipedia:Benutzernamen_ändern'; functionopenDialog(){ constapi=newmw.Api(); api.get({ action:'parse', page:wikiPage, prop:'sections', format:'json' }).then(function(data){ if(data&&data.parse&&data.parse.sections){ letdialogContent='<form><fieldset>'; dialogContent+='<h3>Warteschlange 🐍 </h3>'; data.parse.sections.forEach(function(section){ if(section.index>1){ dialogContent+=`<label><input type="radio" name="section" id="${section.index}" value="${section.index}" />${section.line}</label><br>`; lastsection=section.index;} }); try{$(`#${lastsection}`).prop('checked',true);}catch{mw.notify('Warteschlange derzeit leer');return;} dialogContent+='<h3>Aktion</h3>'; dialogContent+=`<label><input type="radio" name="edit" value="Ok" /> Annehmen</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="Nein1" /> Ablehnen (Ungeeignet)</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="Nein2" /> Ablehnen (keine Antwort)</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="Nein3" /> Ablehnen (Name bereits vergeben)</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="Nein4" /> Ablehnen (Name ist anderem zu ähnlich)</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="Nein5" /> Ablehnen (andere Begründung)</label><br>`; dialogContent+=`<label><input type="radio" name="edit" value="R" /> Abwartend (Rückfrage)</label><br>`; dialogContent+='<div style="text-align: center;"><h6 style="color: red;">Made with ❤️ by <a href="https://de.wikipedia.org/wiki/User:TenWhile6">TenWhile6</a></h6></div></fieldset></form>'; const$dialog=$(dialogContent).dialog({ title:config[1], modal:true, width:400, buttons:{ "OK":function(){ constsectionIndex=$('input[name=section]:checked').val(); consteditValue=$('input[name=edit]:checked').val(); constsectionTitle=data.parse.sections[sectionIndex-1].line; sum='not done' switch(editValue){ case'Ok': addedtext='{{Ok}} umbenannt'; sum='done' break; case'Nein1': addedtext='{{Nein}}, ungeeigneter Benutzername, vgl. [[H:AM#Ungeeignet]]'; break; case'Nein2': addedtext='{{Nein}}, keine Antwort auf Rückfrage(n)'; break; case'Nein3': addedtext='{{Nein}}, der Benutzername ist bereits vergeben.'; break; case'Nein4': addedtext='{{Nein}}, der Benutzername ist [[Special:CentralAuth/'+prompt('Benutzername:')+'|einem Anderen]] zu ähnlich.'; break; case'Nein5': addedtext='{{Nein}}, '+prompt('{{Nein}}, [Begründung eingeben]'); break; case'R': addedtext='{{Abwartend}} — '+prompt('Rückfrage:','{{ping|BENUTZER}} FRAGE'); sum="on hold" break; } api.get({ action:'parse', page:wikiPage, prop:'wikitext', section:sectionIndex, format:'json' }).done(function(result){ letwikitext=result.parse.wikitext['*']; wikitext+=`\n\n${addedtext} --~~`+'~~'; if(editValue!=='R'){wikitext+='\n{{erledigt|--~~'+'~~}}';} api.postWithEditToken({ action:'edit', title:wikiPage, section:sectionIndex, text:wikitext, summary:`/* ${sectionTitle} */ ${sum} (${config[3]})`, notminor:true, nocreate:true, format:'json' }).done(function(result){ if(result&&result.edit&&result.edit.result==='Success'){ //alert(`Der Text "${editValue}" wurde erfolgreich zum Abschnitt ${sectionIndex} hinzugefügt.`); location.reload(); }else{ console.error('Fehler beim Hinzufügen des Textes:',result); } }).fail(function(err){ console.error('Fehler beim Hinzufügen des Textes:',err); }); }).fail(function(err){ console.error('Fehler beim Abrufen des Abschnitts:',err); }); $(this).dialog('close'); }, "Abbrechen":function(){ $(this).dialog('close'); } } }); }else{ mw.notify('Keine Abschnitte gefunden.',{'type':'warn','title':GRNHelper}); } }).fail(function(err){ mw.notify('Fehler beim Abrufen der Abschnitte:',{'type':'error','title':GRNHelper}); }); } openDialog(); } if(mw.config.get('wgPageName')==='Wikipedia:Benutzernamen_ändern'&&mw.config.get('wgDBname')==='dewiki'){ (function(mw,$){ functioninit(){ mw.loader.using(['mediawiki.api','mediawiki.util','jquery.ui']).then(function(){ varportletLink=mw.util.addPortletLink( 'p-search', '#', config[0], 'ca-adduser', `${config[1]} ausführen`, null, '#ca-adduser' ); $(portletLink).click(function(e){ e.preventDefault(); execute(); }); }); } $(init); }(mediaWiki,jQuery));}