MediaWiki:Gadget-requestForAdminship.js/core.js

Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.

  • Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
  • Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
  • Internet Explorer / Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5
  • Opera: Pressione Ctrl-F5.
/**
 * Creates and closes requests for adminship in pt.wikipedia
 *
 * @author [[w:pt:user:!Silent]]
 * @date 09/apr/2015
 * @update 24/oct/2017
 * @source https://github.com/Nevallem/requestForAdminship
 */
/* jshint laxbreak: true, unused: true, -W007 */
/* global mw, $ */

!function(){"use strict";var e,a=new mw.Api;mw.messages.set({"rfa-summary-sufixDefault":", usando um [[MediaWiki:Gadget-requestForAdminship.js|gadget]]","rfa-alert":"Aviso","rfa-alert-nominateHimself":"Para nomear a si próprio, utilize o campo de autonomeação","rfa-alert-cantClose":"Apenas os burocratas podem encerrar pedidos de adminstração.","rfa-alert-alreadyClosed":"O pedido já está encerrado.","rfa-alert-ownRequest":"Você não pode fechar o seu próprio pedido.","rfa-status-fail":"Houve um problema entre as edições.","rfa-status-finished":"Finalizado","rfa-status-done":"FEITO","rfa-status-error":"ERROR","rfa-status-abort":"O processo ainda não foi finalizado, deseja sair assim mesmo?","rfa-status-getContentPage":'Obtendo o conteúdo da página "$1"',"rfa-button-OK":"OK","rfa-button-cancel":"Cancelar","rfa-button-yes":"Sim","rfa-button-no":"Não","rfa-create-dialog-title-0":"Nomeação para administrador","rfa-create-dialog-title-1":"Autonomeação para administrador","rfa-create-dialog-name":"Nome do candidato: ","rfa-create-dialog-argumentation-0":"Apresente sua argumentação em prol do candidato: ","rfa-create-dialog-argumentation-1":"Apresente uma argumentação em prol da sua candidatura: ","rfa-create-dialog-msgEsplanada":"Mensagem que será enviada a Esplanada: ","rfa-create-dialog-msgEsplanada-default-0":"Anuncio a todos que nomeei o editor [[Usuário:$1|$1]] ao cargo de [[WP:Administrador|Administrador]]. ~~"+String.fromCharCode(126)+"~","rfa-create-dialog-msgEsplanada-default-1":"Anuncio a todos que me auto-nomeei ao cargo de [[WP:Administrador|Administrador]]. ~~"+String.fromCharCode(126)+"~","rfa-create-status-title":"Criando candidatura","rfa-create-status-creatingPage":"Criando página da votação","rfa-create-status-listingRfA":'Adicionando a votação na predefinição "MRNomeações"',"rfa-create-status-announcing":"Anunciando a votação na Esplanada/Anúncios","rfa-create-status-verifyPreviousRfA":"Verificando se o candidato possui pedido(s) anterior(es) a esse","rfa-create-status-requestList":"Adicionando a votação na lista de pedidos","rfa-create-summary-creatingPage-0":"Criação do pedido de adminstração do editor [[Usuário:$1|$1]]","rfa-create-summary-creatingPage-1":"Criação da minha autonomeação ao cargo de adminstrador","rfa-create-summary-listingRfA-0":"Adicionando o pedido de administração do editor [[Usuário:$1|$1]]","rfa-create-summary-listingRfA-1":"Adicionando minha autonomeação ao cargo de administrador","rfa-create-summary-announcing-0":"Anunciando o pedido de administração do editor [[Usuário:$1|$1]]","rfa-create-summary-announcing-1":"Anunciando a minha autonomeação ao cargo de administrador","rfa-close-dialog-open":"encerrar o pedido","rfa-close-dialog-title":"Encerramento do pedido","rfa-close-dialog-result":"Resultado da votação ","rfa-close-dialog-result-1":"Aprovado","rfa-close-dialog-result-2":"Reprovado","rfa-close-dialog-result-3":"Cancelado","rfa-close-dialog-result-textarea-1":"Comentário adicional que será incluído no topo da página (não precisa assinar)","rfa-close-dialog-result-textarea-2":"Justifique o motivo do cancelamento (não precisa assinar)","rfa-close-status-title":"Encerrando o pedido","rfa-close-status-closing":"Encerrando a votação","rfa-close-status-updatingRfA":'Atualizando a votação na predefinição "MRNomeações"',"rfa-close-status-requestListRemoving":"Removendo a votação da lista de pedidos","rfa-close-status-archiving":"Arquivando o pedido","rfa-close-status-sendMsg":"Enviando mensagem ao editor","rfa-close-summary-closing":"Encerrando a votação ($1)","rfa-close-summary-updatingRfA":'Atualizando a votação para administrador do editor "[[Usuário:$1|$1]]" ($2)',"rfa-close-summary-requestListRemoving":'Removendo a votação do editor "[[Usuário:$1|$1]]" ($2)',"rfa-close-summary-archiving":'Arquivando o pedido do editor "[[Usuário:$1|$1]]" ($2)',"rfa-close-summary-sendMsg":"Enviando uma mensagem com a [[Predefinição:Novo administrador]]"}),(e={message:function(){return mw.message.apply(this,arguments).plain()},dialog:function(e,a){var t=$('<div class="rfa-dialog ui-widget"></div>').append(e.content);$(".rfa-dialog").length&&!a&&$(".rfa-dialog").each(function(){$(this).dialog("close")}),e.modal||(e.modal=!0),$.extend(e,{open:function(){$(".ui-dialog-titlebar-close").hide()},close:function(){t.dialog("destroy").remove()}}),t.dialog(e)},alert:function(a,t,o){var r,i={};i[e.message("rfa-button-OK")]=function(){$(this).dialog("close")},r={title:e.message("rfa-alert"),content:a,dialogClass:"rfa-alert",width:"auto",height:"auto",buttons:i},$.isPlainObject(t)&&$.extend(r,t),e.dialog(r,o)},editPage:function(t,o){var r=$.Deferred(),i=function(i){e.status.log(t),$.isFunction(o.text)&&(o.text=o.text(i)),void 0!==o.getText&&delete o.getText,o.watchlist="preferences",o.summary=o.summary+e.message("rfa-summary-sufixDefault"),o.minor=!0,a.editPage(o).done(function(){r.resolve(i)})};return"string"==typeof o.getText||$.isFunction(o.text)?(e.status.log(e.message("rfa-status-getContentPage",o.getText||o.title||mw.config.get("wgPageName").replace(/_/g," "))),a.getCurrentPageText(o.getText||o.title).done(function(e){i(e)})):i(),r.promise()},forceFill:function(e,a){return"boolean"==typeof a&&a||""===e.val()?e.addClass("rfa-fillField"):e.hasClass("rfa-fillField")&&e.removeClass("rfa-fillField"),"boolean"==typeof a?!a:""!==e.val()},doEdits:function(){return $.when.apply(this,Array.prototype.slice.call(arguments,1)).fail(function(){e.status.log(e.message("rfa-status-editFail"))})}}).status={},e.status.log=function(a,t){var o="",r="error"===a;-1!==$("#rfa-status").html().lastIndexOf("...")&&(o="<b>"+(o+=r?o+=e.message("rfa-status-error")+" ("+t+")":e.message("rfa-status-done"))+"</b><br />"),r||(o+=a+(a!==e.message("rfa-status-finished")?"...":".")),$("#rfa-status").append(o)},e.status.open=function(a){var t={},o=function(){$(".rfa-dialog").eq(0).dialog("close"),$(window).off("beforeunload")};t[e.message("rfa-button-cancel")]=function(){if(-1!==$(this).html().lastIndexOf(e.message("rfa-status-error")))return o();t.alertButtons={},t.alertButtons[e.message("rfa-button-yes")]=function(){$(this).dialog("close"),o()},t.alertButtons[e.message("rfa-button-no")]=function(){$(this).dialog("close")},e.alert(e.message("rfa-status-abort"),{modal:!1,buttons:t.alertButtons},!0)},e.dialog({title:a,content:'<div id="rfa-status"><div>',width:"700px",buttons:t})},e.create={},e.create.verifyPreviousRfA=function(t,o){1==o&&o++;var r="Wikipédia:Administradores/Pedidos de aprovação/"+t+(o?"/"+o:"");return o||(o=0,e.create.apiDeferred=$.Deferred()),a.getCurrentPageText(r).done(function(a){void 0===a?e.create.apiDeferred.resolve(o):e.create.verifyPreviousRfA(t,++o)}),e.create.apiDeferred.promise()},e.create.run=function(a,t,o,r){var i;e.status.open(e.message("rfa-create-status-title")),e.status.log(e.message("rfa-create-status-verifyPreviousRfA")),e.create.verifyPreviousRfA(a).done(function(s){i=a+(s?"/"+s:""),e.doEdits(e.editPage(e.message("rfa-create-status-requestList"),{title:"Wikipédia:Administradores/Pedidos_de_aprovação/Lista_de_pedidos",text:function(e){return e.replace(/\n(\{\{nenhum}})/i,"\n\x3c!-- $1 --\x3e")+"\n\{\{Wikipédia:Administradores/Pedidos de aprovação/"+i+"}}"},summary:e.message("rfa-create-summary-listingRfA-"+ +!r,a)}),e.editPage(e.message("rfa-create-status-announcing"),{title:"Wikipédia:Esplanada/anúncios",section:"new",sectiontitle:"[[Wikipédia:Administradores/Pedidos de aprovação/"+i+"]]",text:o,summary:e.message("rfa-create-summary-announcing-"+ +!r,a)}),e.editPage(e.message("rfa-create-status-listingRfA"),{title:"Predefinição:MRNomeações",text:function(e){return e=(e=e.replace(/(\|AdministradorAbertosTexto ?= ?\n?)(\* ?\{\{nenhum\}\})/i,"$1\x3c!-- $2 --\x3e").replace(/\|AdministradorAbertosTotal ?= ?(\d+)/,function(e,a){return"|AdministradorAbertosTotal="+(parseInt(a)+1)})).replace(/(\|AdministradorConcluídosTotal= ?)/,"* [[Wikipédia:Administradores/Pedidos de aprovação/"+i+"|"+a+"]]\n$1")},summary:e.message("rfa-create-summary-listingRfA-"+ +!r,a)}),e.editPage(e.message("rfa-create-status-creatingPage"),{getText:"Predefinição:PA"+(r+1),title:"Wikipédia:Administradores/Pedidos de aprovação/"+i,text:function(e){return e.replace(/<\/?includeonly>/g,"").replace(/<!-- Apague .+-->/,t)},summary:e.message("rfa-create-summary-creatingPage-"+ +!r,a)})).done(function(){e.status.log(e.message("rfa-status-finished")),$(window).off("beforeunload"),location.href=mw.util.getUrl("Wikipédia:Administradores/Pedidos de aprovação/"+i,r?{}:{action:"edit"})})})},e.create.init=function(){var a,t={},o=$('input[name="create"]');o.eq(0).attr("id","rfa-create-dialog-self"),o.eq(1).attr("id","rfa-create-dialog-nominate"),$('input[name="title"]').eq(0).val(mw.config.get("wgUserName").replace(/_/,"")).trigger("keyup"),t[e.message("rfa-button-OK")]=function(){e.forceFill($("#rfa-create-dialog-name")),e.forceFill($("#rfa-create-dialog-argumentation")),e.forceFill($("#rfa-create-dialog-msgEsplanada")),$(".rfa-dialog *").hasClass("rfa-fill-field")||(a&&$("#rfa-create-dialog-name").val()===mw.config.get("wgUserName").replace(/_/,"")?e.alert(e.message("rfa-alert-nominateHimself"),{},!0):e.create.run($("#rfa-create-dialog-name").val(),$("#rfa-create-dialog-argumentation").val(),$("#rfa-create-dialog-msgEsplanada").val(),a))},t[e.message("rfa-button-cancel")]=function(){$(this).dialog("close")},o.click(function(o){o.preventDefault(),a="rfa-create-dialog-nominate"===$(this).attr("id"),e.dialog({title:e.message("rfa-create-dialog-title-"+ +!a),content:"<label>"+e.message("rfa-create-dialog-name")+'<input id="rfa-create-dialog-name" /></label><br /><label>'+e.message("rfa-create-dialog-argumentation-"+ +!a)+'<br /><textarea id="rfa-create-dialog-argumentation" style="height:150px" /></label><br /><label>'+e.message("rfa-create-dialog-msgEsplanada")+'<br /><textarea id="rfa-create-dialog-msgEsplanada" style="height:75px" /></label>',height:450,width:700,buttons:t}),$("#rfa-create-dialog-name").val($('input[name="title"]').eq(+!!a).val()),$("#rfa-create-dialog-msgEsplanada").val(e.message("rfa-create-dialog-msgEsplanada-default-"+ +!a,$("#rfa-create-dialog-name").val()))})},e.close={},e.close.run=function(a,t,o,r){var i;e.status.open(e.message("rfa-close-status-title")),e.doEdits(e.editPage(e.message("rfa-close-status-closing"),{title:"Wikipédia:Administradores/Pedidos de aprovação/"+o,text:function(e){return i=e,e.replace(/(^\{\{Wikipédia:.+)data=.+(}})/,"$1"+a.toLowerCase()+"$2\n\n"+t+" ~~"+String.fromCharCode(126)+"~").replace(/<!-- ?(\{\{Wikipédia:.+}}) ?-->/,"$1")},summary:e.message("rfa-close-summary-closing",a)}),e.editPage(e.message("rfa-close-status-updatingRfA"),{title:"Predefinição:MRNomeações",text:function(e){var t="* [[Wikipédia:Administradores/Pedidos de aprovação/"+o+"|"+r+"]]";return e=e.replace(t+"\n","").replace(/(\|AdministradorConcluídosTexto ?= ?\n?)(\* ?\{\{nenhum\}\})/i,"$1\x3c!-- $2 --\x3e").replace(/(<\!\-\- BUROCRATA  \-\-\>)/,t+" \{\{MRImagem|"+a.toLowerCase()+"}}\n$1").replace(/\|AdministradorAbertosTotal ?= ?(\d+)/,function(e,a){return"|AdministradorAbertosTotal="+(parseInt(a)-1)}).replace(/\|AdministradorConcluídosTotal ?= ?(\d+)/,function(e,a){return"|AdministradorConcluídosTotal="+(parseInt(a)+1)}),"0"===/\|AdministradorAbertosTotal ?= ?(\d+)/.exec(e)[1]&&(e=e.replace(/(\|AdministradorAbertosTexto ?= ?\n?)<\!\-\- ?(\* ?\{\{nenhum\}\}) ?\-\-\>/i,"$1$2")),e},summary:e.message("rfa-close-summary-updatingRfA",r,a)}),e.editPage(e.message("rfa-close-status-requestListRemoving"),{title:"Wikipédia:Administradores/Pedidos_de_aprovação/Lista_de_pedidos",text:function(e){return-1===(e=e.replace("\n\{\{Wikipédia:Administradores/Pedidos de aprovação/"+o+"}}","")).search("\{\{Wikipédia:")&&(e=e.replace(/\n<\!\-\- ?(\{\{nenhum}}) ?\-\-\>/i,"\n$1")),e},summary:e.message("rfa-close-summary-requestListRemoving",r,a)}),e.editPage(e.message("rfa-close-status-sendMsg"),{title:"User talk:"+r,appendtext:"\n\{\{subst:Novo administrador}}",summary:e.message("rfa-close-summary-sendMsg")})).done(function(){e.editPage(e.message("rfa-close-status-archiving"),{title:"Wikipédia:Administradores/Pedidos de aprovação/Arquivo/"+(new Date).getFullYear(),section:{Aprovado:1,Reprovado:2,Cancelado:3}[a],text:function(e){var t,s=/Wikipédia:Administradores\/Pedidos de aprovação\/.+\|([^\]]+)/;return t="Aprovado"===a?e.substring(e.indexOf("== Aprovados ==\n")+16,e.indexOf("\n== Reprovados ==")-1):"Reprovado"===a?e.substring(e.indexOf("== Reprovados ==\n")+17,e.indexOf("\n== Cancelados ==")-1):e.substring(e.indexOf("== Cancelados ==\n")+17,e.indexOf("\n[[Categoria:")-1),t+="\n* [[Wikipédia:Administradores/Pedidos de aprovação/"+o+"|"+r+"]]","Cancelado"!==a?(t+=" ("+(/(==== ?A favor ?====(.|\n)*)(?=\==== ?Contra ?====)/.exec(i)[0].split(/\n#[^:\n]/).length-1)+"/"+(/(==== ?Contra ?====(.|\n)*)(?=\==== ?Abstenções ?====)/.exec(i)[0].split(/\n#[^:\n]/).length-1)+"/"+(/(==== ?Abstenções ?====(.|\n)*)(?=\=== ?Comentários ?===)/.exec(i)[0].split(/\n#[^:\n]/).length-1)+")",e=e.replace(new RegExp("(\n|.)+(== ?"+a+"s ?==\n)(\n|.)+"),"$2"+t.split("\n").sort(function(e,a){return""===e||""===a||s.exec(a)[1].toLowerCase()<s.exec(e)[1].toLowerCase()}).join("\n"))):e=e.replace(new RegExp("(\n|.)+(== ?"+a+"s ?==\n)(\n|.)+"),"$2"+t+e.substring(e.indexOf("\n[[Categoria:")-1)),e},summary:e.message("rfa-close-summary-archiving",r,a)}).done(function(){e.status.log(e.message("rfa-status-finished")),$(window).off("beforeunload"),location.href=mw.util.getUrl("Wikipédia:Administradores/Pedidos de aprovação/"+o)})})},e.close.init=function(){var a={},t=mw.config.get("wgPageName").replace(/Wikipédia:Administradores\/Pedidos_de_aprovação\//,""),o=t.split("/")[0];$("h2 .mw-editsection a").eq(1).after(' | <a id="rfa-close-dialog-open">'+e.message("rfa-close-dialog-open")+"</a>"),a[e.message("rfa-button-OK")]=function(){("3"!==$("#rfa-close-dialog-result").val()||e.forceFill($("#rfa-close-dialog-result-textarea")))&&e.close.run($("#rfa-close-dialog-result option:selected").text(),$("#rfa-close-dialog-result-textarea").val(),t,o)},a[e.message("rfa-button-cancel")]=function(){$(this).dialog("close")},$("#rfa-close-dialog-open").click(function(){-1===$("#mw-content-text").text().search("Por favor, não o modifique")?(e.dialog({title:e.message("rfa-close-dialog-title"),content:"<label>"+e.message("rfa-close-dialog-result")+' <select id="rfa-close-dialog-result"><option value="1">'+e.message("rfa-close-dialog-result-1")+'</option><option value="2">'+e.message("rfa-close-dialog-result-2")+'</option><option value="3">'+e.message("rfa-close-dialog-result-3")+'</option></select></label><textarea id="rfa-close-dialog-result-textarea" placeholder="'+e.message("rfa-close-dialog-result-textarea-1")+'"></textarea>',width:"auto",buttons:a}),$("#rfa-close-dialog-result").change(function(){"3"!==$(this).val()?$("#rfa-close-dialog-result-textarea").removeClass("rfa-fillField").attr("placeholder",e.message("rfa-close-dialog-result-textarea-1")):$("#rfa-close-dialog-result-textarea").attr("placeholder",e.message("rfa-close-dialog-result-textarea-2"))})):e.alert(e.message("rfa-alert-alreadyClosed"))})},$(e.create.init),$(e.close.init)}();