Usuário:Coco/Truthcode

De Wikimerda
Ir para: navegação, pesquisa

Truthcode, conhecido no Brasil como o código da grande Verdade, produzido pelo desciclope sr. Verdadeiro e adaptada pelo Wikimerdiano das Cocadas, nasce com o propósito de adicionar facilidades de edição ao site. Ao longo dessas décadas de desenvolvimento, o script ganhou funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e mais funções e agora já está a poucos passos de dominar o mundo escravizando a especie humana não ter absolutamente mais porra nenhuma que eu possa adicionar a ele.

Instalação[editar]

Não é exatamente uma instação, na verdade o termo mais adequado é ativação.

Copie o Código ao final da página e cole no seu commons (User:(nome de seu usuário/common.js) até a linha "//Truthcode - " salve e limpe o cache de seu navegador

Após isso o Truthcode já deve ficar disponível para utilização imediatamente. Lembro que é necessário ter conta no site e estar logado para efetuar a "instalação".

Caso não saiba "instalar", me avise.

Principais funções presentes atualmente[editar]

O Truthcode possui uma quantidade muito grande de funções (sério!), abaixo, listamos algumas delas:

  • Edição rápida de seção: funcionalidade mais utilizada do Truthcode, adiciona, ao lado do botão [editar] de cada seção, um botão para realizar a edição da seção sem ter de sair da página.
  • Eliminar o artigo (para sysops apenas): elimina o artigo com facilidade e opcionalmente avisa o autor do artigo que o artigo foi eliminado. Botão presente no topo do artigo e também nas MRs (em artigos novos criados).
  • Marcar o artigo para eliminação rápida (para não-sysops apenas): marca o artigo para eliminação rápido com {{ER}} e opcionalmente avisa o autor do artigo que o artigo foi marcado para eliminação. Botão presente no topo do artigo e também nas MRs (em artigos novos criados).
  • µmudanças recentes no rodapé de cada página: potentes mudanças recentes ao final de cada página para poder patrulhar as MRs enquanto, edita ou navega na Wikimerda. Pode ser desabilitada com apenas um clique em ocultar.
  • Boas-vindas automático aos novos usuários: função integrada às µmudanças recentes. Ao clicar no botão "habilitar autobv", você passará a dar Boas-vindas automaticamente aos novos usuários registrados. Função desabilitável ao clicar em "desabilitar autobv" ou deletar os cookies.
  • Botão para adicionar à Patrulha do Banimento (para não-sysops apenas): adiciona com facilidade o IP ou usuário à patrulha do banimento. Botão presente nas Mudanças recentes, nas diffs das páginas e nas µmudanças recentes.
  • Botão para bloquear (para sysops apenas): semelhante ao botão de eliminar páginas, mostra um drop down com as lista de bloqueios para os vândalos.

Utilização em outras Wiki[editar]

Não é necessário solicitar autorização previa para copiar e modificar o script para sua wiki desde que você respeite os termos da licença sob a qual o Truthcode se encontra (CC BY-NC-SA 2.5). A licença basicamente, permite que você utilize uma versão, idêntica ou modificada, do Truthcode somente fins não-comerciais e que você não deve remover os créditos no topo do código-fonte do script. Leia a página da licença para mais detalhes.

Caso precise utilizar em projetos comerciais, entre em contato com o autor.

Objetivos[editar]

Mediawiki é software demasiadamente poderoso e fácil de utilizar, mas quando a questão é praticidade de uso, ele deixar a desejar em alguns pontos como ter que carregar 3 páginas para deletar ou editar um artigo e não ter muitas funções personalizáveis para edição numa wiki (adicionar certas predefinições por exemplo).

Com o surgimento de novos padrões que facilitam a vida de nós meros mortais na internet, em destaque o ajax, é trabalho de malucos como eu, utilizar dessas poderosas ferramentas para ajudar usuários como você e seu irmão de 14 anos que pesquisa por sites pornos e acidentalmente descobre o nosso site.

Para tanto o objetivo do Truthcode é facilitar as tarefas rotineiras dos usuários editores do site e tentar assim gerar um menor indice de desistencia dos editores ativos do site, aumentar sua produtividade e deixá-los tão felizes a ponto de chamarem mais malucos para vir editar aqui e dessa forma dominar o mundo ajudar o site a crescer e ficar mais maior que a Wikipédia.

Agradecimentos especiais(do dono da ferramenta[editar]

Meus agradecimentos gerais vão para todos os usuário do script, que ao longo desses meses tem motivado o seu continuo desenvolvimento. E de maneira especial gostária de agradecer ao usuário Xoted, autor do script ColCat que embora não utilizei o código para criar o Truthcode, foi, no mínimo, uma grande inspiração para eu criar o Truthcode.

Gostaria de agradecer também ao usuário Dark Fallen Angel, sem dúvida alguma, o usuário que mais utilizou o Truthcode até o momento (consequência também de ser o usuário mais ativo do site) e que muitas funções sugeriu e bugs reportou a mim durante esses meses de desenvolvimento do Truthcode.

Código[editar]

<source lang="javascript"> // Truthcode // // by Truewww // http://desciclopedia.org/wiki/user:Truewww // // Importado por Coco // http://wikimerda.org/wiki/user:Coco // // Licenciado em (licensed under) Attribution-NonCommercial-ShareAlike 2.5 Generic (CC BY-NC-SA 2.5) // http://creativecommons.org/licenses/by-nc-sa/2.5/

//debug if(location.host == 'localwiki'){ window.onerror=function(msg, url, linenumber){

alert('Error message: '+msg+'\nURL: '+url+'\nLine Number: '+linenumber)
return true

} }

document.write('<script type="text/javascript" src="http://' + location.hostname + '/index.php?title=User:Coco/jquery.js&action=raw&ctype=text/javascript&dontcountme=s&v=7ponto1"></script>');

erollback = 0; esysop = 0; if ( wgUserGroups ) { for ( var csysop = 0; csysop < wgUserGroups.length; ++csysop ) { if ( wgUserGroups[csysop] == "sysop") { esysop = 1;} if ( wgUserGroups[csysop] == "rollback") { erollback = 1;} } }

if (esysop == 1) { funcdelname = "deletepag"; eladelname = "Eliminar artigo"; elavadelname = "Eliminar artigo e avisar autor"; seladelname = "Del"; selavadelname = "Del&Av"; mesdelname = "Truthcode para sysops:"; } else { funcdelname = "cerpag"; eladelname = "Marcar artigo para eliminação"; elavadelname = "Marcar artigo para eliminação e avisar o autor"; seladelname = "ER"; selavadelname = "ER&Av"; mesdelname = "Truthcode para não-sysops:"; }

function botoesdifftruth(userav2,titulopagina2,adicionaltruth,carregaut,undot,undoaftert,revuser,revuserold) { var useravd2=decodeURIComponent(userav2) var userave2=userav2.replace(/\'/g,"\\'") var botoesdiff = "Avisos Truthcode para "+useravd2+": "; botoesdiff += "<a title=\"Boas-vindas ao IP\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','bvip','"+titulopagina2+"','"+carregaut+"')\">[bvip]</a> "; botoesdiff += "<a title=\"recomenda o usuário ler páginas de tutoriais\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','noobaid','"+titulopagina2+"','"+carregaut+"')\">[Noobaid]</a> "; botoesdiff += "<a title=\"aviso para usuário que adicionou conteúdo privado em artigo\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-humor privado','"+titulopagina2+"','"+carregaut+"')\">[Av-humor privado]</a> "; botoesdiff += "<a title=\"aviso para usuário que adicionou opinião, ideia ou sugestão em artigo (aviso que recomenda que ele o faça na discussão do artigo).\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-Disc','"+titulopagina2+"','"+carregaut+"')\">[Av-Disc]</a> "; botoesdiff += "<a title=\"sugere ao usuário para usar da norma culta do português e evitar o uso de internetês.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-internetês','"+titulopagina2+"','"+carregaut+"')\">[Av-internetês]</a> "; botoesdiff += "<a title=\"sugere ao usuário para evitar o uso de Chuck Norris, Acre e outros clichês em artigos. \" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-clichês','"+titulopagina2+"','"+carregaut+"')\">[Av-clichês]</a> "; botoesdiff += "<a title=\"aviso para usuário que sobrepôs imagem.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-Imagem','"+titulopagina2+"','"+carregaut+"')\">[Av-Imagem]</a> "; botoesdiff += "<a title=\"aviso para usuário que colocou predefinições de artigos em sua página de usuário.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-TempPU','"+titulopagina2+"','"+carregaut+"')\">[Av-TempPU]</a> "; botoesdiff += "<a title=\"aviso para usuário que removeu conteúdo do artigo.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-Remoção','"+encodeURIComponent('1|')+titulopagina2+"','"+carregaut+"')\">[Av-Remoção]</a> "; botoesdiff += "<a title=\"aviso para usuário vândalo.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Adv','"+titulopagina2+"','"+carregaut+"')\">[Adv]</a> "; botoesdiff += "<a title=\"aviso para IP vândalo.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Advip','"+titulopagina2+"','"+carregaut+"')\">[Advip]</a> "; botoesdiff += "<a title=\"aviso para usuário que enviou imagem que já existia com outro nome.\" href=\"#\" onclick=\""+adicionaltruth+"return avisosg('"+userave2+"','Av-duplicada','"+titulopagina2+"','"+carregaut+"')\">[Av-duplicada]</a> "; if (esysop == 1) { botoesdiff += "
Extras: <a title=\"Bloqueia o usuário (O RLY?).\" href=\"#\" onclick=\""+adicionaltruth+"return quickblocktruth('"+userave2+"')\">[Bloquear "+useravd2+" rapidamente]</a> "; } else { botoesdiff += "
Extras: <a title=\"Adiciona à patrulha do banimento.\" href=\"#\" onclick=\""+adicionaltruth+"return addpatrulhaban('"+userave2+"')\">[Adicionar "+useravd2+" à Patrulha do banimento]</a> "; } if (undot != 'cancel' && !isNaN(undot) && !isNaN(undoaftert)) { botoesdiff += "<a title=\"Reverte para a edição deste usuário (a edição no lado esquerdo <<< desta diff).\" href=\"#\" onclick=\""+adicionaltruth+"return desfazeredt('"+titulopagina2+"','"+undot+"','"+undoaftert+"', '"+encodeURIComponent(revuser).replace(/\'/g,"\\'")+"', '"+encodeURIComponent(revuserold).replace(/\'/g,"\\'")+"','"+carregaut+"');\">[Reverter para a edição de "+revuser+"]</a> "; } return botoesdiff; } function gerabotoesdifftruth(conteudodiff) { var botoesdiff2 = document.createElement('div'); botoesdiff2.setAttribute('style','width: 100%;color: #7D7D7D;font-size: 84%;line-height: 1.2em;margin: 0 0 1.4em 1em; width: auto;'); botoesdiff2.setAttribute('class','portlett'); botoesdiff2.innerHTML = conteudodiff; document.getElementById('bodyContent').insertBefore(botoesdiff2,document.getElementById('contentSub')); }

addOnloadHook( function(){

var titulopagina = encodeURIComponent(wgPageName.replace(/_/g," ")).replace(/\'/g,"\\'");

conteudoartigo = $('#bodyContent');

if (((wgAction=="view" || wgAction=="edit") && wgCanonicalNamespace!="Special") || ((location.href).search(/\&diff\=/i)) != -1) { if(wgArticleId!=0) { botoesdeedrapida(titulopagina); }

var botoes = "";

if (wgNamespaceNumber == 10) { botoes += 'Truthcode para predefinições: '; botoes += '<a href="#" onclick="pretruth(); tcremovepred(\+titulopagina+'\'); return false;">[Remover esta predefinição das páginas de usuário]</a> '; botoes += "
"; }


//Truthcode para discussões - inicio if (wgNamespaceNumber%2 == 1 || wgCanonicalNamespace=="Forum" || /Wikimerda\:Os\_melhores\_artigos\/.*/.test(wgPageName) || /Wikimerda\:Desqualificação\_de\_artigos\/.*/.test(wgPageName) || /Wikimerda\:Eliminação\_de\_páginas\/.*/.test(wgPageName)) { $('#contentSub').after(''); botoes += 'Truthcode para discussões: '; botoes += '<a href="#" onclick="pretruth(); return addconteudoformata(\+titulopagina+'\',\'containeraddconteudo\')">[Add conteúdo nesta discussão]</a> ';


if (wgCanonicalNamespace=="Forum" || /Wikimerda\:Os\_melhores\_artigos\/.*/.test(wgPageName) || /Wikimerda\:Desqualificação\_de\_artigos\/.*/.test(wgPageName)) { botoes += '<a href="#" onclick="pretruth(); return votartruth(\+titulopagina+'\',\'Concordo\')">[Votar concordo]</a> '; botoes += '<a href="#" onclick="pretruth(); return votartruth(\+titulopagina+'\',\'Discordo\')">[Votar discordo]</a> '; botoes += '<a href="#" onclick="pretruth(); return votartruth(\+titulopagina+'\',\'Neutro\')">[Votar neutro]</a> '; }


if (/Wikimerda\:Eliminação\_de\_páginas\/.*/.test(wgPageName)) { botoes += '<a href="#" onclick="pretruth(); return votartruth(\+titulopagina+'\',\'Apagar\')">[Votar apagar]</a> '; botoes += '<a href="#" onclick="pretruth(); return votartruth(\+titulopagina+'\',\'Manter\')">[Votar manter]</a> '; }


if (wgCanonicalNamespace=="User_talk") { botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'bv\')">[BV]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'bvold\')">[BVOLD]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'bvip\')">[BVIP]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'criapag\')">[Criapag]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'bvemo\')">[bvemo]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'adv\')">[adv]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'advip\')">[advip]</a> '; botoes += '<a href="#" onclick="pretruth(); return truthdiscadd(\+titulopagina+'\',\'noobaid\')">[noobaid]</a> '; botoes += "<a title=\"aviso para usuário que enviou imagem que já existia com outro nome.\" href=\"#\" onclick=\"pretruth(); return avisosg('"+titulopagina.replace(/^.+?\%3A/i,"")+"','Av-duplicada',,1)\">[av-duplicada]</a> "; }


//encerra tópico if (wgCanonicalNamespace=="Forum" || /Wikimerda\:Os\_melhores\_artigos\/.*/.test(wgPageName) || /Wikimerda\:Desqualificação\_de\_artigos\/.*/.test(wgPageName) || /Wikimerda\:Eliminação\_de\_páginas\/.*/.test(wgPageName)) { if (esysop == 1) { botoes += '<a href="#" onclick="pretruth(); return fechartopc(\+titulopagina+'\')">[Fechar tópico]</a> '; } }

//encerra votação //if (wgCanonicalNamespace=="Forum" || /Wikimerda\:Eliminação\_de\_páginas\/.*/.test(wgPageName)) //{ //botoes += '<a href="#" onclick="pretruth(); return tcencerravotac(\+titulopagina+'\')">[Encerrar votação]</a>'+tcimagemnovo; //}

//Protege o topico if (wgCanonicalNamespace=="Forum" && esysop == 1 && $('li#ca-protect').length != 0 && $.inArray('Boteco',wgCategories) != -1) { //número aleatório entre 0 e 10 switch(Math.floor(Math.random()*11)) { case 0: var noobDaVez="do Drago";

 break;

case 1: var noobDaVez="da batata podre";

 break;

case 2: var noobDaVez="do spam boy";

 break;

case 3: var noobDaVez="do Sal Cozinha Eletrostático";

 break;

case 4: var noobDaVez="do Tripa";

 break;

case 5: var noobDaVez="do ElectroStatic Jolt";

 break;

case 6: var noobDaVez="da autora do apinião";

 break;

case 7: var noobDaVez="da batata podre";

 break;

case 8: var noobDaVez="do Drago"; // de novo, de novo

 break;

case 9: var noobDaVez="da Culumon";

 break;

default: var noobDaVez="de um n00b qualquer"; }

botoes += '<a href="#" onclick="pretruth(); return dragoprotect(\+titulopagina+'\')" style="font-weight:bold;text-decoration:blink;">[Proteger contra o IP '+noobDaVez+']</a> '; }


botoes += "
";

} //Truthcode para discussões - fim



//Botão pro dark if (wgNamespaceNumber==2 && wgUserName=="Dark Fallen Angel") { botoes += "Truthcode especiais: "; botoes += '<a href="#" onclick="pretruth(); return especialban(\+titulopagina+'\',\'BanidoPorDark\')">[Banido pelo Dark]</a> '; botoes += "
"; }

botoes += "Truthcode: ";

//botoes de add UTI botoes += '<a href="#" onclick="pretruth(); return utiTruth(\+titulopagina+'\')">[Add UTI]</a> ';

//botoes de predef de manutenção botoes += '<a href="#" onclick="pretruth(); return predefmanutencao(\+titulopagina+'\')">[Add predef manutenção]</a> ';

//botão de pvt //botoes += '<a href="#" onclick="pretruth(); return moverpvt(\+titulopagina+'\')">[Mover para privado]</a> ';

//botão do removedor de conteúdo botoes += '<a href="#" onclick="pretruth(); return substtermo(\+titulopagina+'\')">[Substituir determinado termo]</a> ';

//botão do adicionar de conteúdo topo botoes += '<a href="#" onclick="pretruth(); return addconteudo(\+titulopagina+'\',\'prepend\')">[Add conteúdo topo]</a> ';

//botão do adicionar de conteúdo fundo botoes += '<a href="#" onclick="pretruth(); return addconteudo(\+titulopagina+'\',\'append\')">[Add conteúdo embaixo]</a> ';

//botão de correção ortográfica botoes += '<a href="#" onclick="pretruth(); return truthgramatical(\+titulopagina+'\')">[Corr gramatic]</a> ';

//Outros botões botoes += '<a href="#" onclick="pretruth(); return outrasfuncstruth(\+titulopagina+'\')">[Outras funções]</a> ';

//Funcoes para diferenciadas para sysops e não sysops //botão de apagar artigo e ER botoes += '
'+mesdelname+' <a href="#" onclick="pretruth(); return '+funcdelname+'(\+titulopagina+'\',0,1)">['+eladelname+']</a> '; botoes += '<a href="#" onclick="pretruth(); return '+funcdelname+'(\+titulopagina+'\',1,1)">['+elavadelname+']</a> ';

//Botão para limpar a patrulha do banimento if ((esysop == 1 || wgUserName == 'Dainidankai') && wgPageName=="Wikimerda:Inquisição Wikimerdiana") { botoes += '

<a style="font-weight: bold;" href="#" onclick="pretruth(); return cleanpbvan(1)">[Limpar todas as entradas da patrulha do banimento]</a> '; $("#Entradas").parent().append('<a href="#" onclick="pretruth(); return cleanpbvan(1)">[Limpar todas as entradas da patrulha do banimento]</a>'); }

//Botão para limpar a página de testes if (wgPageName=="Wikimerda:Página_de_testes") { botoes += '

<a style="font-weight: bold;" href="#" onclick="pretruth(); return cleantestetruth()">[Limpar página de testes]</a> '; }

if (((location.href).search(/(\&|\?)diff\=/i)) != -1 && $('#mw-diff-ntitle2 a:first').html() != null) { userav = encodeURIComponent($('#mw-diff-ntitle2 a:first').html()).replace(/\'/g,"\\'"); if ($('#mw-diff-otitle1').length !=0 && $('#mw-diff-ntitle1').length !=0) { undot = $('#mw-diff-otitle1 a:first').attr('href').replace(/.*oldid\=/g,""); undoaftert = $('#mw-diff-ntitle1 a:first').attr('href').replace(/.*oldid\=/g,""); } else { undot = 'cancel'; undoaftert = 'cancel'; } revuser = $('#mw-diff-otitle2 a:first').html(); revuserold = $('#mw-diff-ntitle2 a:first').html(); gerabotoesdifftruth(botoes+'

'+botoesdifftruth(userav,titulopagina,'pretruth();',1,undot,undoaftert,revuser,revuserold)); } else { $('#contentSub').append(botoes+'
'); }

}

//Botão de boas vindas manual if (wgPageName=='Especial:Registro') { if(typeof getCookie("nautobvtruthcode") != "undefined"){ if ($('option[value="newusers"]').attr('selected') == 'selected') {

$('#contentSub').prepend('Truthcode: <a href="#" onclick="pretruth(); return truthvmanual();">[Dar boas vindas a todos desta página]</a> ')

}}}

//Alterações nas MRs início if (wgPageName=="Especial:Mudanças_recentes") { //Mudanças recentes aprimoradas if ($('#bodyContent table.mw-enhanced-rc:eq(0)').html()) { for (i=0; i<$('#bodyContent table.mw-enhanced-rc').length; i++) { if (typeof $('#bodyContent table.mw-enhanced-rc:eq('+i+') td:eq(0) abbr:eq(0)') != "undefined") { if ($('#bodyContent table.mw-enhanced-rc:eq('+i+') td:eq(0) abbr:eq(0)').html() == "N") { var titulopaginamrnew = encodeURIComponent($('#bodyContent table.mw-enhanced-rc:eq('+i+') td:eq(1) a:eq(0)').html().replace(/_/g," ")).replace(/\'/g,"\\'"); var alteratitulo = "conteudoartigo = $('#bodyContent table.mw-enhanced-rc:eq("+i+") td:eq(1)');"; $('#bodyContent table.mw-enhanced-rc:eq('+i+') td:eq(1)').append(' <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',0,0)" title="'+eladelname+'">['+seladelname+']</a> <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',1,0)" title="'+elavadelname+'">['+selavadelname+']</a>'); } } } }

//Mudanças recentes convencionais else { for (i=0; i<$('#bodyContent ul.special > li').length; i++) { if (typeof $('#bodyContent ul.special > li:eq('+i+') abbr:eq(0)') != "undefined") { var alteratitulo = 'conteudoartigo = $(\'#bodyContent ul.special > li:eq('+i+')\');' if ($('#bodyContent ul.special > li:eq('+i+') abbr:eq(0)').html() == "N") { var titulopaginamrnew = encodeURIComponent($('#bodyContent ul.special > li:eq('+i+') a:eq(1)').html().replace(/_/g," ")).replace(/\'/g,"\\'"); $('#bodyContent ul.special > li:eq('+i+') .mw-usertoollinks').append(' <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',0,0)" title="'+eladelname+'">['+seladelname+']</a> <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',1,0)" title="'+elavadelname+'">['+selavadelname+']</a>'); }

//insire a patrulha do ban ou quick block inicio if ($('#bodyContent ul.special > li:eq('+i+') a:eq(0)').html() == "dif") { var numerodoalink = 3; } else { var numerodoalink = 1; } if (esysop == 0) { $('#bodyContent ul.special > li:eq('+i+') .mw-usertoollinks').append(' <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return addpatrulhaban(\+encodeURIComponent($('#bodyContent ul.special > li:eq('+i+') a:eq('+numerodoalink+')').html()).replace(/\'/g,"\\'")+'\')" title="Adiciona à patrulha do banimento">[Add BP]</a>'); } else { $('#bodyContent ul.special > li:eq('+i+') .mw-usertoollinks').append(' <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return quickblocktruth(\+encodeURIComponent($('#bodyContent ul.special > li:eq('+i+') a:eq('+numerodoalink+')').html()).replace(/\'/g,"\\'")+'\')" title="Bloquear usuário rapidamente">[Block]</a>'); } //insire a patrulha do ban ou quick block fim

} } }


} //Alterações nas MRs fim



});

