MediaWiki:Gadget-mediawiki.api.ptwiki.js

Origem: Wikipédia, a enciclopédia livre.

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.
/** Extended API
 *
 * @date 08/oct/2012
 * @update 08/mai/2021
 * @since MW 1.19
 * @source https://github.com/Nevallem/mw-gadget-mediawiki.api.ptwiki
 */
/*jshint laxbreak: true */
/*global mw, $ */

!function(){"use strict";$.extend(mw.Api.prototype,{editPage:function(e){var r={},o=$.Deferred();return $.extend(r,e,{format:"json",action:"edit",title:e.title||mw.config.get("wgPageName"),token:mw.user.tokens.get("csrfToken")}),delete r.done,this.post(r).done(function(r){o.resolve(r.edit),e.done&&("function"==typeof e.done?e.done(r.edit):"function"==typeof e.done.success&&e.done.success(r.edit))}).fail(function(r,o){e.done?o||"function"!=typeof e.done.unknownError?o.error&&"function"==typeof e.done.apiError&&e.done.apiError(o.error):e.done.unknownError():console.log('mediawiki.api.ptwiki: edit failed (code: "'+o.error.code+'"; info: "'+o.error.info+'")')}),o.promise()},getCurrentPageText:function(e){var r,o,t=$.Deferred();return $.ajax({url:mw.util.wikiScript("api"),dataType:"json",data:{format:"json",action:"query",titles:e||mw.config.get("wgPageName"),prop:"revisions",rvprop:"content",indexpageids:"1"}}).done(function(e){r=e.query,void 0!==e.error?(mw.notify("Erro ao usar a API: "+e.error.code+". "+e.error.info),t.reject()):r&&r.pages&&r.pageids?(o=r.pages[r.pageids[0]].revisions,t.resolve(o&&o[0]["*"])):(mw.notify("Houve um erro inesperado ao usar a API."),t.reject())}).fail(function(){mw.notify("Houve um erro ao tentar usar a API para acessar a página atual."),t.reject()}),t.promise()},getUsersInGroup:function(e){var r=$.Deferred();return this.get({list:"allusers",augroup:e,aulimit:500}).done(function(e){r.resolve($.map(e.query.allusers,function(e){return e.name}))}).fail(r.reject),r.promise()},getTotalEditsByUser:function(e,r,o){var t=$.Deferred(),n=this,i={list:"usercontribs",ucstart:r,ucend:o,ucuser:e,ucdir:"newer",ucprop:"sizediff",uclimit:500},u=0,a=function(e){e&&(i.ucstart=e),n.get(i).done(function(e){u+=e.query.usercontribs.length,e["query-continue"]?a(e["query-continue"].usercontribs.ucstart):t.resolve(u)}).fail(t.reject)};return a(),t.promise()}})}();