//Função geral de altera conteúdo function alteraconteudo(conteudonovo) { conteudoartigo.html(""+conteudonovo+""); } function alteraconteudocd(conteudonovo) { conteudoartigo.html(''+conteudonovo+''); } function alteraconteudoapp(conteudonovo) { conteudoartigo.append("
"+conteudonovo+""); }


//Função ajax principal function ajaxjq(postado,funcaoextra) { $.ajax({ type:"POST",url:'http://'+location.hostname+'/api.php', data:"format=xml&"+postado, success:function(result){funcaoextra(result);}, }) } function ajaxjqtext(postado,funcaoextra) { $.ajax({ type:"POST",url:'http://'+location.hostname+'/api.php', data:"format=xml&"+postado,dataType:"text", success:function(result){funcaoextra(result);}, }) }

//obtem token de edição window.deslogadoalerta = 0; function tokened(funcaoextra) { ajaxjq('action=query&prop=info&titles='+encodeURIComponent('Página_principal')+'&intoken=edit',function(result){ var tokenobtido = $("page", result).attr('edittoken'); if (tokenobtido=='+\\'){ if (deslogadoalerta == 0) { window.deslogadoalerta = 1; alert('Você está deslogado! O Truthcode deixará de funcionar até que você se logue novamente'); } } else { funcaoextra(result,tokenobtido,$("page", result).attr('starttimestamp')); } }) }

//checa se tem drop-down de deletação ativo function canceladeleteativos() { if ($(".canceladelete").length > 0) { $(".canceladelete").click(); } } function pretruth() { canceladeleteativos(); conteudoartigo = $('#bodyContent'); }

//checa se autor não é um sysop ou usuário experiente function checaautor(xh,alertar) { for ( var ij = 0; ij < tcusers.length; ++ij ) { if ( tcusers[ij] == xh) { if (alertar == 1) alert('O usuário "'+tcusers[ij]+'" identificado como autor do artigo é um usuário experiente incluído na lista de exclusão do Truthcode e para tanto, a operação de enviar o aviso de eliminação foi cancelada. Verifique quem é o real autor e caso necessário notifique-o manualmente sobre a eliminação do artigo.'); return false; } } return true; }

//Função para votar function votartruth(pagina,vtipo) { if ($('a:first',$('#'+vtipo).parent()).length == 0) { alert ('Não foi encontrada seção "'+vtipo+'" nesta página!') }

else if ($('a:first',$('#'+vtipo+'_2').parent()).length != 0) { alert ('Foi detectada mais de uma seção "'+vtipo+'" nesta página! Não é possível votar com o Truthcode em tópicos contendo mais de uma votação.') }

else { if (confirm('Confirma votar "'+vtipo+'"? (Função presente para evitar cliques acidentais)')) { if (vtipo == 'Apagar') { vtipo2 = 'Concordo'; } else if (vtipo == 'Manter') { vtipo2 = 'Discordo'; } else { vtipo2 = vtipo; } idsecaovota = encodeURIComponent($('a:not(.botaodeedrap):first',$('#'+vtipo).parent()).attr('href').replace(/^.+\&section\=([0-9]+)/,"$1")); alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Votando. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Votando "'+vtipo+'" via Truthcode')+'&title='+pagina+'&appendtext='+encodeURIComponent('\n#\{\{'+vtipo2+'}} ~~'+'~~')+'&token='+encodeURIComponent(token)+'&section='+idsecaovota,function(result){ alteraconteudo("Votação concluída. Carregando página de comparação da sua edição com a edição anterior."); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title='+pagina; }); }); } }

return false; }

//Editor de seção rápido window.tcidquickedit = 0; function tcquickedit (pagina,secao,qesid,eprarecarrecar,tahnawatchlist) { if (tahnawatchlist) { var nawatchlist = ' checked="checked"'; } else { var nawatchlist = ;} $('#tcquicked'+qesid).css('display','block'); $('#tcquicked'+qesid).html('Carregando.'); ajaxjq('action=query&prop=revisions&rvlimit=1&rvprop=content|timestamp&rvsection='+secao+'&titles='+pagina,function(result){ tokened(function(result2,token,time){ $('#tcquicked'+qesid).html( ''+ ''+ '<img style="cursor: pointer;" title="Texto em negrito" alt="Texto em negrito" src="/skins/common/images/button_bold.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\\'\\\'\\\'\', \'\\\'\\\'\\\'\', \'Texto em negrito\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Texto em itálico" alt="Texto em itálico" src="/skins/common/images/button_italic.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\\'\\\'\', \'\\\'\\\'\', \'Texto em itálico\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Link interno" alt="Link interno" src="/skins/common/images/button_link.png" border="0" height="22" width="23" onclick="insertTagstc(\'\', \'\', \'Título do link\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Link externo (lembre-se do prefixo http://)" alt="Link externo (lembre-se do prefixo http://)" src="/skins/common/images/button_extlink.png" border="0" height="22" width="23" onclick="insertTagstc(\'[\', \']\', \'http://www.example.com título do link\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Seção de nível 2" alt="Seção de nível 2" src="/skins/common/images/button_headline.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\n== \', \' ==\\n\', \'Texto do cabeçalho\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Arquivo embutido" alt="Arquivo embutido" src="/skins/common/images/button_image.png" border="0" height="22" width="23" onclick="insertTagstc(\'Arquivo:\', \'\', \'Exemplo.jpg\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Link para arquivo" alt="Link para arquivo" src="/skins/common/images/button_media.png" border="0" height="22" width="23" onclick="insertTagstc(\'Media:\', \'\', \'Exemplo.ogg\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Fórmula matemática (LaTeX)" alt="Fórmula matemática (LaTeX)" src="/skins/common/images/button_math.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\x3cmath\\x3e\', \'\\x3c\/math\\x3e\', \'Inserir fórmula aqui\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Ignorar formato wiki" alt="Ignorar formato wiki" src="/skins/common/images/button_nowiki.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\x3cnowiki\\x3e\', \'\\x3c\/nowiki\\x3e\', \'Inserir texto não-formatado aqui\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Sua assinatura, com hora e data" alt="Sua assinatura, com hora e data" src="/skins/common/images/button_sig.png" border="0" height="22" width="23" onclick="insertTagstc(\'--~~\~~\', \'\', \'\', \'tcquickedtextarea'+qesid+'\' ); return false;">' +'<img style="cursor: pointer;" title="Linha horizontal (use de forma moderada)" alt="Linha horizontal (use de forma moderada)" src="/skins/common/images/button_hr.png" border="0" height="22" width="23" onclick="insertTagstc(\'\\n----\\n\', \'\', \'\', \'tcquickedtextarea'+qesid+'\' ); return false;">'

//Botão de upload //+'<img style="cursor: pointer;" title="Envia uma imagem" alt="Envia uma imagem" src="/skins/common/images/Arr_u.png" border="0" height="22" width="23" onclick="truthuploadform(\'tcquickeduploadfile'+qesid+'\'); return false;">'

+'<form action="#" method="post" class="qedativa"><textarea style="max-width:95%;height:300px;border: 2px solid #990000;" id="tcquickedtextarea'+qesid+'">'+$('rev', result).text().replace(/&/g,"&")+'</textarea>'

+'<label for="tcquickedwpSummary'+qesid+'">Sumário:</label> <input id="tcquickedwpSummary'+qesid+'" class="mw-summary" maxlength="200" tabindex="1" name="wpSummary" style="width:70%">
<input id="tcquickedwpMinoredit'+qesid+'" name="wpMinoredit" value="1" tabindex="3" accesskey="i" type="checkbox"> <label for="tcquickedwpMinoredit'+qesid+'" title="Marcar como edição menor [alt-shift-i]">Marcar como edição menor</label><input id="tcquickedwpWatchthis'+qesid+'" name="wpWatchthis" value="1" tabindex="4" accesskey="w" type="checkbox"'+nawatchlist+'> <label for="tcquickedwpWatchthis'+qesid+'" title="Adicionar esta página à sua lista de páginas vigiadas [alt-shift-w]">Vigiar esta página</label>
'

+'<input type="submit" name="enviar" value="Enviar" id="enviar" onclick="tcquickedit2 (\+pagina.replace(/\'/g,"\\'")+'\','+secao+','+qesid+','+eprarecarrecar+'); return false;" />' +'<input onclick="tcquickpreview (\+pagina.replace(/\'/g,"\\'")+'\','+secao+','+qesid+'); return false;" name="wpPreview" type="submit" tabindex="6" value="Mostrar previsão" accesskey="p" title="Prever as alterações, por favor utilizar antes de salvar!" />' +'<input onclick="tcquickdiff (\+pagina.replace(/\'/g,"\\'")+'\','+secao+','+qesid+',\+encodeURIComponent(token)+'\'); return false;" name="wpDiff" tabindex="7" value="Mostrar alterações" title="Mostrar alterações que fez a este texto. [alt-shift-v]" type="submit" />' +' <a href="#" onclick="$(\'#tcquicked'+qesid+'\').css(\'display\',\'block\'); $(\'#tcquicked'+qesid+'\').html(\'\'); return false;">Cancelar</a> | <a target="helpwindow" href="/wiki/Ajuda:Editar">Ajuda de edição</a> (abre em uma nova janela)'

+'<input type="hidden" value="'+$('rev', result).attr('timestamp').replace(/[^\d]/g, )+'" class="tcproptime" /><input type="hidden" value="'+$('rev', result).attr('timestamp').replace(/[^\d]/g, )+'" class="tcproptime" /><input type="hidden" value="'+time.replace(/[^\d]/g, )+'" class="tctokentime" /></form>


');

});});

}

function tcquickedit2 (pagina,secao,qesid,eprarecarrecar) { $('#tcquicked'+qesid+' span.previewqetc').html(); var qedconteudo = encodeURIComponent( $('#tcquicked'+qesid+' form textarea').val() ); var tcproptime = encodeURIComponent( $('#tcquicked'+qesid+' form input.tcproptime').val() ); var tctokentime = encodeURIComponent( $('#tcquicked'+qesid+' form input.tctokentime').val() ); var sumarioed = $('#tcquickedwpSummary'+qesid).val(); if (sumarioed) { sumarioed+=') ('; } var tcpextras = ; if ($('#tcquickedwpMinoredit'+qesid).attr('checked')=='checked') { tcpextras += '&minor=1'; } else { tcpextras += '&notminor=1'; } if ($('#tcquickedwpWatchthis'+qesid).attr('checked')=='checked') { tcpextras += '&watchlist=watch'; } else { tcpextras += '&watchlist=nochange'; } $('#tcquicked'+qesid+' .containerdosalvar').html('Salvando.
'); $('#tcquicked'+qesid+' textarea').prop('readonly',true); $('#tcquicked'+qesid+' input').prop('disabled',true); tokened(function(result,token,time){ ajaxjq('action=edit'+tcpextras+'&summary='+encodeURIComponent(sumarioed+'Edição rápida da seção #'+secao+' via Truthcode')+'&title='+pagina+'&text='+qedconteudo+'&token='+encodeURIComponent(token)+'&section='+secao+'&basetimestamp='+tcproptime+'&starttimestamp='+tctokentime, function(result){

if ($('error', result).length != 0 || $('edit', result).attr('nochange') != null || $('edit', result).attr('spamblacklist') != null) { if ($('error', result).length != 0) {if ( $('error', result).attr('code')=='editconflict' ) { $('#tcquicked'+qesid).html('Houve um conflito de edição com outro usuário.'); } else { $('#tcquicked'+qesid).html('Ocorreu o seguinte erro: '+$('error', result).attr('code') ); }} else if ($('edit', result).attr('nochange') != null) { $('#tcquicked'+qesid).html('Falha ao salvar: você não modificou o conteúdo do artigo por motivo desconhecido.'); } else { $('#tcquicked'+qesid).html('Falha ao salvar, um link para site externo incluído na sua edição está na lista negra: '+$('edit', result).attr('spamblacklist')+'' ); }

$('#tcquicked'+qesid).append('
Segue abaixo a sua edição:
'+decodeURIComponent(qedconteudo).replace(/\n/g, '
').replace(/\</g, '<').replace(/\>/g, '>')+'

');

}

else { $('#tcquicked'+qesid).html('Edição concluída e salva com sucesso!');


if ($('.qedativa').length == 0 && eprarecarrecar==1) { $('#tcquicked'+qesid).html('Edição concluída e salva com sucesso! Recarregando página para mostrar alterações.'); $('.botaodeedrap').attr('onclick',"alert('Aguarde a página terminar de recarregar para fazer novas edições'); return false;"); $.ajax({ type:"GET",url:'http://'+location.hostname+'/index.php?title='+pagina+'&action=purge', dataType:"html", success:function(result) { temp23938 = $('#contentSub').html(); $('#bodyContent').html($('#bodyContent', result).html()); $('#firstHeading').html($('#firstHeading', result).html()); $('#contentSub').html(temp23938); botoesdeedrapida(pagina.replace(/\'/g,"\\'")); } }); }} });

/* Metodo direto $.ajax({ type:"POST",url:'http://'+location.hostname+'/index.php?title='+pagina+'&action=submit', data:'wpSection='+secao+'&wpScrolltop=0&oldid=0&wpTextbox1='+qedconteudo+'%0D%0A&wpSummary='+encodeURIComponent('Edição rápida da seção #'+secao+' via Truthcode')+'&wpSave=Salvar+p%C3%A1gina&wpEditToken='+encodeURIComponent(token)+'&wpStarttime='+tctokentime+'&wpEdittime='+tcproptime, dataType:"text", success:function(result){ $('#tcquicked'+qesid).html('Edição concluída!'); } });

  • /

});

}

//Botões de edição rápida function botoesdeedrapida(titulopagina){ if ($('#ca-unwatch').length != 0) { var nawatchlist = true; } else { var nawatchlist = false; } if ($('.editsection').length != 0) { $('.editsection a').each(function(indexdeste){ indexqedtc = tcidquickedit; tcidquickedit++; if ($(this).html() == "editar") { $(this).parent().prepend('[<a href="#" onclick="tcquickedit(\+titulopagina+'\','+$(this).attr('href').replace(/^.+\&section\=([0-9]+)/,"$1")+','+indexqedtc+',1,'+nawatchlist+'); return false;" title="edita esta seção rapidamente com Truthcode" class="botaodeedrap">EdR</a>] '); $(this).parent().parent().after(''); }}); } if ($('#firstHeading').length != 0) { indexqedtc = tcidquickedit; tcidquickedit++; $('#firstHeading').prepend('[<a href="#" onclick="tcquickedit(\+titulopagina+'\',0,'+indexqedtc+',1,'+nawatchlist+'); return false;" title="edita esta seção rapidamente com Truthcode" class="botaodeedrap">EdR</a>] '); $('#contentSub').after(''); } }

//Preview de conteúdo para editor rápido function tcquickpreview(pagina,secao,qesid) { var qedconteudo = encodeURIComponent( $('#tcquicked'+qesid+' form textarea').val() ); $('#tcquicked'+qesid+' span.previewqetc').html('Carregando previsualização.
'); previewloadquery = $.ajax({ type:"POST",url:'http://'+location.hostname+'/index.php?title='+pagina+'&action=submit', data:'wpTextbox1='+qedconteudo+'&action=submit&wpPreview='+encodeURIComponent('Mostrar previsão'), dataType:"html",

success:function(result){ $('#tcquicked'+qesid+' span.previewqetc').html('
'+$('#wikiPreview', result).html()+'

')

}, }) }

//Mostrar alterações de conteúdo para editor rápido function tcquickdiff(pagina,secao,qesid,tokenob) { var qedconteudo = encodeURIComponent( $('#tcquicked'+qesid+' form textarea').val() ); $('#tcquicked'+qesid+' span.previewqetc').html(); var qedconteudo = encodeURIComponent( $('#tcquicked'+qesid+' form textarea').val() ); var tcproptime = encodeURIComponent( $('#tcquicked'+qesid+' form input.tcproptime').val() ); var tctokentime = encodeURIComponent( $('#tcquicked'+qesid+' form input.tctokentime').val() ); var sumarioed = $('#tcquickedwpSummary'+qesid).val(); if (sumarioed) { sumarioed+=') ('; } var tcpextras = ; $('#tcquicked'+qesid+' span.previewqetc').html('Carregando alterações.
'); previewloadquery = $.ajax({ type:"POST",url:'http://'+location.hostname+'/index.php?title='+pagina+'&action=submit', data:'wpSection='+secao+'&wpScrolltop=0&oldid=0&wpTextbox1='+qedconteudo+'%0D%0A&wpSummary=&wpEditToken='+tokenob+'&wpStarttime='+tctokentime+'&wpEdittime='+tcproptime+'&wpDiff='+encodeURIComponent('Mostrar+alterações'), dataType:"html",

success:function(result){ var resultadodiff = $('#wikiDiff', result).html(); if (!resultadodiff) { resultadodiff='Diff não disponivel. Provavelmente você não alterou o conteúdo do artigo.'; } $('#tcquicked'+qesid+' span.previewqetc').html(diffstyle+'
'+resultadodiff+'

')

}, }) }

//Correção gramátical function truthgramatical(pagina) { $.ajax({ type:"GET",url:'http://'+location.hostname+'/index.php?title=Wikimerda:AutoWikiBrowser/Typos&action=raw&ctype=text/javascript&dontcountme=s', dataType:"html", success:function(tcresulttypos){ alteraconteudo('Aguarde. Obtendo conteúdo da página'); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvprop=content|timestamp&rvlimit=1',function(result){ window.conteudotodoartigo = $("rev", result).text(); if ((typeof conteudotodoartigo == "undefined") || (conteudotodoartigo == null) || (conteudotodoartigo == "")) { alert ("O artigo não existe ou foi deletado por alguém!"); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; return true; } tcgproptime=$('rev', result).attr('timestamp').replace(/[^\d]/g, ); window.novoconteudotodoartigo = conteudotodoartigo; //alert(new RegExp ($('typo:eq(14)', tcresulttypos).attr('find'), 'g')) $('typo', tcresulttypos).each(function(){ if ($(this).attr('find').slice(0,4) == '(?i)') { var regpraq = new RegExp ($(this).attr('find').slice(4),'gi'); } else { var regpraq = new RegExp ($(this).attr('find'),'g'); } window.novoconteudotodoartigo = novoconteudotodoartigo.replace(regpraq,$(this).attr('replace')); }); if (conteudotodoartigo == novoconteudotodoartigo) { alteraconteudo('Não foi encontrado nada para ser corrigido nesta página!'); return false; } alteraconteudo('Conteúdo obtido! Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ tcgtokentime=time.replace(/[^\d]/g, ) alteraconteudo("Redirecionando para a página de comparação de edição! Aguarde, hein!");


alteraconteudoapp('<form style="display:none;" id="tcformgramatica" enctype="multipart/form-data" action="http://'+location.hostname+'/index.php?title='+pagina+'&action=submit" method="post"><textarea name="wpSection"></textarea><textarea name="wpScrolltop">0</textarea><textarea name="oldid"></textarea><textarea name="wpTextbox1">'+novoconteudotodoartigo.replace(/\</g,'<').replace(/\>/g,'>')+'</textarea><textarea name="wpSummary">Correção gramatical via Truthcode</textarea><textarea name="wpDiff">Mostrar+altera%C3%A7%C3%B5es</textarea><textarea name="wpEditToken">'+encodeURIComponent(token)+'</textarea><textarea name="wpStarttime">'+tcgtokentime+'</textarea><textarea name="wpEdittime">'+tcgproptime+'</textarea><textarea name="wpMinoredit">true</textarea></form>'); $('#tcformgramatica').submit();

});});}});

return false; }

//Desfazer ultima edição function desfazerlastedit(pagina) { if (confirm('Confirma desfazer última edição? (Função presente para evitar cliques acidentais)')) { //ajaxr('action=query&prop=revisions&titles='+pagina+'&rvprop=ids&rvlimit=1'); //var revid = xmlhttp.responseXML.getElementsByTagName("revisions")[0].getElementsByTagName("rev")[0].getAttribute("revid"); //alteraconteudo("Obtendo ID da edição"); window.revid = wgCurRevisionId; alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Desfazendo edição. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Desfeita a última edição realizada no artigo via Truthcode')+'&title='+pagina+'&undo='+revid+'}}\n&token='+encodeURIComponent(token),function(result){ alteraconteudo("Reversão concluída. Carregando página de comparação da sua edição com a edição anterior"); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title='+pagina; }); }); } }

//Especial ban function especialban(pagina,tipo) { if (confirm('Confirma adicionar "'+tipo+'" na página do usuário? (Função presente para evitar cliques acidentais)')) { alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando na UP. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+tipo+'}} via Truthcode')+'&title='+pagina+'&prependtext=\{\{'++tipo+'}}\n\n&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });}); return false; } }


//Avisos nas diffs function avisosg(useralvo,tipo,pagina,carregaup) { if (useralvo == null || useralvo == 'null' || useralvo == 'Null') { alert ('usuário invalido'); return false;}

if (tipo == "Av-duplicada") { alteraconteudo('Aviso ao usuário: '+decodeURIComponent(useralvo)+'

<form>A imagem <input type="text" value="'+decodeURIComponent(pagina).replace(/^(imagem|ficheiro|image|file|arquivo)\:/i,"")+'" class="Av-duplicada11" /> que o usuário carregou, já existia sobre o nome: <input type="text" value="" class="Av-duplicada22" />'+ '
<input type="submit" value="Enviar aviso" onclick="avisosg(\+useralvo.replace(/\'/g,"\\'")+'\',\'Av-duplicada ready\',\+pagina.replace(/\'/g,"\\'")+'\','+carregaup+'); return false;" /></form>'); return false; } else if (tipo == "Av-duplicada ready") { if (!$('input.Av-duplicada11').val() || !$('input.Av-duplicada22').val()) { alert ('campos não podem ficar em branco!'); return false; } tipo = "Av-duplicada"; pagina=encodeURIComponent($('input.Av-duplicada11').val().replace(/^(imagem|ficheiro|image|file|arquivo)\:/i,"")+'|'+$('input.Av-duplicada22').val().replace(/^(imagem|ficheiro|image|file|arquivo)\:/i,"")); } else if (!confirm('Confirma dar aviso "'+tipo+'"? (Função presente para evitar cliques acidentais)')) return false;

alteraconteudo("Verificando se o usuário está bloqueado. Aguarde, hein!"); ajaxjq('action=query&list=blocks&bkprop=id&bkusers='+useralvo, function(result){ if ($("block", result).length != 0){ alteraconteudo('Operação cancelada pois o usuário está bloqueado, não se fazendo necessário dar um aviso.'); return false; } alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando aviso \{\{"+tipo+"}}. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+tipo+'}} via Truthcode')+'&title=user_talk:'+useralvo+'&appendtext=\n\n\{\{'+'subst:'+encodeURIComponent(tipo+'|')+pagina+'}}\n\n~~'+'~~&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída."); if(carregaup==1) {alteraconteudoapp("Redirecionando para a página de discussão do usuário."); window.location = 'http://'+location.hostname+'/wiki/user_talk:'+decodeURIComponent(useralvo);} });});});

return false; }

//Seleção de Predefinições de manutenção function predefmanutencao(pagina) { var tppm = pagina.replace(/\'/g,"\\'"); var predefman = "Selecione a predefinição desejada:
" predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'wikificar\',\'c\')">\{\{Wikificar\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'Imagens\',\'c\')">\{\{Imagens\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'Gramática\',\'c\')">\{\{Gramática\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'apagar\',\'c\')">\{\{Apagar\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'reorganizar\',\'c\')">\{\{Reorganizar\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'reescrever\',\'c\')">\{\{Reescrever\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'wp\',\'c\')">\{\{wp\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'Lixo\',\'c\')">\{\{Lixo (ER)\}\}</a> '; predefman += '

'; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'construção\',\'b\')">\{\{Construção\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'esboço\',\'b\')">\{\{Esboço\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'expandir\',\'b\')">\{\{Expandir\}\}</a> '; predefman += '<a href="#" onclick="return predmanavisa(\+tppm+'\',\'mini\',\'b\')">\{\{Mini\}\}</a> ';

$('#maisbotoest').html(predefman+'


'); return false; }

//Outros botões function outrasfuncstruth(pagina) { outrosbtruth = pagina.replace(/\'/g,"\\'"); outrosbotoest = "Selecione a função desejada:
"

//upload de imagens outrosbotoest += '<a href="#" onclick="pretruth(); return truthuploadform(\'maisbotoest\')">[Upload de imagens]</a> ';

//botão para adicionar redirecionamento outrosbotoest += '<a href="#" onclick="pretruth(); return redirecttruth(\+outrosbtruth+'\')">[Criar redirecionamento]</a> ';

//botão de desfazer ultima edição outrosbotoest += '<a href="#" onclick="pretruth(); return desfazerlastedit(\+outrosbtruth+'\',\'0\')">[Desfazer última edição]</a> ';

//pesquisa no Google outrosbotoest += '<a href="#" onclick="$(\'a.linkgoogletruth\').attr(\'href\',\'http://www.google.com.br/#hl=pt-BR&q='+outrosbtruth+'\'); return true;" class="linkgoogletruth" target="_blank">[Pesquisar esta página no Google]</a> ';

//Palavras mágicas outrosbotoest += '<a href="#" onclick="pretruth(); return truthmagicas(\+outrosbtruth+'\',\'0\')">[Remover Tabela de conteúdo, botão de +, etc]</a> ';

//Susbtituir vários termos outrosbotoest += '<a href="#" onclick="pretruth(); return substtermopluspre(\+outrosbtruth+'\',1)">[Substituir vários termos]</a>';


$('#maisbotoest').html(outrosbotoest+'


'); return false; }

//Outros botões - palavras mágicas function truthmagicas(pagina) { outrosbtruth2 = pagina.replace(/\'/g,"\\'"); outrosbotoest2 = 'Selecione a palavra mágica desejada:
';

outrosbotoest2 += '<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__NO'+'TOC__\')">[__NO'+'TOC__]</a>: esconde o índice ToC (Tabela de conteúdos, em Inglês Table of Contents) da página atual.'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__FOR'+'CETOC__\')">[__FOR'+'CETOC__]</a>: força a exibição da tabela de conteúdos.'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__T'+'OC__\')">[__T'+'OC__]</a>: coloca um TOC no final da página.'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__NO'+'EDITSECTION__\')">[__NO'+'EDITSECTION__]</a>: esconde botão de editar em cada seção, deixando apenas o botão de "editar" no topo da página'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__NEW'+'SECTIONLINK__\')">[__NEW'+'SECTIONLINK__]</a>: adiciona um link "+" ao lado da aba "editar" a para iniciar uma nova edição de uma página que não está em discussão.'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__NO'+'NEWSECTIONLINK__\')">[__NO'+'NEWSECTIONLINK__]</a>: esconde o link de "+"'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__NO'+'GALLERY__\')">[__NO'+'GALLERY__]</a>: numa categoria, substitui miniaturas de ficheiros por ligações normais.'; outrosbotoest2 += '
<a href="#" onclick="pretruth(); return truthmagicasadd(\+outrosbtruth2+'\',\'__HI'+'DDENCAT__\')">[__HI'+'DDENCAT__]</a>: quando colocado em qualquer lugar da página do namespace categoria, essa palavra mágica ocultará essa categoria para não aparecer na caixa horizontal no final da página.'; outrosbotoest2 += '
Mais informações sobre palavras mágicas <a href="http://pt.wikipedia.org/wiki/Ajuda:Palavras_m%C3%A1gicas" target="_blank">aqui</a>, <a href="http://en.wikipedia.org/wiki/Help:Magic_words_for_beginners" target="_blank">aqui</a> e <a href="http://en.wikipedia.org/wiki/Wikipedia:MAGIC" target="_blank">aqui</a>'


$('#maisbotoest').html(outrosbotoest2+'


'); return false; }


//Executa a ação das predefinições de manutenção function predmanavisa(pagina,tipo,baixocima) { if (baixocima == "b") { localnome = '&appendtext='+encodeURIComponent('\n\n\{\{'+tipo+'}}'); } else { localnome = '&prependtext='+encodeURIComponent('\{\{'+tipo+'}}\n\n'); } if (tipo == "apagar") { localnome = '&prependtext='+encodeURIComponent('<noi'+'nclude>\{\{'+tipo+'}}</noi'+'nclude>\n\n'); }

alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando predefinição. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Adicionada \{\{'+tipo+'}} via Truthcode')+'&title='+pagina+localnome+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });});window.bvtemsim = 0; return false; }

//Executa a ação de adicionar palavra mágica function truthmagicasadd(pagina,tipo) { alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando. Aguarde!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Adicionada palavra mágica "'+tipo+'" via Truthcode')+'&title='+pagina+'&appendtext='+encodeURIComponent('\n\n'+tipo)+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });}); return false; }

//UTI - printa os botões function utiTruth(pagina) { var tppm = pagina.replace(/\'/g,"\\'"); var predefman = 'Selecione uma das predefinição desejadas abaixo (todas são tem a mesma finalidade, alterando apenas o estilo do aviso):

'; predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'B\',\'do sr. Barriga\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI do sr. Barriga]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'C\',\'da Dona Florinda\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI da Dona Florinda]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'PO\',\'da Jasmine\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI da Jasmine]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'T\',\'do Timmy Turner\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI do Timmy Turner]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'G\',\'do Ganon\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI do Ganon]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'P\',\'do Paulinho Rola\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI do Paulinho Rola]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'F\',\'do Felipe Neto\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI do Felipe Neto]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'MA\',\'da velha maconheira\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI da velha maconheira]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'PC\',\'da Dark Cure\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI Dark Cure]</a>
';
predefman += '<a href="#" onclick="return utiTruthDo(\+tppm+'\',\'\',\'da Samara\',$(\'input.truthUtiAvisar\').attr(\'checked\')==\'checked\')">[UTI da Samara]</a>

';

predefman += '<a href="#" onclick="$(\'.truthUtisNaoAleatorias > a:eq(\'+Math.floor(Math.random()*($(\'.truthUtisNaoAleatorias > a\').length))+\')\').click(); return false;">[Escolher uma UTI aleatoria]</a>

';

predefman += '<input type="checkbox" class="truthUtiAvisar" checked="checked" /> Avisar o autor do artigo sobre a inclusão da UTI';

$('#maisbotoest').html(predefman+'


'); return false; }


//UTI - executa a ação function utiTruthDo(pagina,tipo,utinome,avisar) { alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando UTI. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Adicionada UTI '+utinome+' via Truthcode')+'&title='+pagina+'&prependtext=\{\{'+'subst:UTI'+tipo+'}}\n\n&token='+encodeURIComponent(token), function(result){

if (avisar == 1) { alteraconteudo("Postagem de UTI concluída. Obtendo agora o autor do artigo, aguarde."); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvlimit=1&rvprop=user&rvdir=newer',function(result){ var autor = ($("rev", result).attr('user')); if ((typeof autor == "undefined") || (autor == null)) { alert ("O artigo já foi deletado por alguém!"); canceladeletepag(); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return true; }

if (checaautor(autor,avisar)) { ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'subst:Av-UTI\}\} via Truthcode')+'&title=user_talk:'+encodeURIComponent(autor)+'&appendtext=\n\n'+encodeURIComponent('\{\{'+'subst:Av-UTI|')+pagina+encodeURIComponent('|~~'+'~~}}')+'&token='+encodeURIComponent(token),function(result){ alteraconteudo("Postagem de UTI e aviso concluídos, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; }); } else { alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; }

}); }

else { alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; }

});}); return false; }

//Boas vindas e criapag de discussão de usuário function truthdiscadd(pagina,tipo) { if (confirm('Confirma adicionar "'+tipo+'" na página do usuário? (Função presente para evitar cliques acidentais)')) { localnome = encodeURIComponent('\{\{subst:'+tipo+'}}\n\n~~'+'~~\n\n'); if (tipo == 'bv' || tipo == 'bvold' || tipo == 'bvip') localnome = '&appendtext='+localnome+'&createonly=1'; else if (tipo == 'bvemo') localnome = '&text='+encodeURIComponent('\{\{subst:'+tipo+'}}'); else localnome='&appendtext=\n\n'+localnome;

alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando. Aguarde! Isso pode demorar algumas horas alguns minutos devido a velocidade do servidor e de sua internet discada."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+tipo+'}} via Truthcode')+'&title='+pagina+localnome+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });}); return false; }}


//Mover para pvt /* function moverpvt(pagina) { if (confirm("Confirma mover para privado? (Função presente para evitar cliques acidentais)")) { alteraconteudo("Checando existência da página (etapa 1 de 7)"); ajaxjq('action=query&prop=info&titles=Privado:'+pagina, function(result){ if ($("page", result).attr('missing') == null) { alert("A página \"Privado:"+decodeURIComponent(pagina)+"\" já existe!"); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; return false; } alteraconteudo("Obtendo token de edição (etapa 2 de 7)"); tokened(function(result,token,time){ alteraconteudo("Obtendo autor do artigo (etapa 3 de 7)"); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvlimit=1&rvprop=user&rvdir=newer',function(result){ autor = ($("rev", result).attr('user')); if (autor == null) { alert("A página \""+decodeURIComponent(pagina)+"\" não existe!"); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; return false; } alteraconteudo("Avisando autor do artigo (etapa 4 de 7)"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'avpvt}} via Truthcode')+'&title=user_talk:'+encodeURIComponent(autor)+'&appendtext=\n\n\{\{'+'subst:avpvt|'+pagina+'}} ~~'+'~~&token='+encodeURIComponent(token),function(result){ alteraconteudo("Adicionando \{\{"+"pvt}} ao topo do artigo (etapa 5 de 7)"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'pvt}} via Truthcode')+'&title='+pagina+'&prependtext=\{\{'+'pvt}}\n&token='+encodeURIComponent(token),function(result){ alteraconteudo("Movendo para privado (etapa 6 de 7). Esta ação pode demorar muito tempo devido a lerdezas do servidor. Apenas deixe esta janela aberta e vá fazendo outras coisas enquanto a página é movida."); ajaxjq('action=move&from='+pagina+'&to=Privado:'+pagina+'&token='+encodeURIComponent(token)+'&reason='+encodeURIComponent('Movendo para privado via Truthcode')+'&movetalk',function(result){ alteraconteudo("Adicionando \{\{"+"pvt1}} ao topo do artigo (etapa 7 de 7)"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'pvt1}} via Truthcode')+'&title='+pagina+'&text=\{\{'+'pvt1|~~'+'~~'+'~}}\n&token='+encodeURIComponent(token),function(result){ if(esysop == 1) { alteraconteudo("Protegendo artigo contra reedições (etapa adicional para sysops)"); ajaxjq('action=protect&reason='+encodeURIComponent('Proteção anti-privado via Truthcode')+'&title='+pagina+'&protections=edit=sysop|move=sysop&expiry=never|never&token='+encodeURIComponent(token),function(result){ alteraconteudo("Postagem concluída (finalmente, hein!), recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; }); } else { alteraconteudo("Postagem concluída (finalmente, hein!), recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; } });});});});});});}); } return false; }

  • /


//Deletar pagina function deletepag(pagina,avisar,recarrega) { conteudocasocancela = conteudoartigo.html(); alteraconteudo('<form action="index.php" method="POST" onsubmit="return false"><select id="razaodelete" name="wpDeleteReasonList" class="wpReasonDropDown" tabindex="1" onchange="deleteformmudou()"><option value="" class="primariodelete">Nenhum motivo (mostrará apenas a mensagem padrão "O conteúdo era bla bla bla bla...")</option><option value="Conteúdo Insuficiente">Conteúdo Insuficiente</option><option value="outro">Outro motivo (a ser digitado)</option>'+motivosdeletacao+'</select> <input value=\'Apagar\' type=\'submit\' onclick=\'return concluiblock()\' \> <script>function concluiblock() { if ( $(\'.tcerdel\').attr(\'checked\')!=\'checked\' ) { if ( $(\'.tcerdel2\').attr(\'checked\')!=\'checked\' ) { processadeletepag(\+pagina.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value,"'+avisar+'","'+recarrega+'",1) } else { processadeletepag(\+pagina.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value,"'+avisar+'","'+recarrega+'",0) } } else {processacerpag(\+pagina.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value,"'+avisar+'","'+recarrega+'")}}</script><button type=\'button\' class=\'canceladelete\' onclick=\'canceladeletepag()\'>Cancelar</button>
<input type="checkbox" name="tcapenaser" value="tcapenaser" class="tcerdel" onclick="verificachecksdel(); return true;">Marcar com {'+'{ER}} ao invés de deletar. <input type="checkbox" name="tcapenaser" value="tcapenaser2" class="tcerdel2" onclick="verificachecksdel2(); return true;">Não mostrar motivo adicional ("O conteúdo era bla bla bla bla...").</form>');
return false; }

function verificachecksdel() { if ( $('.tcerdel').prop('checked')==true ) { $('.tcerdel2').prop('checked',false); $('.primariodelete').html('Motivo em branco (não recomendado)'); } else if ( $('.tcerdel2').prop('checked')==false ) { $('.primariodelete').html('Nenhum motivo (mostrará apenas a mensagem padrão "O conteúdo era bla bla bla bla...")'); } } function verificachecksdel2() { if ( $('.tcerdel2').prop('checked')==true ) { $('.tcerdel').prop('checked',false); $('.primariodelete').html('Motivo em branco'); } else if ( $('.tcerdel').prop('checked')==false ) { $('.primariodelete').html('Nenhum motivo (mostrará apenas a mensagem padrão "O conteúdo era bla bla bla bla...")'); } }

function canceladeletepag() { conteudoartigo.html(conteudocasocancela); } function deleteformmudou() {if (document.getElementById("razaodelete").value=="outro") { document.getElementById("razaodeletecontaineir").innerHTML='Digite o motivo: <input id="razaodelete" />';}}

function processadeletepag(pagina,motivodelete,avisar,recarrega,tcmotivoadic) {

if ((motivodelete) && (tcmotivoadic == 1)) { alteraconteudocd('Aguarde...'); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvprop=content&rvlimit=1',function(result){ motivodelete2 = $("rev", result).text().replace(/\n/g," "); return processadeletepag2(pagina,motivodelete,avisar,recarrega,motivodelete2,1); }); } else { return processadeletepag2(pagina,motivodelete,avisar,recarrega,0,tcmotivoadic); }

}

function processadeletepag2(pagina,motivodelete,avisar,recarrega,motivodelete2,tcmotivoadic) { alteraconteudocd("Preparando para deletar o artigo. Aguarde entre 1 segundo e 1 milênio o procedimento será concluído."); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvlimit=1&rvprop=user&rvdir=newer',function(result){ var autor = ($("rev", result).attr('user')); if ((typeof autor == "undefined") || (autor == null)) { alert ("O artigo já foi deletado por alguém! Perdeu Preyboy!"); canceladeletepag(); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return true; } alteraconteudocd("Obtendo token para deletação. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudocd("Deletando artigo. Estamos quase terminando."); if (tcmotivoadic == 0) { var razao = '&reason='+encodeURIComponent(motivodelete); } else if (!motivodelete) { var razao = ""; } else { var razao = '&reason='+encodeURIComponent(motivodelete+': O conteúdo era: "'+motivodelete2+'"'); } ajaxjq('action=delete'+razao+'&title='+pagina+'&token='+encodeURIComponent(token),function(result){ if ( $('error', result).length != 0) {

alteraconteudo("Falha ao efetuar a deletação:"); if ($('error', result).length != 0) alteraconteudoapp('Ocorreu o seguinte erro: '+$('error', result).attr('code'));

if (avisar == 1) alteraconteudoapp('O aviso \{\{Aviso-ER\}\} também foi cancelado devido a esse erro.');

return false;

} else if (avisar == 1 && checaautor(autor,avisar)) { alteraconteudocd("Deletação concluída, avisando autor do artigo. Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'subst:Aviso-ER}} via Truthcode')+'&title=user_talk:'+encodeURIComponent(autor)+'&appendtext=\n\n'+encodeURIComponent('\{\{'+'subst:Aviso-ER|')+pagina+encodeURIComponent('|'+motivodelete+'|~~'+'~~|1}}')+'&token='+encodeURIComponent(token),function(result){ alteraconteudo("Deletação completamente concluída!"); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }); } else { alteraconteudo("Deletação completamente concluída!"); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }

});});}); }


//Marcar para eliminação function cerpag(pagina,avisar,recarrega) { conteudocasocancela = conteudoartigo.html(); alteraconteudo('<form action="index.php" method="POST" onsubmit="return false"><select id="razaodelete" name="wpDeleteReasonList" class="wpReasonDropDown" tabindex="1" onchange="cerformmudou()"><option value="Conteúdo Insuficiente">Conteúdo Insuficiente</option><option value="">(nenhum motivo)</option><option value="outro">Outro motivo (a ser digitado)</option>'+motivosdeletacao+'</select> <input value=\'Colocar ER\' type=\'submit\' onclick=\'return concluiblock()\' \> <script>function concluiblock() { processacerpag(\+pagina.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value,"'+avisar+'","'+recarrega+'") }</script><button type=\'button\' class=\'canceladelete\' onclick=\'cancelacerpag()\'>Cancelar</button></form>'); return false; }

function cancelacerpag() { conteudoartigo.html(conteudocasocancela); } function cerformmudou() {if (document.getElementById("razaodelete").value=="outro") { document.getElementById("razaodeletecontaineir").innerHTML='Digite o motivo: <input id="razaodelete" />';}}

function processacerpag(pagina,motivodelete,avisar,recarrega) { alteraconteudocd("Preparando para marcar o artigo para eliminação. Aguarde entre 1 segundo e 1 milênio o procedimento será concluído."); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvlimit=1&rvprop=user&rvdir=newer',function(result){ var autor = ($("rev", result).attr('user')); if ((typeof autor == "undefined") || (autor == null)) { alert ("O artigo já foi deletado por alguém! Perdeu Preyboy!"); canceladeletepag(); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }

ajaxjq('action=query&prop=templates&titles='+pagina+'&tllimit=30',function(result){ erjafizeram=false; $('tl',result).each(function(){ if ($(this).attr('title') == 'Predefinição:Eliminação rápida') {erjafizeram=true;} });

if (erjafizeram) { alert ('O artigo já foi marcado com {\{ER}} por alguém! Perdeu Preyboy!'); canceladeletepag(); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }

alteraconteudocd("Obtendo token para marcar para edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudocd("Marcando artigo para deletação. Estamos quase terminando."); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Marcando artigo para ['+'[Categoria:Páginas_para_eliminar_rapidamente|eliminação rápida]] via Truthcode ) (Motivo apresentado: '+motivodelete)+'&nocreate=1&prependtext='+encodeURIComponent('{'+'{ER|'+motivodelete+'|'+wgUserName)+'}}\n\n&title='+pagina+'&token='+encodeURIComponent(token),function(result){ if ( $('error', result).length != 0 || $('edit', result).attr('nochange') != null ) {

alteraconteudo("Falha ao efetuar a inclusão do \{\{ER\}\}:"); if ($('error', result).length != 0) alteraconteudoapp('Ocorreu o seguinte erro: '+$('error', result).attr('code'));

else if ($('edit', result).attr('nochange') != null) alteraconteudoapp('Ocorreu o seguinte erro desconhecido e o servidor notificou que a página não foi alterada');

if (avisar == 1) alteraconteudoapp('O aviso \{\{Aviso-ER\}\} também foi cancelado devido a esse erro.');

return false;

} else if (avisar == 1 && checaautor(autor,avisar)) { alteraconteudocd("Inclusão do \{\{ER\}\} concluída, avisando autor do artigo. Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionada \{\{'+'subst:Aviso-ER}} via Truthcode')+'&title=user_talk:'+encodeURIComponent(autor)+'&appendtext=\n\n'+encodeURIComponent('\{\{'+'subst:Aviso-ER|')+pagina+encodeURIComponent('|'+motivodelete+'|~~'+'~~}}')+'&token='+encodeURIComponent(token),function(result){ alteraconteudo("Inclusão do \{\{ER\}\} completamente concluída."); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }); } else { alteraconteudo("Marcação de ER completamente concluída."); if (recarrega!=0) {window.location = 'http://'+location.hostname+'/wiki/'+wgPageName;} return false; }

});});});}); }

//Adiciona a patrulha do banimento function addpatrulhaban(vandalon) { conteudocasocancela = conteudoartigo.html(); alteraconteudo('<form action="index.php" method="POST" onsubmit="return false"><select id="razaodelete" name="wpDeleteReasonList" class="wpReasonDropDown" tabindex="1" onchange="cerformmudou()">'+motivosbanbp+'</select> <input value="Colocar '+decodeURIComponent(vandalon.replace(/\"/g,"\&quot\;"))+' na BP" type="submit" onclick="return concluiblock()" \> <script>function concluiblock() { processapbvan(\+vandalon.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value) }</script><button type=\'button\' class=\'canceladelete\' onclick=\'cancelacerpag()\'>Cancelar</button></form>'); return false; } function processapbvan(vandalon,motivoban) { if (decodeURIComponent(vandalon) == wgUserName) { alert('Não seja burro, não adicione você mesmo à patrulha do banimento!'); cancelacerpag(); return false; }

alteraconteudo("Verificando se o usuário já não está bloqueado. Aguarde, hein!"); ajaxjq('action=query&list=blocks&bkprop=id&bkusers='+vandalon, function(result){ if ($("block", result).length != 0){ alteraconteudo('Operação cancelada pois o usuário já está bloqueado, não se fazendo necessário colocar na BP.'); return false; } alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Postando na Patrulha do banimento. Aguarde!!!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Adicionado à '+decodeURIComponent(vandalon)+' à Patrulha do Banimento via Truthcode. Motivo apresentado: '+motivoban)+'&title=Wikimerda:Inquisição Wikimerdiana&appendtext=\n\n{'+'{IP|'+vandalon+'}} '+encodeURIComponent(motivoban+' ~~'+'~~')+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Postagem concluída, 1 sysop foderá o vândalo."); });});}); return false; } function cleanpbvan(recarrega) { alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Limpando Patrulha do banimento. Aguarde!!!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Limpando todas as entradas da Patrulha do Banimento via Truthcode')+'&title=Wikimerda:Inquisição_Wikimerdiana&text='+encodeURIComponent('== Entradas ==\n')+'&section=2&token='+encodeURIComponent(token), function(result){ if (recarrega==1){ alteraconteudo("Limpeza concluída, carregando diff."); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title=Wikimerda:Patrulha do Banimento'; } else {alteraconteudo("Limpeza concluída.");carregaminimr(1);} });}); return true; }

//Limpa página de testes function cleantestetruth() { alteraconteudo("Obtendo token de edição. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Limpando Página de testes. Aguarde!!!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Limpando página de testes via Truthcode')+'&title=Wikimerda:Página_de_testes&text='+encodeURIComponent('\{\{página de testes|||true}}\n')+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Limpeza concluída, carregando diff."); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title=Wikimerda:Página_de_testes'; });}); return true; }

//Bloqueio rápido function quickblocktruth(vandalon) { conteudocasocancela = conteudoartigo.html(); alteraconteudo('<form action="index.php" method="POST" onsubmit="return false"><select id="razaodelete" name="wpDeleteReasonList" class="wpReasonDropDown" tabindex="1" onchange="cerformmudou()">'+motivosbanbp+'</select> <select id="expirablock" class="wpReasonDropDown" tabindex="1" onchange="expiraformmudou()"><option value="2 weeks">2 semanas</option><option value="2 hours">2 horas</option><option value="1 day">1 dia</option><option value="3 days">3 dias</option><option value="1 week">1 semana</option><option value="1 month">1 mês</option><option value="3 months">3 meses</option><option value="6 months">6 meses</option><option value="1 year">1 ano</option><option value="infinite">indefinido</option><option value="outro">outro (a ser digitado)</option></select> <input value="Bloquear '+decodeURIComponent(vandalon.replace(/\"/g,"\&quot\;"))+'" type="submit" onclick="return concluiblock()" \> <script>function concluiblock() { processaquickblocktruth(\+vandalon.replace(/\'/g,"\\'")+'\',document.getElementById("razaodelete").value,document.getElementById("expirablock").value) }</script><button type=\'button\' class=\'canceladelete\' onclick=\'cancelacerpag()\'>Cancelar</button></form>'); return false; } function expiraformmudou() {if (document.getElementById("expirablock").value=="outro") { $("#expirablockcontaineir").html('Digite a expiração: <input id="expirablock" />'); }} function processaquickblocktruth(vandalon,motivoban,expiraban) {

if (decodeURIComponent(vandalon) == wgUserName) { alert('Não seja burro, não bloqueie você mesmo!'); cancelacerpag(); return false; }

alteraconteudo("Obtendo token de bloqueio. Aguarde, hein!"); tokened(function(result,token,time){ alteraconteudo("Bloqueando esse n00b filho de uma mãe e de pai também! Aguarde!!!"); ajaxjq('action=block&anononly=1&nocreate=1&autoblock=1&reason='+encodeURIComponent(motivoban)+'&expiry='+encodeURIComponent(expiraban)+'&user='+vandalon+'&token='+encodeURIComponent(token), function(result){ alteraconteudo('Bloqueio concluído. Parabéns, você fodeu com <a href="/wiki/Especial:Contribuições/'+vandalon+'" target="blank">esse vândalo.</a>'); });}); return false; }

//Criador de redirect function redirecttruth(pagina) { window.rediroq=prompt('Informe o titulo da página para qual a página "'+decodeURIComponent(pagina)+'" irá redirecionar.',""); if (rediroq==null || rediroq=="") { alert("Não pode ficar em branco!"); } else { if (confirm('Confirma redirecionar a página "'+decodeURIComponent(pagina)+'" para "'+rediroq+'"? Caso a página "'+decodeURIComponent(pagina)+'" exista, todo seu conteúdo será substuído pelo redirect.')) {

alteraconteudo('Verificando a existencia do página. Aguarde.'); ajaxjq('action=query&prop=info&titles='+encodeURIComponent(rediroq), function(result){ if ($("page", result).attr('missing') != null) { alert ('A página "'+rediroq+'" não existe! Tente novamente.'); redirecttruth(pagina); } else if ($("page", result).attr('invalid') != null) { alert ('A página "'+rediroq+'" é inválida! Tente novamente.'); redirecttruth(pagina); } else { alteraconteudo('Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ alteraconteudo("Postando novo conteúdo! Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Redirecionando para '+rediroq+' via Truthcode')+'&title='+pagina+'&text='+encodeURIComponent('#REDIRECT '+rediroq+'')+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Conteúdo postado. Carregando página de comparação da sua edição com a edição anterior"); window.location = 'http://'+location.hostname+'/index.php?redirect=no&title='+pagina; });}); } }); } } }

//Undo bv function truthundobv(pagina) {

//Checa se os cookies estão definidos if (typeof getCookie("truthbvundo1") == "undefined" || typeof getCookie("truthbvundo2") == "undefined" || typeof getCookie("truthbvundoc") == "undefined") {setCookie('truthbvundo1',1,null); setCookie('truthbvundo2',1,null); setCookie('truthbvundoc',1,null); }

//Ve se já não desfez essa discussão if (getCookie("truthbvundo1") != pagina && getCookie("truthbvundo2") != pagina) { ajaxjq('action=query&prop=revisions&rvprop=user|comment|ids&rvlimit=10&titles='+pagina, function(result){ if ($("revisions", result).length == 1) { if ($("revisions > rev", result).length == 2) {

//Checa se o bv duplo foi dado pelo usuario if ($("revisions > rev:eq(0)", result).attr('user') == wgUserName) { window.revid = $("revisions > rev:eq(0)", result).attr('revid'); tokened(function(result,token,time){ ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Desfeita boas vindas duplas via Truthcode')+'&title='+pagina+'&undo='+revid+'}}\n&token='+encodeURIComponent(token),function(result){ setCookie('truthbvundo'+getCookie("truthbvundoc"),pagina,null); if (getCookie("truthbvundoc") == 1) {setCookie('truthbvundoc',2,null);} else {setCookie('truthbvundoc',1,null);} });}); } else { setCookie('truthbvundo'+getCookie("truthbvundoc"),pagina,null); if (getCookie("truthbvundoc") == 1) {setCookie('truthbvundoc',2,null);} else {setCookie('truthbvundoc',1,null);} }


}}});}}

//Protege tópico function dragoprotect(pagina) { if (confirm('Confirma proteger o tópico contra edição de IPs? (Função presente para evitar cliques acidentais)')) {

alteraconteudo("Obtendo token de edição"); tokened(function(result,token,time){ alteraconteudo('Protegendo tópico contra edições'); ajaxjq('action=protect&reason='+encodeURIComponent('Tópico importante')+'&title='+pagina+'&protections=edit=autoconfirmed|move=autoconfirmed&expiry=never|never&token='+encodeURIComponent(token),function(result){ alteraconteudo("Postagem anti-n00b concluída, recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });});

}return false;}

//Fechar tópico function fechartopc(pagina) { if (confirm('Confirma proteger o tópico contra edição de não sysops e incluir o {'+'{encerrado}}? (Função presente para evitar cliques acidentais)')) {

alteraconteudo("Obtendo token de edição"); tokened(function(result,token,time){ alteraconteudo('Adicionado {'+'{encerrado}}'); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionando {'+'{encerrado}} via Truthcode')+'&title='+pagina+'&prependtext={'+'{encerrado}}\n&token='+encodeURIComponent(token),function(result){ alteraconteudo('Protegendo artigo contra edições'); ajaxjq('action=protect&reason='+encodeURIComponent('Tópico encerrado')+'&title='+pagina+'&protections=edit=sysop|move=sysop&expiry=never|never&token='+encodeURIComponent(token),function(result){ alteraconteudo("Postagem concluída (finalmente, hein!), recarregando página."); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; });});})

}return false;}

//Remove predef da página de usuário function tcremovepred(pagina) { if (confirm('Confirma que deseja remover a predefinição {'+'{'+decodeURIComponent(pagina)+'}} de todas páginas de usuário que a contenham? Utilize esta ferramenta apenas para remover predefinições de artigos e que sejam categorizadoras!')) {

alteraconteudo('Aguarde. Obtendo lista de páginas'); ajaxjq('action=query&list=embeddedin&eilimit=500&eifilterredir=nonredirects&einamespace=2&eititle='+pagina,function(result){ if( $('ei', result).length == 0) { alteraconteudo('A predefinição não está inserida em nenhuma página de usuário!'); } else { alteraconteudo('Lista de afluentes obtida! Processando remoção:');

var tcarraytemp2 = new Array(); $('ei', result).each(function(indextempl){ tcarraytemp2[indextempl]=$(this).attr('title'); }); var removeoqpre=decodeURIComponent(pagina).replace(/Predefinição\:(.*)/,"$1").replace(/([^a-z1-9A-Z])/g,"\\$1"); window.removeoq1 = new Array(); removeoq1[0]=removeoqpre.charAt(0).toLowerCase() + removeoqpre.slice(1); removeoq1[1]=removeoqpre.charAt(0).toUpperCase() + removeoqpre.slice(1); window.removeoqsumario=decodeURIComponent(pagina).replace(/Predefinição\:(.*)/,"$1");

ajaxjq('action=query&list=backlinks&blfilterredir=redirects&blnamespace=10&bltitle='+pagina,function(result){ iq=2; $('bl', result).each(function(indextempl){ if ($(this).attr('redirect') != null){ removeoqpre=$(this).attr('title').replace(/Predefinição\:(.*)/,"$1").replace(/([^a-z1-9A-Z])/g,"\\$1"); removeoq1[iq]=removeoqpre.charAt(0).toLowerCase() + removeoqpre.slice(1);iq++; removeoq1[iq]=removeoqpre.charAt(0).toUpperCase() + removeoqpre.slice(1);iq++; } });

//alert(removeoq1); processatcremovepred(tcarraytemp2,0,removeoq1,removeoqsumario); });


} });

} }

function processatcremovepred(tcarraytemp,tctempindex,removeoq1,removeoqsumario) { if (tctempindex < tcarraytemp.length) { alteraconteudoapp('Aguarde. Obtendo conteúdo da página: '+tcarraytemp[tctempindex]); ajaxjq('action=query&prop=revisions&titles='+encodeURIComponent(tcarraytemp[tctempindex])+'&rvprop=content&rvlimit=1',function(result){ window.conteudotodoartigo = $("rev", result).text(); if ((typeof conteudotodoartigo == "undefined") || (conteudotodoartigo == null) || (conteudotodoartigo == "")) {alteraconteudoapp('O artigo "'+tcarraytemp[tctempindex]+'" não existe ou foi deletado por alguém!'); processatcremovepred(tcarraytemp,tctempindex+1,removeoq1,removeoqsumario); } else { for (iuy=0;iuy<removeoq1.length;iuy++) { window.conteudotodoartigo = conteudotodoartigo.replace(new RegExp ('\\\{\\\{'+removeoq1[iuy]+'(\\\|(\\s?.?)*?)?\\\}\\\}', 'g'),); } alteraconteudoapp('Conteúdo obtido! Obtendo agora o token de edição da página: '+tcarraytemp[tctempindex]); tokened(function(result,token,time){ alteraconteudoapp('Postando novo conteúdo da página: '+tcarraytemp[tctempindex]); ajaxjq('action=edit&bot=1&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Removida predefinição categorizada \{\{'+removeoqsumario+'\}\} via Truthcode')+'&title='+encodeURIComponent(tcarraytemp[tctempindex])+'&text='+encodeURIComponent(conteudotodoartigo)+'&token='+encodeURIComponent(token), function(result){ alteraconteudoapp('Concluída postagem da página: '+tcarraytemp[tctempindex]); processatcremovepred(tcarraytemp,tctempindex+1,removeoq1,removeoqsumario); });}); } });

} else {alteraconteudoapp('Todas as páginas concluídas!');} }

//Substituidor de conteúdo function substtermo(pagina) { window.removeoq=prompt("Informe o que deseja remover na página. Não há diferenciação entre maiúsculas e minúsculas.",""); if (removeoq==null) { alert("Operação cancelada!"); } else if (removeoq=="") { alert("Não pode ficar em branco!"); } else { window.substoq=prompt("Informe o que deseja colocar no lugar do que você removeu (deixe em branco para não colocar nada no lugar).",""); if (substoq==null) { alert("Operação cancelada!"); } else { if (substoq!="") { window.sumariosubst = ' e substituído por "'+substoq+'"'; } else { window.sumariosubst = ""; } alteraconteudo('Aguarde. Obtendo conteúdo da página'); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvprop=content&rvlimit=1',function(result){ window.conteudotodoartigo = $("rev", result).text(); if ((typeof conteudotodoartigo == "undefined") || (conteudotodoartigo == null) || (conteudotodoartigo == "")) { alert ("O artigo não existe ou foi deletado por alguém!"); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; return true; } removeoqregex = removeoq.replace(/([^a-z1-9A-Z])/g,"\\$1") window.novoconteudotodoartigo = conteudotodoartigo.replace(new RegExp (removeoqregex, 'gi'),substoq); // .replace(removeoq,substoq); alteraconteudo('Conteúdo obtido! Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ alteraconteudo("Postando novo conteúdo! Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Removido "'+removeoq+'"'+sumariosubst+' via Truthcode')+'&title='+pagina+'&text='+encodeURIComponent(novoconteudotodoartigo)+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Conteúdo postado. Carregando página de comparação da sua edição com a edição anterior"); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title='+pagina; });});}); } } }

//Substituir vários termos function substtermopluspre(pagina,tcinicial) { tcsubstpagina = pagina.replace(/\'/g,"\\'"); if(tcinicial == 1) { $('#maisbotoest').html('<form class="tcsubst" style="width:90%">Informe os termos que deseja substituir:
<input type="submit" name="Processar" value="Processar" onclick="substtermoplus (\+tcsubstpagina+'\'); return false;" /><input onclick="substtermopluspre (\+tcsubstpagina+'\',0); return false;" name="Mais termos" type="submit" value="Mais termos" /></form>');

$('#maisbotoest2').append('Substituir: <textarea rows="2" type="text" value="" class="tcsubst1" style="width:40%" /> por <textarea rows="2" type="text" value="" class="tcsubst2" style="width:40%" />
<input value="i" class="tcsubsti" type="checkbox">Não diferenciar maiúsculas e minusculas. <input value="g" class="tcsubstg" type="checkbox">Substituir todas as vezes que aparecer


');

}

$('#maisbotoest2').append('Substituir: <textarea rows="2" type="text" value="" class="tcsubst1" style="width:40%" /> por <textarea rows="2" type="text" value="" class="tcsubst2" style="width:40%" />
<input value="i" class="tcsubsti" type="checkbox">Não diferenciar maiúsculas e minusculas. <input value="g" class="tcsubstg" type="checkbox">Substituir todas as vezes que aparecer


');

return false; }

function substtermoplus(pagina) {

conteudoartigo.prepend('Aguarde. Obtendo conteúdo da página.'); $('form.tcsubst input').prop('disabled',true); $('form.tcsubst textarea').prop('disabled',true); ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvprop=content&rvlimit=1',function(result){ window.conteudotodoartigo = $("rev", result).text(); if ((typeof conteudotodoartigo == "undefined") || (conteudotodoartigo == null) || (conteudotodoartigo == "")) { alert ("O artigo não existe ou foi deletado por alguém!"); window.location = 'http://'+location.hostname+'/wiki/'+wgPageName; return true; } window.novoconteudotodoartigo = conteudotodoartigo; $('form.tcsubst textarea.tcsubst1').each(function(indexsub){if($(this).val()){ parametrosregex = ; if ($('form.tcsubst input.tcsubstg:eq('+indexsub+')').attr('checked')=='checked') { parametrosregex += 'g'; } if ($('form.tcsubst input.tcsubsti:eq('+indexsub+')').attr('checked')=='checked') { parametrosregex += 'i'; } removeoqregex = ($(this).val()).replace(/([^a-z1-9A-Z])/g,"\\$1") window.novoconteudotodoartigo = novoconteudotodoartigo.replace(new RegExp (removeoqregex, parametrosregex),$('form.tcsubst textarea.tcsubst2:eq('+indexsub+')').val()); //window.novoconteudotodoartigo = novoconteudotodoartigo.replace($(this).val(),$('form.tcsubst textarea.tcsubst2:eq('+indexsub+')').val()); }}); alteraconteudo('Conteúdo obtido! Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ alteraconteudo("Postando novo conteúdo! Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&nocreate=1&summary='+encodeURIComponent('Substituição de vários termos via Truthcode')+'&title='+pagina+'&text='+encodeURIComponent(novoconteudotodoartigo)+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Conteúdo postado. Carregando página de comparação da sua edição com a edição anterior"); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title='+pagina; });});});

}


//Adicionador de conteúdo function addconteudo(pagina,ondec) { window.addoq=prompt("Informe o que deseja adicionar na página.",""); if (addoq==null || addoq=="") { alert("Não pode ficar em branco!"); } else { if(ondec == "prepend") { window.addoq2 = addoq+"\n\n"; } if(ondec == "append") { window.addoq2 = "\n\n"+addoq; } alteraconteudo('Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ alteraconteudo("Postando novo conteúdo! Aguarde, hein!"); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionado "'+addoq+'" via Truthcode')+'&title='+pagina+'&'+ondec+'text='+encodeURIComponent(addoq2)+'&token='+encodeURIComponent(token), function(result){ alteraconteudo("Conteúdo postado. Carregando página de comparação da sua edição com a edição anterior"); window.location = 'http://'+location.hostname+'/index.php?diff=cur&title='+pagina; });}); } }

//Desfaz/rollback edição function desfazeredt(pagina,undot,undoaftert,revuser,revuserold,carregaut) { window.tmotivopre=prompt('Informe o motivo/sumário da reversão (não obrigatório). Caso não deseje informar motivo/sumário, dê ENTER apenas (ou clique em OK). Clique em Cancelar para cancelar a reversão.',); if (tmotivopre==null) { alert ('A reversão foi cancelada pois você clicou em cancelar.') } else { if (tmotivopre==" " || tmotivopre=="") { tmotivo="" } else { tmotivo=tmotivopre+') (' } alteraconteudo('Preparando para reverter');

//Checa qual a revid atual ajaxjq('action=query&prop=revisions&titles='+pagina+'&rvprop=ids&rvlimit=1',function(result){ revatual = $('rev:first', result).attr('revid'); alteraconteudo('Revertendo');

tokened(function(result,token,time){ ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent(tmotivo+'Artigo revertido para a revisão #'+undot+' feita por ')+revuser+encodeURIComponent(' via Truthcode')+'&title='+pagina+'&undo='+undot+'&undoafter='+revatual+'&token='+encodeURIComponent(token),function(result){

if ($('edit', result).attr('nochange') != null) { alteraconteudo('Ocorreu um problema ao reverter: a edição para qual você tentou reverter é idêntica a atual! (Possivelmente alguém reverteu antes de você!)'); } else { if (carregaut == 0) { $("#minimudancasrecentesrollback").html('Reversão concluída com sucesso! Carregando alterações. <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); diffloadquery.abort(); return false;">Clique aqui para interromper o carregamento</a>.'); diffloadtruth (pagina,$('edit', result).attr('newrevid'),$('edit', result).attr('oldrevid')); } else { $("#minimudancasrecentesrollback").html('Reversão concluída com sucesso! Carregando alterações.'); window.location = 'http://'+location.hostname+'/index.php?title='+pagina+'&diff='+$('edit', result).attr('newrevid')+'&oldid='+$('edit', result).attr('oldrevid'); } }

});});}); } return false; }

//Adicionador de conteúdo por textarea function addconteudoformata(pagina,ondeid) { $('#'+ondeid).css('display','block'); $('#'+ondeid).html('<a style="float:right;" href="#" onclick="$(\'#'+ondeid+'\').css(\'display\',\'none\');$(\'#'+ondeid+'\').html(\'\');return false;">(fechar)</a>Insira abaixo o conteúdo que deseja inserir ao final da página '+decodeURIComponent(pagina)+' <a href="#" onclick="alterapaginapost(); return false;">(alterar)</a>
<form onsubmit="addconteudoformatb($(\'#'+ondeid+' .paginaaddconteudo\').val(),$(\'#'+ondeid+' .ondeidaddconteudo\').val(),$(\'#'+ondeid+' .conteudoaddconteudo\').val()); return false;"><textarea rows="6" cols="80" name="appendtext" class="conteudoaddconteudo">A ser adicionado no final da discussão. ~~'+'~~</textarea><input type="submit" name="enviar" value="Enviar" id="enviar" /><input onclick="previewconteudo($(\'#'+ondeid+' .paginaaddconteudo\').val(),$(\'#'+ondeid+' .ondeidaddconteudo\').val(),$(\'#'+ondeid+' .conteudoaddconteudo\').val()); return false;" name="wpPreview" type="submit" tabindex="6" value="Mostrar previsão" accesskey="p" title="Prever as alterações, por favor utilizar antes de salvar!" /><input type="hidden" class="paginaaddconteudo" value="'+pagina+'" /><input type="hidden" class="ondeidaddconteudo" value="'+ondeid+'" /></form>') }

function alterapaginapost() { usersadddisc = ; for ( var ik = 0; ik < tcusers.length; ++ik ) { usersadddisc += '<option value="'+tcusers[ik]+'">'+tcusers[ik]+'</option>' } $('.paginaaddconteudo4').html('<select id="alterapaginaposts" onchange="alterapaginapostprocessa($(\'#alterapaginaposts\').val()); return false;"><option value="selecione">Selecione o novo usuário</option>'+usersadddisc+'</select>'); } function alterapaginapostprocessa(novovalor) { if (novovalor != 'selecione'){ novovalor = 'User talk:'+novovalor; $('.paginaaddconteudo4').html('<a href="#" onclick="alterapaginapost(); return false;">(alterar)</a>'); $('.paginaaddconteudo3').html(novovalor); $('.paginaaddconteudo').val(encodeURIComponent(novovalor)); }}

function addconteudoformatb(pagina,ondeid,addoq) { var pattern='^([Uu]ser[\_\ ][Tt]alk|[Uu]suário[\_\ ][Dd]iscussão|[Uu]tilizador[\_\ ][Dd]iscussão)\:'+wgUserName+'$'; var modifiers=""; var patt=new RegExp(pattern,modifiers);

if (addoq==null || addoq=="") { alert("Não pode ficar em branco!"); } else if (addoq=='A ser adicionado no final da discussão. ~~'+'~~') { alert("Altere o texto padrão!"); } else if ( patt.test(decodeURIComponent(pagina)) ) { alert("Nem tente mandar uma mensagem pra você mesmo!"); } else { $('#'+ondeid+' textarea').prop('readonly',true); $('#'+ondeid+' span.avisoformatatbinserir').html('Obtendo agora o token de edição. Aguarde, hein!'); tokened(function(result,token,time){ $('#'+ondeid+' strong.avisoformatatb').html('Postando novo conteúdo! Aguarde, hein!'); ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Adicionado conteúdo nesta discussão via Truthcode')+'&title='+pagina+'&appendtext='+encodeURIComponent("\n\n"+addoq)+'&token='+encodeURIComponent(token), function(result){

if ($('error', result).length != 0 || $('edit', result).attr('nochange') != null || $('edit', result).attr('spamblacklist') != null) { if ($('error', result).length != 0) { $('#'+ondeid+' strong.avisoformatatb').html('Ocorreu o seguinte erro: '+$('error', result).attr('code') ); } else if ($('edit', result).attr('nochange') != null) { $('#'+ondeid+' strong.avisoformatatb').html('Falha ao salvar: você não modificou o conteúdo do artigo por motivo desconhecido.'); } else { $('#'+ondeid+' strong.avisoformatatb').html('Falha ao salvar, um link para site externo incluído na sua edição está na lista negra: '+$('edit', result).attr('spamblacklist') ); } }

else { $('#'+ondeid).html('Conteúdo postado. <a href="#" onclick="$(\'#'+ondeid+'\').css(\'display\',\'none\'); return false;">(ocultar esta informação)</a>
'); }

});}); } }

//Preview de conteúdo para adicionador de conteúdo por textarea function previewconteudo(pagina,ondeid,addoq) { $('#'+ondeid+' .containerdepreview').html('Carregando previsualização. <a href="#" onclick="previewloadquery.abort(); $(\'#'+ondeid+' .containerdepreview\').html(\' \'); return false;">Clique aqui para cancelar</a>
'); previewloadquery = $.ajax({ type:"POST",url:'http://'+location.hostname+'/index.php?title='+pagina+'&action=submit', data:'wpTextbox1='+encodeURIComponent(addoq)+'&action=submit&wpPreview='+encodeURIComponent('Mostrar previsão'), dataType:"html",

success:function(result){ $('#'+ondeid+' .containerdepreview').html('
<a href="#" onclick="$(\'#'+ondeid+' .containerdepreview\').html(\' \'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa previsualização</a>
'+$('#wikiPreview', result).html()+'
<a href="#" onclick="$(\'#'+ondeid+' .containerdepreview\').html(\' \'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa previsualização</a>

')

}, }) }

//Motivos deletação var motivosdeletacao = '<optgroup label="Mais utilizados"><option value="Lixo">Lixo</option><option value="WTF?">WTF?</option><option value="O RLY?">O RLY?</option><option value="E o Quico?">E o Quico?</option><option value="Página de humor privado">Página de humor privado</option><option value="Expirou o prazo para salvar o artigo da UTI">Expirou o prazo para salvar o artigo da UTI</option><option value="Recebeu 2/3 ou mais de votos concordando com a eliminação">Recebeu 2/3 ou mais de votos concordando com a eliminação</option><option value="Nem pra fazer redirecionamento presta!">Nem pra fazer redirecionamento presta!</option></optgroup><optgroup label="Eliminação Rápida"><option value="Conteúdo insuficiente">Conteúdo insuficiente</option><option value="Conteúdo incoerente">Conteúdo incoerente</option><option value="Conteúdo verídico">Conteúdo verídico</option><option value="Conteúdo copiado de outro site">Conteúdo copiado de outro site</option><option value="Página duplicada">Página duplicada</option><option value="Ofensa">Ofensa</option><option value="Vandalismo">Vandalismo</option><option value="Politicagem">Politicagem</option><option value="Só predefinições/citações">Só predefinições/citações</option><option value="Propaganda de outro site">Propaganda de outro site</option><option value="SPAM SPAM SPAM">SPAM SPAM SPAM</option><option value="Calúnia, difamação ou injúria">Calúnia, difamação ou injúria</option></optgroup><optgroup label="Predefinições"><option value="Predefinição não utilizada">Predefinição não utilizada</option><option value="Predefinição duplicada">Predefinição duplicada</option><option value="Predefinição obsoleta">Predefinição obsoleta</option></optgroup><optgroup label="Categorias"><option value="Categoria inutilizada">Categoria inutilizada</option><option value="Categoria redirecionada">Categoria redirecionada</option></optgroup><optgroup label="Páginas de Discussão"><option value="Página de discussão órfã">Página de discussão órfã</option><option value="Discussão inútil/improdutiva">Discussão inútil/improdutiva</option></optgroup><optgroup label="Redirecionamentos"><option value="Redirecionamento quebrado">Redirecionamento quebrado</option><option value="Redirecionamento desnecessário">Redirecionamento desnecessário</option><option value="Redirecionamento utilizável em outra criação">Redirecionamento utilizável em outra criação</option></optgroup><optgroup label="Outros"><option value="Pedido do autor">Pedido do autor</option><option value="Violação de direitos autorais">Violação de direitos autorais</option><option value="PU criada por outro usuário">PU criada por outro usuário</option><option value="Página recriada após ter tido consenso pra eliminá-la">Página recriada após ter tido consenso pra eliminá-la</option><option value="Página administrativa ou de informações inutilizada">Página administrativa ou de informações inutilizada</option><option value="Votação criada por usuário sem direito ao voto">Votação criada por usuário sem direito ao voto</option></optgroup>';

//Motivos deletação imagens motivosdeletacao += '<optgroup label="Motivos comuns para eliminação"><option value="Imagem totalmente sem uso">Imagem totalmente sem uso</option><option value="A pedido do autor da imagem">A pedido do autor da imagem</option><option value="A pedido do carregador da imagem">A pedido do carregador da imagem</option><option value="Violação de direitos de autor">Violação de direitos de autor</option><option value="Imagem bugada">Imagem bugada</option><option value="Imagem pequena demais, ilegível">Imagem pequena demais, ilegível</option><option value="Imagem pesada demais e sem uso">Imagem pesada demais e sem uso</option><option value="Imagem duplicada">Imagem duplicada</option><option value="Nome imenso ou ininteligível">Nome imenso ou ininteligível</option><option value="Pedofilia">Pedofilia</option><option value="Imagem escatológica e inútil">Imagem escatológica e inútil</option><option value="Privado sem uso">Privado sem uso</option><option value="Pornografia gratuita, putaria">Pornografia gratuita, putaria</option><option value="Imagem que já existe no Commons">Imagem que já existe no Commons</option></optgroup>';

//Motivos de ban motivosbanbp = '<option value="Removeu conteúdo de páginas">Removeu conteúdo de páginas</option><option value="outro">Outro motivo (a ser digitado)</option><option value="Patrulhamento ideológico">Patrulhamento ideológico</option><option value="SPAM SPAM SPAM">SPAM SPAM SPAM</option><option value="Adicionou conteúdo inútil na(s) página(s)">Adicionou conteúdo inútil na(s) página(s)</option><option value="Assumiu sua homossexualidade em artigo">Assumiu sua homossexualidade em artigo</option><option value="Bloqueio preventivo">Bloqueio preventivo</option><option value="Burlou bloqueio">Burlou bloqueio</option><option value="Criou conta para vandalizar">Criou conta para vandalizar</option><option value="Criou página fora do padrão por vandalismo">Criou página fora do padrão por vandalismo</option><option value="Desformatou página propositalmente">Desformatou página propositalmente</option><option value="Desrespeitou manifestamente a Regra:Humor Privado">Desrespeitou manifestamente a Regra:Humor Privado</option><option value="Desrespeitou o aviso prévio de um sysop">Desrespeitou o aviso prévio de um sysop</option><option value="Emo de mimimi">Emo de mimimi</option><option value="Sorria, você está na Wikimerda!">Sorria, você está na Wikimerda!</option><option value="Escreveu informação verídica">Escreveu informação verídica</option><option value="IP de usuário recém-bloqueado">IP de usuário recém-bloqueado</option><option value="Mal uso de imagem">Mal uso de imagem</option><option value="Mal uso de múltiplas contas (sock puppets)">Mal uso de múltiplas contas (sock puppets)</option><option value="Moralismo e ética barata">Moralismo e ética barata</option><option value="Moveu ou redirecionou por vandalismo">Moveu ou redirecionou por vandalismo</option><option value="Ofendeu outro usuário">Ofendeu outro usuário</option><option value="Open proxy">Open proxy</option><option value="Racismo/discriminação">Racismo/discriminação</option><option value="Recriou página eliminada">Recriou página eliminada</option><option value="Reincidente">Reincidente</option><option value="Sobreposição de imagens, após ser notificado">Sobreposição de imagens, após ser notificado</option><option value="Vandalizou a página de usuário">Vandalizou a página de usuário</option><option value="Vandalizou imagem">Vandalizou imagem</option><option value="Vandalizou página de sistema ou administrativa (Ex.: votações, patrulhas, regras...)">Vandalizou página de sistema ou administrativa (Ex.: votações, patrulhas, regras...)</option>';

//Motivos adicionais meus if(wgUserName == 'Coco'){ motivosbanbp = '<option value="Remoção de conteúdo de páginas por engano">Remoção de conteúdo de páginas por engano</option><option value="Adição de conteúdo inútil em páginas por engano">Adição de conteúdo inútil em páginas por engano</option><option value="Não sei se você percebeu mas, isso aqui é um site humor, não tem compromisso com a realidade, apenas com o humor. A proposito, você morreu.">Isso aqui é um site de humor</option>'+motivosbanbp; }

//Imagens window.tcimagemnovo='<img src="data:image/gif;base64,R0lGODlhLAAQANUAAAAAAO/vAP//vX+AAD9BAP//Ub/AAB8hAGZmAP//F////5mZAP//mf//79/fAP//AA8RAP//jE9QAP//1///M4+QAMzMADMzAK+wAG9wAP//hv//B///cv//zP//6P//Zv//O///9///pf//EP//4P//Iv//QgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAQUAP8ALAAAAAAsABAAAAb/QIVwSCwaj8ikosFIPJ7QqHRKpZomw5CAUu16vZyG0MPZmAkSaCbzbRPYz4RA2OE+AYDKk0BofwF9UBwhISJOdwAQAQ98TxYIb4sLA08OAwYPj5F3gU8UHiERG1AACACUjQ4QFwOrDwMAFg8VAAaqrK4PB2lQCRMNGqN3AxkADo2mDg8LAAsOAGwXBw/Jy82MlFAjHQ2ipAMBEBKNBABPBqcPEhAWeYzmD+io2U/bhYcP6bQQfRIAixjcBfSnzB9AdxUwQSlBQkGdb08OAHoQEIGBC4qeQBD3pOLFjG+iFBBDxsyGdPEmLpN4QdaTYgugLGDpUuWDDQxCCNnip6cXHBBYhDDB57PogwQidA7xEIGo0TYJInhQQrWq1SAAOw==" />'; window.imtruthi='<img src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAPFBMVEVBKNChuukmWronXL7Q3fS4y+4jUqpKdMQoXcEkVrIbQIRZZXm/v78HEiUAAAAxMTFxl95DTmJLS0uJqeOnrJ25AAAAAXRSTlMAQObYZgAAAERJREFUeNptydkOgCAQQ9E6SmVz5f//lUkYCCbep54U+FSWGbKWrcMJKbvdzlML7W4gY8od8Tgvg03g9mMqnjG1N+OvCrJDAnkzRh/5AAAAAElFTkSuQmCC" />'; window.imtruthf='<img src="data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAMAAABhq6zVAAAAPFBMVEUAAAChuukmWronXL7Q3fS4y+4jUqpKdMQoXcEkVrIbQIRZZXm/v78HEiUAAAAxMTFxl95DTmJLS0uJqePEscFnAAAAAXRSTlMAQObYZgAAAElJREFUeNpVjlEOgCAMQ8sEUURBuf9dpTNh+P6a1zUDfrQWSK0MTmQj98O0rCRdWXsazqJHXkwA0USf2E1wYog+MQn4o0xf5E+80qcCeb5evU8AAAAASUVORK5CYII=" />';

//CSS document.write('<style>.portlett {border-top-width: medium;border-right-width-value: medium;border-right-width-ltr-source: physical;border-right-width-rtl-source: physical;border-bottom-width: medium;border-left-width-value: medium;border-left-width-ltr-source: physical;border-left-width-rtl-source: physical;border-top-style: none;border-right-style-value: none;border-right-style-ltr-source: physical;border-right-style-rtl-source: physical;border-bottom-style: none;border-left-style-value: none;border-left-style-ltr-source: physical;border-left-style-rtl-source: physical;border-top-color: -moz-use-text-color;border-right-color-value: -moz-use-text-color;border-right-color-ltr-source: physical;border-right-color-rtl-source: physical;border-bottom-color: -moz-use-text-color;border-left-color-value: -moz-use-text-color;border-left-color-ltr-source: physical;border-left-color-rtl-source: physical;margin-top: 0pt;margin-right: 0pt;margin-bottom: 0.5em;margin-left: 0pt;padding-top: 0pt;padding-right: 0pt;padding-bottom: 0pt;padding-left: 0pt;float: none;width: 11.6em;overflow-x: hidden;overflow-y: hidden;}.pBodyt{font-family: sans-serif;font-size: 12.0667px;background-color: white;color: black;border-collapse: collapse;border-top-width: 1px;border-right-width-value: 1px;border-right-width-ltr-source: physical;border-right-width-rtl-source: physical;border-width: 1px;border-left-width-value: 1px;border-left-width-ltr-source: physical;border-left-width-rtl-source: physical;border-top-style: solid;border-right-style-value: solid;border-right-style-ltr-source: physical;border-right-style-rtl-source: physical;border-style: solid;border-left-style-value: solid;border-left-style-ltr-source: physical;border-left-style-rtl-source: physical;border-top-color: #aaaaaa;border-right-color-value: #aaaaaa;border-right-color-ltr-source: physical;border-right-color-rtl-source: physical;border-color: #aaaaaa;border-left-color-value: #aaaaaa;border-left-color-ltr-source: physical;border-left-color-rtl-source: physical;padding-top: 0pt;padding-right: 0.8em;padding-bottom: 0.3em;padding-left: 0.5em;}.portlett h5 {background-color: transparent;background-image: none;background-repeat: repeat;background-attachment: scroll;background-position: 0% 0%;background-clip: border-box;background-origin: padding-box;background-size: auto auto;padding-top: 0pt;padding-right: 1em;padding-bottom: 0pt;padding-left: 0.5em;display: inline;height: 1em;text-transform: lowercase;font-size: 91%;font-weight: normal;white-space: nowrap;}</style>');


//Boas vindas automático para as mini mudanças recentes window.tembvativo = 0; function boasvindasauto(pagina) {if (typeof getCookie("nautobvtruthcode") != "undefined") { if (window.tembvativo == 0) { window.tembvativo = 1 } else { setTimeout('boasvindasauto("'+pagina+'");',5000); return false; } if (typeof getCookie("truthbvcount") == "undefined" || typeof getCookie("truthbv1") == "undefined") {setCookie('truthbvcount',1,null); setCookie('truthbv1',1,null); } if (getCookie("truthbvcount") == 22) {setCookie('truthbvcount',1,null); setCookie('truthbv1',1,null); } var abortarbv=false; var numeroproxim = parseInt(getCookie("truthbvcount"))+1; for (var p=1;p<numeroproxim;p++) { if ( pagina==getCookie("truthbv"+p) ) { abortarbv=true; } } if (!abortarbv) { ajaxjq('action=query&list=blocks&bkprop=id&bkusers='+pagina, function(result){ if ($("block", result).length == 0){ ajaxjq('action=query&prop=info&titles=user_talk:'+pagina, function(result){ if ($("page", result).attr('missing') != null){ tokened(function(result,token,time){ ajaxjq('action=edit&watchlist=nochange&summary='+encodeURIComponent('Boas vindas via Truthcode')+'&title=user_talk:'+pagina+'&text='+encodeURIComponent('{'+'{subst:'+getCookie("nautobvtruthcode")+'}'+'}\n\n~~'+'~~')+'&createonly=1&token='+encodeURIComponent(token), function(result){ window.tembvativo = 0; setCookie('truthbv'+numeroproxim,pagina,null); setCookie('truthbvcount',numeroproxim,null); });}); } else {setCookie('truthbv'+numeroproxim,pagina,null); setCookie('truthbvcount',numeroproxim,null); window.tembvativo = 0;}}); } else { setCookie('truthbv'+numeroproxim,pagina,null); setCookie('truthbvcount',numeroproxim,null); window.tembvativo = 0;} }); } else { window.tembvativo = 0; } }}

//Boas vindas manual window.bvtemsim = 0; function truthvmanual() { $('span.mw-usertoollinks a.new').each(function(){if ($(this).html()=="disc"){ if ($(this).parent().prev('a').length != 0) { window.bvtemsim = 1; boasvindasauto (encodeURIComponent($(this).parent().prev('a').html())); $('#contentSub').prepend('Processando boas vindas para usuário: '+$(this).parent().prev('a').html()+'
')

}}})

if (window.bvtemsim == 0) {$('#contentSub').prepend('Sem usuários para dar boas-vindas
');} return false; }

//Agrupador nas mini mrs function agruparminimrs1() { window.mragrupada = 1; setCookie('truthagrupa',1,360); agruparminimrs(); $('#botaoagrupaminimrs').html('<a href="#" onclick="agruparminimrs2(); return false;">desagrupar</a>'); }

function agruparminimrs2() { window.mragrupada = 0; setCookie('truthagrupa',0,360); $('#minimudancasrecentes').html(); carregaminimr(1); $('#botaoagrupaminimrs').html('<a href="#" onclick="agruparminimrs1(); return false;">agrupar</a>'); }

function agruparminimrs(){ if ($('ul.tcrrc li.tcrrcedit span.tcrrccont').length != 0) { $('#minimudancasrecentesagrupador').html(); var rccembindex = new Array(); var rccembvezes = new Array(); var rccembdifnew = new Array(); var rccembdifold = new Array(); var rccembacumula = new Array(); $('ul.tcrrc li.tcrrcedit span.tcrrccont').each(function(){ var tcrnome = $(this).children('.tcrrcname').html(); //$('#minimudancasrecentesagrupador').append('tcrnome '+tcrnome+'
') var tcrold = $(this).children('.tcrrcoldrev').html(); //$('#minimudancasrecentesagrupador').append('tcrold '+tcrold +'
') var tcrnew = $(this).children('.tcrrcnewrev').html(); //$('#minimudancasrecentesagrupador').append('tcrnew '+tcrnew+'
') var tcralt = $(this).children('.tcrrcalt').html(); //$('#minimudancasrecentesagrupador').append('tcralt '+tcralt+'
') if (jQuery.inArray(tcrnome, rccembindex) == -1) { rccembindex[rccembindex.length] = tcrnome; }

if(typeof rccembvezes[tcrnome] == "undefined") { rccembvezes[tcrnome] = 1 } else { rccembvezes[tcrnome]++; }

if(typeof rccembacumula[tcrnome] == "undefined") { rccembacumula[tcrnome] = parseInt(tcralt); } else { rccembacumula[tcrnome]=parseInt(rccembacumula[tcrnome])+parseInt(tcralt); }

if(typeof rccembdifnew[tcrnome] == "undefined") { rccembdifnew[tcrnome] = tcrnew; } else if (rccembdifnew[tcrnome]<tcrnew) { rccembdifnew[tcrnome] = tcrnew; }

if(typeof rccembdifold[tcrnome] == "undefined") { rccembdifold[tcrnome] = tcrold; } else if(rccembdifold[tcrnome]>tcrold) { rccembdifold[tcrnome] = tcrold; } });

var rccembconteudo = ""; for (il = 0; il < rccembindex.length; ++il ) { if (rccembvezes[rccembindex[il]] > 1) {

//histórico embutido rccembconteudo += '(<a href="#" onclick="return diffloadtruthpre(\+encodeURIComponent(rccembindex[il]).replace(/\'/g,"\\'")+'\',\+rccembdifnew[rccembindex[il]]+'\',\+rccembdifold[rccembindex[il]]+'\')" title="ver as diferenças diretamente nas mini-mudanças recentes">edif</a> | ';

//dif e histórico rccembconteudo += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(rccembindex[il])+'&diff='+rccembdifnew[rccembindex[il]]+'&oldid='+rccembdifold[rccembindex[il]]+'">dif</a>'; rccembconteudo += ' | <a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(rccembindex[il])+'&action=history">hist</a>) .. ';

//Título página rccembconteudo += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(rccembindex[il])+'"'; if ( rccembindex[il] == "Usuário:"+wgUserName || rccembindex[il] == "Usuário Discussão:"+wgUserName || rccembacumula[rccembindex[il]] == "Utilizador:"+wgUserName || rccembacumula[rccembindex[il]] == "Utilizador Discussão:"+wgUserName ) {rccembconteudo += ' style="font-weight: bold;">';} else {rccembconteudo += '>';} rccembconteudo += rccembindex[il]+'</a> ';

//Quantos caracteres alterados if (rccembacumula[rccembindex[il]] < 0 && rccembacumula[rccembindex[il]] > -500) { rccembconteudo += ' .. ('+rccembacumula[rccembindex[il]]+') '; } else if (rccembacumula[rccembindex[il]] < 0) { rccembconteudo += ' .. ('+rccembacumula[rccembindex[il]]+') '; } else if (rccembacumula[rccembindex[il]] > 0 && rccembacumula[rccembindex[il]] < 500) { rccembconteudo += ' .. (+'+rccembacumula[rccembindex[il]]+') '; } else if (rccembacumula[rccembindex[il]] > 0) { rccembconteudo += ' .. (+'+rccembacumula[rccembindex[il]]+') '; } else { rccembconteudo += ' .. ('+rccembacumula[rccembindex[il]]+') '; }

//Mostra a quantidade alterações rccembconteudo += '.. ('+rccembvezes[rccembindex[il]]+' alterações)';

//Coloca abaixo de cada agrupado, todas as
  • s que lhe correspondem rccembconteudo += '
      ' tcjafoi = 0; $('ul.tcrrc li.tcrrcedit span.tcrrccont').each(function(){ if ($(this).children('.tcrrcname').html() == rccembindex[il]) { rccembconteudo += '
    • '+$(this).parent().html()+'
    • ';

      if(tcjafoi == 0) { tcnumerodoindex = $(this).parent(); tcjafoi = 1; } else { $(this).parent().remove(); } } });

      rccembconteudo += '
    ';

    tcnumerodoindex.html(rccembconteudo); rccembconteudo=;


    } } $('ul.tcrrc > li:even').css('background-color','#F2F2F2'); $('ul.tcrrc li').removeClass('mw-line-odd');$('ul.tcrrc li').removeClass('mw-line-even'); }}


    //Rollback das mini mrs window.tcrollfechar = '<a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); return false;">(ocultar mensagem)</a>'; function rollbacktruth (pagina,usuario) { $("#minimudancasrecentesrollback").css("display","block"); $("#minimudancasrecentesrollback").html("Preparando-se para dar rollback."); ajaxjq('action=query&prop=revisions&rvtoken=rollback&rvprop='+encodeURIComponent('user|comment\\')+'&titles='+pagina, function(result){ if ($("page", result).attr('missing') != null) //trata paginas inexistentes { $("#minimudancasrecentesrollback").html('Página inexistente! (?!) Possivelmente deletada por um sysop. '+tcrollfechar); return true; } else if (encodeURIComponent($("revisions > rev", result).attr('user')) != usuario) //trata paginas com ultimo editor inexistente { $("#minimudancasrecentesrollback").html('A edição de '+decodeURIComponent(usuario)+' não pode ser revertida pois o usuário '+$("revisions > rev", result).attr('user')+' editou após o mesmo. '+tcrollfechar); return true; }

    else {


    $("#minimudancasrecentesrollback").html("Processando reversão."); ajaxjq('action=rollback&title='+pagina+'&user='+usuario+'&token='+encodeURIComponent($("revisions > rev", result).attr('rollbacktoken'))+'&summary='+encodeURIComponent('Foram revertidas as edições de ')+usuario+encodeURIComponent(' via Truthcode'), function(result){ if ($("rollback", result).length != 0) { if ($("rollback", result).attr('revid') != 0) {

    $("#minimudancasrecentesrollback").html('Reversão realizada com sucesso. Carregando diffs. <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); diffloadquery.abort(); return false;">Clique aqui para interromper o carregamento</a>.');

    diffloadtruth(encodeURIComponent($("rollback", result).attr('title')),$("rollback", result).attr('revid'),$("rollback", result).attr('old_revid')); carregaminimr(1);

    } else { $("#minimudancasrecentesrollback").html('Você já deu rollback nesta página. '+tcrollfechar); } return true; }

    else if ($("error", result).length != 0) { if ($("error", result).attr('code') == 'onlyauthor') { $("#minimudancasrecentesrollback").html('Erro ao reverter. O autor da página é o único editor da mesma'); } else { $("#minimudancasrecentesrollback").html('Erro ao reverter. Descrição do erro: '+$("error", result).attr('info')); } return true; } else { $("#minimudancasrecentesrollback").html('Erro desconhecido ao reverter (possivel bug do servidor). Verifique nas MRs se foi revertido.'); return true; }

    });


    }

    }); return false; }

    //Carregamento de diff function diffloadtruthpre(pagina,revid,oldrevid) { $("#minimudancasrecentesrollback").css("display","block"); $("#minimudancasrecentesrollback").html('Carregando diffs. <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); diffloadquery.abort(); return false;">Clique aqui para interromper o carregamento</a>.'); return diffloadtruth(pagina,revid,oldrevid); } function diffloadtruth(pagina,revid,oldrevid) { if (oldrevid != 0) {diffloadquery = $.ajax({ type:"GET",url:'http://'+location.hostname+'/index.php', data:'title='+pagina+'&diff='+revid+'&oldid='+oldrevid, dataType:"html",

    success:function(result){$("#minimudancasrecentesrollback").html('
    '+botoesdifftruth(encodeURIComponent($('#mw-diff-ntitle2 a:first',result).html()),pagina,'conteudoartigo =$(\'#minimudancasrecentesrollback\');',0,oldrevid,revid,$('#mw-diff-otitle2 a:first', result).html(),$('#mw-diff-ntitle2 a:first', result).html())+'
    <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa diff</a>

    '+diffstyle+$(".diff",result).parent().html()+'
    <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa diff</a>
    ');

    //Botão de edição rápida if ($('span.truthloaddiff .editsection').length != 0) { if ($('#ca-unwatch',result).length != 0) { var nawatchlist = true; } else { var nawatchlist = false; } $('span.truthloaddiff .editsection a').each(function(){ indexqedtc = tcidquickedit; tcidquickedit++; if ($(this).html() == "editar") { $(this).parent().prepend('[<a href="#" onclick="tcquickedit(\+pagina.replace(/\'/g,"\\'")+'\','+$(this).attr('href').replace(/^.+\&section\=([0-9]+)/,"$1")+','+indexqedtc+',0,'+nawatchlist+'); return false;" title="edita esta seção rapidamente com Truthcode">EdR</a>] '); } $(this).parent().parent().after('');

    //Botão de limpar a patrulha do ban if ((esysop == 1 || wgUserName == 'Dainidankai') && decodeURIComponent(pagina)=="Wikimerda:Patrulha do Banimento") {if ($('span.mw-headline' ,$(this).parent().parent()).html() == " Entradas ") { $(this).parent().prepend('[<a href="#" onclick="conteudoartigo=$(\'#minimudancasrecentesrollback\'); cleanpbvan(0); return false;">Limpar todas as entradas da patrulha do banimento</a>] '); }}

    }); } }, })} else { diffloadquery = $.ajax({ type:"GET",url:'http://'+location.hostname+'/index.php', data:'title='+pagina+'&oldid='+revid, dataType:"html",

    success:function(result){$("#minimudancasrecentesrollback").html('
    '+botoesdifftruth(encodeURIComponent($('#mw-revision-info a.mw-userlink:first',result).html()),pagina,'conteudoartigo =$(\'#minimudancasrecentesrollback\');',0,'cancel',0,0,0)+'
    <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa visualização</a>

    '+$("#bodyContent",result).html()+'
    <a href="#" onclick="$(\'#minimudancasrecentesrollback\').html(\' \');$(\'#minimudancasrecentesrollback\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar essa visualização</a>
    ');


    //Botão de edição rápida if ($('span.truthloaddiff .editsection').length != 0) { if ($('#ca-unwatch',result).length != 0) { var nawatchlist = true; } else { var nawatchlist = false; } $('span.truthloaddiff .editsection a').each(function(){ indexqedtc = tcidquickedit; tcidquickedit++; if ($(this).html() == "editar") { $(this).parent().prepend('[<a href="#" onclick="tcquickedit(\+pagina.replace(/\'/g,"\\'")+'\','+$(this).attr('href').replace(/^.+\&section\=([0-9]+)/,"$1")+','+indexqedtc+',0,'+nawatchlist+'); return false;" title="edita esta seção rapidamente com Truthcode">EdR</a>] '); } $(this).parent().parent().after(''); }); } }, })} return false; } diffstyle='<style>table.diff, td.diff-otitle, td.diff-ntitle { background-color: white;}td.diff-otitle,td.diff-ntitle { text-align: center;}td.diff-marker { text-align: right;}.rtl td.diff-marker { text-align: left;}td.diff-lineno { font-weight: bold;}td.diff-addedline { background: #cfc; font-size: smaller;}td.diff-deletedline { background: #ffa; font-size: smaller;}td.diff-context { background: #eee; font-size: smaller;}.diffchange { color: red; font-weight: bold; text-decoration: none; white-space: pre-wrap; white-space: -moz-pre-wrap;}table.diff { border: none; width: 98%; border-spacing: 4px; table-layout: fixed;}table.diff td { padding: 0;}table.diff col.diff-marker { width: 2%;}table.diff col.diff-content { width: 48%;}table.diff td div { word-wrap: break-word; overflow: auto; }div.diff-switchtype{ text-align: center; font-weight: bold; font-size: smaller;}span.diff-html-added { font-size: 100%; background-color: #20ff20}span.diff-html-removed { font-size: 100%; text-decoration: line-through; background-color: #ff2020}span.diff-html-changed { background: url(images/diffunderline.gif) bottom repeat-x; *background-color: #c6c6fd; }span.diff-html-added img{ border: 5px solid #ccffcc;}span.diff-html-removed img{ border: 5px solid #fdc6c6;}span.diff-html-changed img{ border: 5px dotted #000099; }span.diff-html-changed { position: relative; cursor: help;} span.diff-html-changed span.tip { display: none; } span.diff-html-changed:hover span.tip { display: block; z-index: 95; position: absolute; top: 2.5em; left: 0; width: auto; line-height: 1.2em; padding: 3px 7px 4px 6px; border: 1px solid #336; background-color: #f7f7ee; font-size: 10px; text-align: left;}</style>';

    //Tranqueiras para as mini-mrs function mostratranqueirasrc() { $('#minimudancasrecentestranqueiras').css('display','block');

    $('#minimudancasrecentestranqueiras').html('
    Carregando
    ');

    $.ajax({ type:"GET", url:'http://'+location.hostname+'/wiki/'+encodeURIComponent('MediaWiki:Recentchangestext'), dataType:"html", data:,

    success:function(result){ $('#minimudancasrecentestranqueiras').html('
    <a href="#" onclick="$(\'#minimudancasrecentestranqueiras\').html(\'\'); $(\'#minimudancasrecentestranqueiras\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar</a>
    '+$('#bodyContent', result).html()+'
    <a href="#" onclick="$(\'#minimudancasrecentestranqueiras\').html(\'\'); $(\'#minimudancasrecentestranqueiras\').css(\'display\',\'none\'); return false;" style="font-size: 15px; font-weight: bold;">Ocultar</a>

    ');

    }, }) return false; }

    //Minirecentchanges inicio window.mragrupada = 0; function setCookie(c_name,value,exdays) { var exdate=new Date(); exdate.setDate(exdate.getDate() + exdays); var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString()); document.cookie=c_name + "=" + c_value+"; path=/;"; }

    function getCookie(c_name) { var o,x,y,ARRcookies=document.cookie.split(";"); for (o=0;o<ARRcookies.length;o++) {

     x=ARRcookies[o].substr(0,ARRcookies[o].indexOf("="));
     y=ARRcookies[o].substr(ARRcookies[o].indexOf("=")+1);
     x=x.replace(/^\s+|\s+$/g,"");
     if (x==c_name)
       {
       return unescape(y);
       }
     }
    

    }

    //Altera quantidade nas minimrs function ftcrclimit() { window.ntcrclimit=prompt('Informe a quantidade de páginas que deseja que as µmudanças recentes carreguem.',""); if (ntcrclimit!=null && ntcrclimit!="") { if (/[^0-9]/g.test(ntcrclimit) == true) { alert('Somente pode conter números'); } else { ntcrclimit=parseInt(ntcrclimit); if (ntcrclimit>100) { if(confirm('Você inseriu "'+ntcrclimit+'" que é uma quantidade superior a 100. Quantidades altas podem travar o seu navegador. Tem certeza que deseja continuar com a operação?')) { window.tcrclimit=ntcrclimit; $('#tcrclimit').html(ntcrclimit); carregaminimr(1); } } else { window.tcrclimit=ntcrclimit; $('#tcrclimit').html(ntcrclimit); setCookie('truthbmrquantn',ntcrclimit,null); carregaminimr(1); } } } }

    if (typeof getCookie("disablerecentchanges") == "undefined") { addOnloadHook(function(){ patrolled = ; if (esysop || erollback) patrolled = '|patrolled'; tclifiltros = new Array(); tclifiltros["patrolled"] = ; tclifiltros["bot"] = '|!bot'; tclifiltros["anon"] = ; tclifiltros["redirect"] = ; tclifiltros["minor"] = ; tcmrTime = false;

    if(typeof getCookie("truthbmrquantn") == "undefined") { setCookie('truthbmrquantn',30,360); } window.tcrclimit=getCookie("truthbmrquantn") if(typeof getCookie("truthagrupa") == "undefined") { setCookie('truthagrupa',0,360); } if (getCookie("truthagrupa") == 0) { agruparspandata = '<a href="#" onclick="agruparminimrs1(); return false;">agrupar</a>'; window.mragrupada = 0; } else { agruparspandata = '<a href="#" onclick="agruparminimrs2(); return false;">desagrupar</a>'; window.mragrupada = 1; } var novoeleme = document.createElement('div'); novoeleme.setAttribute('style','width: 100%;'); novoeleme.setAttribute('class','portlett'); novoeleme.setAttribute('id','minimudancasrecentescontainer');

    novoelemep1 = '
    ' +'v265' //+'<a target="_blank" href="http://' + location.hostname + '/index.php?title=user:Coco/Truthcode/Colaborar">Colaborar com o Truthcode</a>' //+'<a target="_blank" href="http://' + location.hostname + '/index.php?title=user:Coco/Truthcode/Desktop" style="font-weight:bold;">Projeto Truthcode Desktop: participe da pesquisa</a>' +'µmudanças recentes (<a href="#" onclick="carregaminimr(1); return false;">recarregar</a> | <a href="#" onclick="return disablerc()">fechar</a> | <a href="#" id="tcrclimit" onclick="ftcrclimit(); return false;">'+tcrclimit+'</a> | '+agruparspandata+''; novoelemep2 = ' | <a href="#" onclick="$(\'#truth_mr_outros\').css(\'display\',\'block\'); return false;">+ opções/filtros</a>)
    '

    //filtros/opções extras

    +''


    //Corpo onde são exibidas as MRs

    +'
    ';

    //var de elementos contendo os containers para rollback e afins

    novoelemep3 = '';

    if(typeof getCookie("nautobvtruthcode") == "undefined") { //opção para habilitar autobv novoeleme.innerHTML += novoelemep3+novoelemep1+' | <a href="#" onclick="$(\'#selectbvtipo\').css(\'display\',\'inline\'); $(\'#habilitabvtipo\').css(\'display\',\'none\'); return false;">habilitar autobv</a>'

    +''

    +novoelemep2; } else //opção para desabilitar autobv { novoeleme.innerHTML += novoelemep3+novoelemep1+' | <a href="#" onclick="setCookie(\'nautobvtruthcode\',1,0); alert(\'Recarregue todas as página da Wikimerda abertas para parar a dar boas-vindas automáticas aos usuários\'); return false;">desabilitar autobv</a>'+novoelemep2; } document.getElementById('content').appendChild(novoeleme); window.minimrprimeiracarga=0; window.minimrexcludeuser=; carregaminimr (0); setInterval("carregaminimr(0)",150000);


    });


    function carregaminimr (forcarminimr){

    //Cancela carregamento se estiver processando uma deletação if ($("#minimudancasrecentes .canceladelete").length > 0) { return false; }

    //Sistema anti-sobrecarga if (typeof getCookie("truthbvtime") == "undefined") { setCookie('truthbvtime',1,null); } if ( parseInt(getCookie("truthbvtime"))+150000 > (parseInt(new Date().getTime())) && forcarminimr == 0) { if(window.minimrprimeiracarga==0) {$('#minimudancasrecentes').html('<a href="#" onclick="return carregaminimr(1)" style="font-weight: bold;">Clique aqui</a> para carregar as µmudanças recentes.
    FLY: o Truthcode não carregou a µmudanças recentes de imediato porque detectou que você (re)carregou as µmudanças recentes em outra página/aba nos últimos 150 segundos.
    Caso as µmudanças recentes não sejam carregadas por você em outra aba/janela nos próximos 150 segundos, o truthcode carregará elas nesta aba.<\/small>');} return false; } setCookie('truthbvtime',parseInt(new Date().getTime()),null); window.minimrprimeiracarga=1;

    //Mensagem de carregando if (forcarminimr != 2) $('#minimudancasrecentes').prepend('Carregando µmudanças recentes
    ');

    //Processa exclusão de usuário if (minimrexcludeuser && minimrexcludeuser != 'null' && minimrexcludeuser != ) {minimrexcludeusert = '&rcexcludeuser='+minimrexcludeuser} else {minimrexcludeusert = ;}

    //Inicio do ajax da watchlist ajaxjq('action=query&list=watchlist&wllimit='+tcrclimit+'&wlprop=title&wlend='+((parseInt(new Date().getTime())-43200000)+).slice(0,-3),function(result){

    if ($('item', result).length!=0) { tcwatchlist= new Array(); $('item', result).each(function(indexwatchlist){ tcwatchlist[indexwatchlist]=$(this).attr('title'); }); } else{tcwatchlist=null;}

    //Inicio do ajax das mini-mrs minimrajax=ajaxjq('action=query&list=recentchanges&rclimit='+tcrclimit+'&rcprop=user|parsedcomment|title|ids|sizes|loginfo|timestamp'+patrolled+minimrexcludeusert+'&rcshow='+encodeURIComponent((tclifiltros["patrolled"]+tclifiltros["bot"]+tclifiltros["anon"]+tclifiltros["minor"]+tclifiltros["redirect"]).replace(/\|/,"")),function(result){

    //checa se o usuário está recebendo erro do rcpermissiondenied if ($('error', result).attr('code') == "rcpermissiondenied") { patrolled = ; tclifiltros["patrolled"] = ; $('#tc_mr_li_patrolled').css('display','none'); return carregaminimr(2); }

    var lasttbv = ' '; var arraydovoltar= new Array();

    var rrca = '
      '; function elerc(numero,atributo) { return $("recentchanges rc:eq("+numero+")", result).attr(atributo); } function elercsub(numero,subtag,atributo) { return $("recentchanges rc:eq("+numero+") "+subtag, result).attr(atributo); } for (i=0,j=0;i<$("recentchanges rc", result).length;i++) { if(elerc(i,"type")=="edit") { rrcli = " tcrrcedit"; } else { rrcli = ""; } if (j==0) { rrca += '
    • '; j=1;} else if (j==1) { rrca += '
    • '; j=0;} //exibição de hora inicio var hora = parseInt( elerc(i,"timestamp").replace(/[0-9\-]+[a-z]([0-9]+).+/i,"$1") ) - 3; var minutos = elerc(i,"timestamp").replace(/[0-9\-]+[a-z][0-9]+\:([0-9\:]+)[a-z]+/i,"$1"); if (hora < 0) hora += 12; if (hora < 10) hora = "0"+hora.toString() else hora = hora.toString() rrca += ''+hora+':'+minutos+' (BRT) '; //exibição de hora fim alteratitulo = 'conteudoartigo = $(\'#minimudancasrecentes span.tcspanblockdelete'+i+'\').parent(\'li\');'; if(elerc(i,"type")=="edit" || elerc(i,"type")=="new") { //Informações sobre contribs eliminadas parte 1 if (elerc(i,"type")=="new" && esysop == 1) { rrca += ' <a href="#" id="imtruthi'+i+'" onclick="shownewdeletedinfo('+i+',\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\'); return false;">'+imtruthi+'</a><a href="#" id="imtruthf'+i+'" style="display: none" onclick="hidenewdeletedinfo('+i+'); return false;">'+imtruthf+'</a> ';} //histórico embutido rrca += '(<a href="#" onclick="return diffloadtruthpre(\+encodeURIComponent(elerc(i,"title")).replace(/\'/g,"\\'")+'\',\+elerc(i,"revid")+'\',\+elerc(i,"old_revid")+'\')" title="ver as diferenças diretamente nas mini-mudanças recentes">edif</a> | '; //dif e histórico if (elerc(i,"type")=="edit") { rrca += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(elerc(i,"title"))+'&diff='+elerc(i,"revid")+'&oldid='+elerc(i,"old_revid")+'">dif</a>'; } else { rrca += 'dif'; } rrca += ' | <a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(elerc(i,"title"))+'&action=history">hist</a>) .. '; if (elerc(i,"type")=="new") { rrca += 'N '; } if (patrolled != && elerc(i,'patrolled') == null) { rrca += '! '; } //Título página rrca += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(elerc(i,"title"))+'"'; if (tcwatchlist!=null){ if ($.inArray(elerc(i,"title"),tcwatchlist) != -1) { rrca +=' style="font-weight:bold"'; } } rrca += '>'; rrca += elerc(i,"title")+'</a> '; //Inseri um botão de (+) caso seja namespace impar ou forum if ( (parseInt(elerc(i,"ns"))%2) == 1 || elerc(i,"ns") == "20") { rrca += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(elerc(i,"title"))+'&action=edit&section=new" onclick="addconteudoformata(\+encodeURIComponent(elerc(i,"title"))+'\',\'minimudancasrecentesrollback\'); return false;">(+)</a>';} //Quantos caracteres alterados alteracao = parseInt(elerc(i,"newlen"))-parseInt(elerc(i,"oldlen")); if (alteracao < 0 && alteracao > -500) { rrca += ' .. ('+alteracao+') '; } else if (alteracao < 0) { rrca += ' .. ('+alteracao+') '; } else if (alteracao > 0 && alteracao < 500) { rrca += ' .. (+'+alteracao+') '; } else if (alteracao > 0) { rrca += ' .. (+'+alteracao+') '; } else { rrca += ' .. ('+alteracao+') '; } //User, disc, contribs, block rrca += ' .. <a href="http://'+location.hostname+'/wiki/User:'+encodeURIComponent(elerc(i,"user"))+'" title="Usuário:'+elerc(i,"user")+'">'+elerc(i,"user")+'</a> ('; rrca += '<a href="http://'+location.hostname+'/wiki/User_Talk:'+encodeURIComponent(elerc(i,"user"))+'">disc</a>'; rrca += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent('User_Talk:'+elerc(i,"user"))+'&action=edit&section=new" onclick="addconteudoformata(\+encodeURIComponent('User_Talk:'+elerc(i,"user"))+'\',\'minimudancasrecentesrollback\'); return false;">+</a>'; rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Contribuições/'+encodeURIComponent(elerc(i,"user"))+'">contribs</a>'; //Truthcode del e ER integration if (elerc(i,"type")=="new") { titulopaginamrnew = encodeURIComponent(elerc(i,"title").replace(/_/g," ")).replace(/\'/g,"\\'"); rrca += ' | <a href="http://'+location.hostname+'/index.php?action=delete&title='+titulopaginamrnew+'" target="_blank" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',0,0)" title="'+eladelname+'">'+seladelname+'</a>'; rrca += ' | <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return '+funcdelname+'(\+titulopaginamrnew+'\',1,0)" title="'+elavadelname+'">'+selavadelname+'</a>'; } //Bloquear para sysop, patrulha do banimento para não sysop //if (esysop == 1) { rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Bloquear/'+encodeURIComponent(elerc(i,"user"))+'">bloquear</a>'; } rrca += ''; if (esysop == 1) { rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Bloquear/'+encodeURIComponent(elerc(i,"user"))+'" target="_blank" onclick="canceladeleteativos(); '+alteratitulo+'return quickblocktruth(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')">bloquear</a>'; } else { rrca += ' | <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return addpatrulhaban(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')">add BP</a>'; } rrca += ''; //Botão p/ ocultar usuário rrca += ' | <a href="#" title="Oculta determinado usuário das mini-mudanças recentes. O usuário voltará há aparecer quando você recarregar a página." onclick="window.minimrexcludeuser=\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\'; $(\'#usuarioocultado\').html(\' | <a href=\\\'#\\\' onclick=\\\'mostrartodosusuariostruth(); return false;\\\'>mostrar \'+decodeURIComponent(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')+\'</a>\'); carregaminimr(1); return false;">ocultar</a>'; rrca += ") "; //sumário if (elerc(i,"parsedcomment") != "" && elerc(i,"parsedcomment") != null && elerc(i,"parsedcomment") != " ") { rrca += '('+elerc(i,"parsedcomment")+')'; } //desfazer boas-vindas duplas if(typeof getCookie("nautobvtruthcode") != "undefined") { if (elerc(i,"parsedcomment") == 'Boas vindas via <a href="/wiki/Usu%C3%A1rio:Coco/Truthcode" title="Usuário:Coco/Truthcode">Truthcode</a>') { if (lasttbv==elerc(i,"title")){truthundobv(encodeURIComponent(elerc(i,"title")))} lasttbv=elerc(i,"title");} } //rollback if (elerc(i,"type")=="edit" && (esysop == 1 || erollback == 1) && jQuery.inArray(elerc(i,"title"), arraydovoltar) == -1) { arraydovoltar[arraydovoltar.length] = elerc(i,"title"); rrca += ' <a href="#" onclick="return rollbacktruth(\+encodeURIComponent(elerc(i,"title")).replace(/\'/g,"\\'")+'\',\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')">[voltar]</a> '; } //Informações sobre contribs eliminadas parte 2 if (elerc(i,"type")=="new" && esysop == 1) { rrca += ''; } //Info para embutir rrca += ''; } if(elerc(i,"type")=="log") { //Detalhes do log if (elerc(i,"logtype")=="block" || elerc(i,"logaction")=="move" || elerc(i,"logaction")=="move_redir" || elerc(i,"logtype")=="protect") { rrca += ' <a href="#" id="imtruthi'+i+'" onclick="showloginfo('+i+'); return false;">'+imtruthi+'</a><a href="#" id="imtruthf'+i+'" style="display: none" onclick="hideloginfo('+i+'); return false;">'+imtruthf+'</a> ';} //tipo de registro rrca += '(<a href="http://'+location.hostname+'/wiki/Especial:Registro/'+encodeURIComponent(elerc(i,"logtype"))+'">Registro '+elerc(i,"logtype")+'</a>)'; if(typeof getCookie("nautobvtruthcode") != "undefined" && elerc(i,"logtype")=="newusers"){ boasvindasauto (encodeURIComponent(elerc(i,"user"))); } //User, disc, contribs, block rrca += ' .. <a href="http://'+location.hostname+'/wiki/User:'+encodeURIComponent(elerc(i,"user"))+'" title="Usuário:'+elerc(i,"user")+'">'+elerc(i,"user")+'</a> ('; rrca += '<a href="http://'+location.hostname+'/wiki/User_Talk:'+encodeURIComponent(elerc(i,"user"))+'">disc</a>'; rrca += '<a href="#" onclick="addconteudoformata(\+encodeURIComponent('User_Talk:'+elerc(i,"user"))+'\',\'minimudancasrecentesrollback\'); return false;">+</a>'; rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Contribuições/'+encodeURIComponent(elerc(i,"user"))+'">contribs</a>'; //Bloquear para sysop, patrulha do banimento para não sysop //if (esysop == 1) { rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Bloquear/'+encodeURIComponent(elerc(i,"user"))+'">bloquear</a>'; } rrca += ''; if (esysop == 1) { rrca += ' | <a href="http://'+location.hostname+'/wiki/Especial:Bloquear/'+encodeURIComponent(elerc(i,"user"))+'" target="_blank" onclick="canceladeleteativos(); '+alteratitulo+'return quickblocktruth(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')">bloquear</a>'; } else { rrca += ' | <a href="#" onclick="canceladeleteativos(); '+alteratitulo+'return addpatrulhaban(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')">add BP</a>'; } rrca += ''; //Botão p/ ocultar usuário rrca += ' | <a href="#" title="Oculta determinado usuário das mini-mudanças recentes. O usuário voltará há aparecer quando você recarregar a página." onclick="window.minimrexcludeuser=\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\'; $(\'#usuarioocultado\').html(\' | <a href=\\\'#\\\' onclick=\\\'mostrartodosusuariostruth(); return false;\\\'>mostrar \'+decodeURIComponent(\+encodeURIComponent(elerc(i,"user")).replace(/\'/g,"\\'")+'\')+\'</a>\'); carregaminimr(1); return false;">ocultar</a>'; rrca += ") "; //Título página rrca += '<a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent(elerc(i,"title"))+'"'; if (tcwatchlist!=null){ if ($.inArray(elerc(i,"title"),tcwatchlist) != -1) { rrca +=' style="font-weight:bold"'; } } rrca += '>'; rrca += elerc(i,"title")+'</a> '; //sumário if (elerc(i,"parsedcomment") != "" && elerc(i,"parsedcomment") != null && elerc(i,"parsedcomment") != " ") { rrca += '('+elerc(i,"parsedcomment")+')'; } } //Detalhes do log (segunda parte) if (elerc(i,"logaction")=="block" || elerc(i,"logaction")=="reblock") { rrca += ''; } if (elerc(i,"logaction")=="unblock") { rrca += ''; } if (elerc(i,"logaction")=="move") { if (typeof elercsub(i,"move","suppressedredirect") != "undefined") { supressmv = " .. Redirecionamento suprimido"; } else { supressmv = ""; } rrca += ''; } if (elerc(i,"logaction")=="move_redir") { if (typeof elercsub(i,"move","suppressedredirect") != "undefined") { supressmv = " .. Redirecionamento suprimido"; } else { supressmv = ""; } rrca += ''; } if (elerc(i,"logtype")=="protect") { if (elerc(i,"logaction") == "move_prot") { protectdt = "Foram movidas as configurações de proteção automaticamente ao mover a página."; } else if (elerc(i,"logaction") == "unprotect") { protectdt = "Página foi completamente desprotegida."; } else { protectdt = $("recentchanges rc:eq("+i+") param:first", result).text(); } rrca += ''; } rrca += '
    • ';

      }


      rrca += '
    ';

    $('#minimudancasrecentes').html(rrca); if (mragrupada == 1) { agruparminimrs(); } });});

    return false; }

    }

    //Minirecentchanges fim


    //Função para mostrar o tempo nas mini mrs function tcRCTimeShow() { tcmrTime = true; $('li#tcRCTime').html('<a href="#" onclick="return tcRCTimeHide();">ocultar horários</a></li>'); $('span.tcmrTimeSpan').css('display','inline'); return false; }

    function tcRCTimeHide() { tcmrTime = false; $('li#tcRCTime').html('<a href="#" onclick="return tcRCTimeShow();">mostrar horários</a></li>'); $('span.tcmrTimeSpan').css('display','none'); return false; }

    //Função para filtros extras function tcmrfiltros(tipo,tipo_long,mostrar) {

    if(mostrar) { tclifiltros[tipo] = ; $('#tc_mr_li_'+tipo).html('<a href="#" onclick="return tcmrfiltros(\+tipo+'\',\+tipo_long+'\',0);">ocultar '+tipo_long+'</a>'); } else { tclifiltros[tipo] = "|!"+tipo; var showmes = "mostrar "; if (tipo != "bot") showmes = "mostrar também "; $('#tc_mr_li_'+tipo).html('<a href="#" onclick="return tcmrfiltros(\+tipo+'\',\+tipo_long+'\',1);">'+showmes+tipo_long+'</a>'); }

    carregaminimr (1); return false; }

    function mostrartodosusuariostruth() { window.minimrexcludeuser=; $('#usuarioocultado').html(); carregaminimr(1); } function showloginfo(idlinha) { $('#imtruthi'+idlinha).css('display','none'); $('#imtruthf'+idlinha).css('display','inline'); $('#loginfotruth'+idlinha).css('display','inline'); } function hideloginfo(idlinha) { $('#imtruthi'+idlinha).css('display','inline'); $('#imtruthf'+idlinha).css('display','none'); $('#loginfotruth'+idlinha).css('display','none'); }

    function shownewdeletedinfo(idlinha,usuarionome) { $('#imtruthi'+idlinha).css('display','none'); $('#imtruthf'+idlinha).css('display','inline'); $('#loginfotruth'+idlinha).css('display','inline'); $('#loginfotruth'+idlinha).html('
    Carregando'); ajaxjq('action=query&drprop=parsedcomment&list=deletedrevs&drlimit=15&druser='+usuarionome,function(result){ if ($('rev', result).length == 0) {$('#loginfotruth'+idlinha).html('
    O usuário '+decodeURIComponent(usuarionome)+' não tem nenhuma contribuição apagada até o momento');} else { $('#loginfotruth'+idlinha).html('
    O usuário '+decodeURIComponent(usuarionome)+' tem as seguintes contribuições apagadas recentes:'); $('rev', result).each(function(){ $('#loginfotruth'+idlinha).append('
    <a href="http://'+location.hostname+'/index.php?title='+encodeURIComponent($(this).parent().parent().attr('title'))+'">'+$(this).parent().parent().attr('title')+'</a> .. ('+$(this).attr('parsedcomment')+')'); });} }); } function hidenewdeletedinfo(idlinha) { $('#imtruthi'+idlinha).css('display','inline'); $('#imtruthf'+idlinha).css('display','none'); $('#loginfotruth'+idlinha).css('display','none'); }

    function disablerc() {if (confirm('Confirma ocultar permanentemente as µmudanças recentes? (Elas somente apareceram novamente caso você delete seus cookies)')) { setCookie("disablerecentchanges",1,365) $('#minimudancasrecentescontainer').attr('style','display: none'); } return false; }




    //Truth maintenance code if (wgPageName == "Usuário:Coco/Truth_maintenance_code") { addOnloadHook( function(){ //botão de desfazer ultima edição botoestm = '<a href="#" onclick="return preparachecardiscorphans();">[Checar discussões orfãzinhas]</a> <a href="#" onclick="listprefstruth(null); return false;">[Listar predefs em user pages e artigos]</a> '; document.getElementById('contentSub').innerHTML += botoestm+'
    '; }); }

    function preparachecardiscorphans(){ namespacenumero=prompt("Informe o número do namespace (obs.: o número deve sempre ser ímpar!) A lista dos números dos namespaces está nesta página. Para procurar no namespace principal digite 1",""); if (!namespacenumero) { alert("operação cancelada!"); return false; } else { window.namespacenumero = namespacenumero; } primarioorphanpages=prompt("Informe qual a página em que começaremos a checagem. Para checar todas as páginas, deixe o motivo em branco e dê OK.",""); if (primarioorphanpages == null) { alert("operação cancelada!"); return false; } alteraconteudo('Iniciando checagem'); alteraconteudo('<a href="javascript:window.stop();">Para interromper toda a operação de checagem, clique aqui</a>'); alteraconteudoapp('Checando 100 títulos. Aguarde, este procedimento pode demorar.'); return checardiscorphans(primarioorphanpages); return true; }

    function checardiscorphans(inicial){ ajaxjq('action=query&list=allpages&apnamespace='+namespacenumero+'&aplimit=100&apfrom='+encodeURIComponent(inicial),function(result){ window.resultadocheckdisc = result; window.resultadocheckdisctam = $("p", resultadocheckdisc).length; checapaginasorphans(0); });

    return true; }

    function checapaginasorphans(npagina){ paginachecar = $("p:eq("+npagina+")", resultadocheckdisc).attr('title'); if (namespacenumero == 1) { paginachecarsemdisc = paginachecar.replace("Discussão:",""); } else { paginachecarsemdisc = paginachecar.replace(/(.*) Discussão\:/,"$1\:"); } if (npagina == 0) { alteraconteudoapp('A primeira página desta lista é "'+paginachecarsemdisc+'" (caso o script trave, continue a partir dela).'); }

    ajaxjq('action=query&prop=info&titles='+encodeURIComponent(paginachecarsemdisc), function(result){


    if ($("page", result).attr('missing') != null) { alteraconteudoapp('Atenção: página <a href="http://'+location.hostname+'/index.php?redirect=no&title='+encodeURIComponent(paginachecar)+'" target="_blank">'+paginachecar+'</a> é orfã!'); }


    //Quando terminar de checar essas 100, executa este if if (npagina == resultadocheckdisctam-1) { alteraconteudoapp("Checando mais 100 títulos. Aguarde, este procedimento pode demorar."); if ($("query-continue allpages", resultadocheckdisc).attr('apfrom') != null) { checardiscorphans($("query-continue allpages", resultadocheckdisc).attr('apfrom')); } else { alteraconteudoapp('Script completamente concluído'); } }

    //Relopa até que execute as quinhetas else { checapaginasorphans(npagina+1); }

    }); }

    //Truth mainteinance - Lista predefs em páginas de usuários e em artigos simultaneamente function listprefstruth(pagina) { if (pagina==null) { tccontinua = ; tclistapred=new Array(); alteraconteudo('Obtendo lista de predefinições. Aguarde, este procedimento pode demorar.'); } else { tccontinua = '&apfrom='+encodeURIComponent(pagina); alteraconteudoapp("Lista de 500 predefinições obtidas. Obtendo mais 500."); }

    ajaxjq('action=query&list=allpages&apnamespace=10&aplimit=500'+tccontinua,function(result){ $('p',result).each(function(){ tclistapred[tclistapred.length]=$(this).attr('title'); });

    if($('query-continue',result).length != 0) { return listprefstruth($('query-continue allpages',result).attr('apfrom')); } else { alteraconteudoapp('Lista de todas as predefinições do site obtida. Agora checaremos as predefinições uma a uma.
    '); listprefstruthprocessa(tclistapred,0); } });


    }

    function listprefstruthprocessa(tclistapred,tcpredindex) { if (tcpredindex == tclistapred.length) { alteraconteudoapp('Script completamente concluído'); $('#predsendochecada').html(); return false;} $('#predsendochecada').html('Checando agora a predefinição: "'+tclistapred[tcpredindex]+'"');

    ajaxjq('action=query&list=embeddedin&eilimit=1&eifilterredir=nonredirects&einamespace=2&eititle='+encodeURIComponent(tclistapred[tcpredindex]),function(result){

    if( $('ei', result).length == 0) { /* A predefinição não está inserida em nenhuma página de usuário! */ listprefstruthprocessa(tclistapred,tcpredindex+1); }


    else { ajaxjq('action=query&list=embeddedin&eilimit=1&eifilterredir=nonredirects&einamespace=0&eititle='+encodeURIComponent(tclistapred[tcpredindex]),function(result){ if( $('ei', result).length == 0) { /* A predefinição está numa página de usuário, mas não está inserida em nenhuma página do namespace principal */ } else { alteraconteudoapp('A predefinição "<a href="http://'+location.hostname+'/wiki/'+encodeURIComponent(tclistapred[tcpredindex])+'" target="_blank">'+tclistapred[tcpredindex]+'</a>" está presente tanto em páginas do namespaces principal quanto do namespace usuário!'); } listprefstruthprocessa(tclistapred,tcpredindex+1); }); }

    }); }


    tcusers = new Array ( 'Renan Jackson','Coco','Milk','Carlb','Rhubella Marie' );


    // Função derivada do insertTags do próprio MediaWiki function insertTagstc( tagOpen, tagClose, sampleText, iddotreco ) { if ( typeof $j != 'undefined' && typeof $j.fn.textSelection != 'undefined' && ( currentFocused.nodeName.toLowerCase() == 'iframe' || currentFocused.id == iddotreco ) ) { $j( '#'+iddotreco ).textSelection( 'encapsulateSelection', { 'pre': tagOpen, 'peri': sampleText, 'post': tagClose } ); return; } var txtarea; if ( document.editform ) { txtarea = currentFocused; } else { // some alternate form? take the first one we can find var areas = document.getElementById( iddotreco ); txtarea = areas; } var selText, isSample = false;

    if ( document.selection && document.selection.createRange ) { // IE/Opera // save window scroll position if ( document.documentElement && document.documentElement.scrollTop ) { var winScroll = document.documentElement.scrollTop } else if ( document.body ) { var winScroll = document.body.scrollTop; } // get current selection txtarea.focus(); var range = document.selection.createRange(); selText = range.text; // insert tags checkSelectedText(); range.text = tagOpen + selText + tagClose; // mark sample text as selected if ( isSample && range.moveStart ) { if ( window.opera ) { tagClose = tagClose.replace(/\n/g,); } range.moveStart('character', - tagClose.length - selText.length); range.moveEnd('character', - tagClose.length); } range.select(); // restore window scroll position if ( document.documentElement && document.documentElement.scrollTop ) { document.documentElement.scrollTop = winScroll; } else if ( document.body ) { document.body.scrollTop = winScroll; }

    } else if ( txtarea.selectionStart || txtarea.selectionStart == '0' ) { // Mozilla // save textarea scroll position var textScroll = txtarea.scrollTop; // get current selection txtarea.focus(); var startPos = txtarea.selectionStart; var endPos = txtarea.selectionEnd; selText = txtarea.value.substring( startPos, endPos ); // insert tags checkSelectedText(); txtarea.value = txtarea.value.substring(0, startPos) + tagOpen + selText + tagClose + txtarea.value.substring(endPos, txtarea.value.length); // set new selection if ( isSample ) { txtarea.selectionStart = startPos + tagOpen.length; txtarea.selectionEnd = startPos + tagOpen.length + selText.length; } else { txtarea.selectionStart = startPos + tagOpen.length + selText.length + tagClose.length; txtarea.selectionEnd = txtarea.selectionStart; } // restore textarea scroll position txtarea.scrollTop = textScroll; }

    function checkSelectedText() { if ( !selText ) { selText = sampleText; isSample = true; } else if ( selText.charAt(selText.length - 1) == ' ' ) { // exclude ending space char selText = selText.substring(0, selText.length - 1); tagClose += ' '; } }

    }


    function truthuploadform(formlocal) {


    $('#'+formlocal).html('
    Carregando formulário de upload.
    ');

    tokened(function(result,token,time){

    var formresult='<form id="mw-upload-form" enctype="multipart/form-data" class="visualClear" method="post" action="/wiki/Especial:Carregar_arquivo"><fieldset>\n<legend>Arquivo de origem</legend>\n\n<tbody>\n\n\n\n\n\n\n</tbody>
    <label for="wpSourceTypeFile">Nome do arquivo de origem:</label><input type="radio" checked="" value="File" id="wpSourceTypeFile" name="wpSourceType"><input type="file" size="60" name="wpUploadFile" id="wpUploadFile">\n
    Tamanho máximo do arquivo: 100 MB (um arquivo no seu computador)
    <label for="wpSourceTypeurl">URL de origem:</label><input type="radio" value="url" id="wpSourceTypeurl" name="wpSourceType"><input size="60" name="wpUploadFileURL" id="wpUploadFileURL" disabled="disabled">\n
    Tamanho máximo do arquivo: 100 MB (um URL válido, publicamente acessível)
    <label></label>

    Tipos de arquivos permitidos: png, gif, jpg, jpeg, svg, ico, ogg, mp3, dat, swf.\n

    \n\n
    \n\n</fieldset>\n\n<fieldset>\n<legend>Descrição do arquivo</legend>\n\n<tbody>\n\n\n\n\n\n</tbody>
    <label for="wpDestFile">Nome do arquivo de destino</label><input size="60" name="wpDestFile" id="wpDestFile">\n
    <label for="wpUploadDescription">Sumário:</label><textarea rows="8" cols="80" name="wpUploadDescription" id="wpUploadDescription"></textarea>\n

    \n

    Algumas dicas antes de você editar

    \n
    1. Leia o <a class="mw-redirect" title="Ajuda:Tutorial Básico de html e wiki" href="/wiki/Ajuda:Tutorial_B%C3%A1sico_de_html_e_wiki">tutorial para iniciantes</a>\n
    2. Sempre siga <a title="Wikimerda:10 Mandamentos da Wikimerda" href="/wiki/Wikimerda:10_Mandamentos_da_Wikimerda">os 10 mandamentos da Wikimerda</a>\n
    3. Mantenha a coerência com os artigos relacionados a este aqui;\n
    4. Lembre-se que estamos em 2011, não em 8209\n
    5. Evite criar <a class="mw-redirect" title="Wikimerda:Humor privado" href="/wiki/Wikimerda:Humor_privado">humor privado</a>. Nada de zoar o seu coleguinha ou aquele <a class="mw-redirect" title="Miguxo" href="/wiki/Miguxo">miguxo</a> do <a title="Orkut" href="/wiki/Orkut">orkut</a>, ninguém vai entender a piada mesmo!\n
    6. Evite usar nomes e termos já desgastados... <a title="Chuck Norris" href="/wiki/Chuck_Norris">Chuck Norris</a>, <a title="Capitão Nascimento" href="/wiki/Capit%C3%A3o_Nascimento">Capitão Nascimento</a>, <a title="Padre Quevedo" href="/wiki/Padre_Quevedo">Padre Quevedo</a> e <a title="Emo" href="/wiki/Emo">emos</a> podem estragar um artigo\n
    \n

    <select onchange="chooseCharSubset(selectedIndex)" style="display:inline"><option>Wiki</option><option>Mathématiques</option><option>API</option><option>Latin/Romain</option><option>Grec</option><option>Cyrillique</option><option>AHD</option><option>Allemand</option><option>Arabe</option><option>Catalan</option><option>Croate</option><option>Espagnol</option><option>Espéranto</option><option>Estonien</option><option>Gallois</option><option>Hawaien</option><option>Hébreu</option><option>Hiéroglyphe</option><option>Hollandais</option><option>Hongrois</option><option>Indo-européen</option><option>Irlandais</option><option>Islandais</option><option>Italien</option><option>Letton</option><option>Lituanien</option><option>Maltais</option><option>Navajo & Apache</option><option>Pinyin</option><option>Polonais</option><option>Portugais</option><option>Rōmaji</option><option>Roumain</option><option>Scandinave</option><option>Serbe</option><option>Tchèque</option><option>Turc</option><option>Vieil anglais</option><option>Vietnamien</option><option>Yiddish</option></select>\n

    <label for="wpLicense">Licença:</label><select id="wpLicense" name="wpLicense"><option value="" selected="selected">Nenhuma selecionada</option>\n</select>\n
    \n\n</fieldset>\n\n<fieldset>\n<legend>Opções de envio</legend>\n\n<tbody>\n\n\n\n</tbody>
    <label for="wpWatchthis"> </label><input type="checkbox" id="wpWatchthis" value="1" name="wpWatchthis"> <label for="wpWatchthis">Vigiar este arquivo</label>\n
    <label for="wpIgnoreWarning"> </label><input type="checkbox" id="wpIgnoreWarning" value="1" name="wpIgnoreWarning"> <label for="wpIgnoreWarning">Ignorar todos os avisos</label>\n
    \n\n</fieldset>\n\n\n<tbody>\n\n</tbody>
    \n<input type="hidden" name="wpEditToken" value="'+token+'" id="wpEditToken">\n<input type="hidden" name="title" value="Especial:Carregar arquivo">\n<input type="hidden" name="wpDestFileWarningAck" id="wpDestFileWarningAck">\n<input type="submit" class="mw-htmlform-submit" accesskey="s" title="Iniciar o carregamento [alt-shift-s]" name="wpUpload" value="Enviar arquivo">\n</form>';


    $('#'+formlocal).html( ''+

    '

    <a href="#" onclick="$(\'#'+formlocal+' span.enviodearquivotruth\').css(\'display\',\'none\'); return false;">(fechar)</a>
    '+

    '
    ' + formresult + '
    ' ); var formulario = $('#'+formlocal+' form'); formulario.attr('target','_blank'); formulario.submit(function(){ $('#'+formlocal+' span.enviodearquivotruth').css('display','none'); }); formulario.find('#wpUploadFile').change(function(){ formulario.find('#wpDestFile').val($(this).val()); });


    });

    return false;

    }

    //TruthCode - Fim

    </source>