Потребител:Metrónomo/common.js: Разлика между версии

Изтрито е съдържание Добавено е съдържание
Metrónomo (беседа | приноси)
Редакция без резюме
Metrónomo (беседа | приноси)
Премахване на цялото съдържание на страницата
 
Ред 1:
//<nowiki>
 
//CATEGORIZAR
function cargarCategorizar()
{
var tmp='';
//tmp += agregarBoton('Coleópteros', 'autoedit', 's~[Cc]ategoría:[Ii]nsectos~ategoría:Coleópteros~g&autoclick=wpSave&autominor=true&autosummary=Cambio de categorías');
//tmp += agregarBoton('Mantodeos', 'autoedit', 's~[Cc]ategoría:[Ii]nsectos~ategoría:Mantodeos~g&autoclick=wpSave&autominor=true&autosummary=Cambio de categorías');
// tmp += agregarBoton('#REDIRECCIÓN [[Plantilla:babel]]', "subst");
 
return tmp;
}
 
//DESTRUIR
function cargarDestruir()
{
var tmp='';
// tmp += agregarBoton('Pruebas de edición', "FBdest");
// tmp += agregarBoton('Redirección innecesaria', "FBdest");
// tmp += agregarBoton('Categoría vacía', "cat");
//tmp += agregarBotonMenu("Usuario inexistente, página creada por","leerInformacionBoton('Usuario','dest');");
//tmp += agregarBotonMenu("Plagio","leerInformacionBoton('URL','FBplagio');");
// tmp += agregarBotonMenu("Otro","leerInformacionBoton('Motivo','FBdest');");
return tmp;
}
 
//PLANTILLAS
function cargarPlantillas()
{
var tmp='';
//tmp += agregarBoton('SRA', 'FBplant', '{{sinrelevancia|{{subst:CURRENTDAY}}|{{subst:CURRENTMONTHNAME}}}}');
//tmp += agregarBoton('Consulta de borrado', 'borrado', '{{subst:cdb}}');
//tmp += agregarBoton('Aviso de consulta', 'aviso', '{{subst:aviso cdb|{{subst:FULLPAGENAME}}}} ~~~~');
return tmp;
}
//SUSTITUIR
function cargarSustituir()
{
var tmp='';
//tmp += agregarBoton('Huracán', 'autoedit', 's~{{Saffir~{{subst:Saffir~g&autoclick=wpSave&autominor=false&autosummary=Reemplazando plantilla por tabla');
tmp += agregarBoton('(bordered)', 'autoedit', 's~[_ ]\(bordered\)~~g&autominor=true&autosummary=Ненужно защото [[Шаблон:Флагче]] който използвате параметър "border" (if I make a mistake, please [[User Talk:Metrónomo|let me know]])&autoclick=wpSave');
//tmp += agregarBoton('doméstica/os', 'autoedit', 's~dom[eé]stic[ao]s~nacionales~g&autominor=true&autosummary=Corrigiendo [[falso amigo]]. Véanse http://www.wordreference.com/es/translation.asp?tranword=flight y http://www.linguee.es/ingles-espanol/traduccion/domestic+flight.html&autoclick=wpSave');
return tmp;
}
//OTROS
function cargarOtros()
{
var tmp='';
 
var advertenciaMenu = encodeURI("Aviso:\n(nada): Prueba\n0a: Etiqueta\n0b: Estilo\n0c: Spam\n2: Ediciones sin sentido\n2a: Blanqueo\n3: Detente\n4: Última advertencia\n5: Bloqueo");
//tmp += agregarBotonMenu("Advertencia","leerInformacionBoton(\'"+advertenciaMenu+"\','FBwarn');");
return tmp;
}
//*********************************************************************************************************************************
//Funciones generales
//*********************************************************************************************************************************
//agregarPlantilla: añade una plantilla al inicio de la página y guarda.
function agregarPlantilla(plantilla,resumen)
{
document.getElementById("wpTextbox1").value = plantilla + '\n' + document.getElementById("wpTextbox1").value;
document.editform.wpSummary.value = resumen;
document.editform.submit();
}
//agregarPlantillaFinal: añade una plantilla al final de la página y guarda.
function agregarPlantillaFinal(plantilla,resumen)
{
document.getElementById("wpTextbox1").value = document.getElementById("wpTextbox1").value + '\n' + plantilla;
document.editform.wpSummary.value = resumen;
document.editform.submit();
}
//borrarCategoria: añade una plantilla al final de la página y guarda.
function borrarCategoria(plantilla,resumen)
{
document.getElementById("wpTextbox1").value = plantilla;
document.editform.wpSummary.value = resumen;
document.editform.submit();
}
//agregarBoton: genera la cadena para añadir un botón, tomando ciertos parámetros.
function agregarBoton(buttonLabel, buttonType, typeParam, wikiAction )
{
if (!typeParam) var typeParam = buttonLabel;
if (!wikiAction) var wikiAction = 'edit';
return '<span class="keyboard-key" style="font-size:smaller; border:1px solid; border-color: #fff #bbb #bbb #fff; outline:1px solid #ddd; background:#F5DEB3; padding: 0.1em 0.3em; white-space:nowrap"><a href='+wikiURL+ wikiAction + '&' + buttonType + '='+encodeURI(typeParam)+'>'+buttonLabel+'</a></span> ';
}
//agregarBotonMenu: genera la cadena para añadir un botón de acción.
function agregarBotonMenu(buttonLabel, accion)
{
return '<a onclick='+accion+'><span class="keyboard-key" style="font-size:smaller; border:1px solid; border-color: #fff #bbb #bbb #fff; outline:1px solid #ddd; background:#FFFACD; padding: 0.1em 0.3em; white-space:nowrap">'+buttonLabel+'</span></a> ';
 
}
//leerInformacionBoton: ejecuta el código de un botón de acción que lee datos. Lee un dato del usuario.
function leerInformacionBoton(mensaje, buttonType, wikiAction)
{
if (!wikiAction) var wikiAction='edit';
var input = prompt(decodeURI(mensaje));
if (input!=null) location.href=wikiURL+wikiAction+'&'+buttonType+'='+encodeURI(input);
}
//*********************************************************************************************************************************
//Añadir los botones
//*********************************************************************************************************************************
var PAGENAME='';
var USERNAME='';
var FBList='';
var wikiURL = 'https://bg.wikipedia.org/w/index.php?title=';
//Extraer datos de la página
PAGENAME=encodeURI(wgPageName);
if (PAGENAME.match("&"))
{
PAGENAME=PAGENAME.replace("&","%26");
}
wikiURL=wikiURL+PAGENAME+"&action=";
USERNAME=PAGENAME.split(":")[1];
 
//Botones de categorizar
{
if (typeof botonesCategorizar=='function') {
tmp = botonesCategorizar();
} else {
tmp = cargarCategorizar();
}
if (tmp!='') {
FBList = FBList + 'Categorías: ' + tmp + '<br>';
}
}
 
//Botones de destruir
{
if (typeof botonesDestruir=='function') {
tmp = botonesDestruir();
} else {
tmp = cargarDestruir();
}
if (tmp!='') {
FBList = FBList + 'Destruir: ' + tmp + '<br>';
}
}
//Plantillas
{
if (typeof botonesPlantillas=='function') {
tmp = botonesPlantillas();
} else {
tmp = cargarPlantillas();
}
if (tmp!='') {
FBList = FBList + 'Plantillas: ' + tmp + '<br>';
}
}
//Sustituir
{
if (typeof botonesSustituir=='function') {
tmp = botonesSustituir();
} else {
tmp = cargarSustituir();
}
if (tmp!='') {
FBList = FBList + 'Sustituir: ' + tmp + '<br>';
}
}
//Otros
{
if (typeof botonesOtros=='function') {
tmp = botonesOtros();
} else {
tmp = cargarOtros();
}
if (tmp!='') {
FBList = FBList + 'Otros: ' + tmp;
}
}
 
 
/* Mostrar los botones en la página */
addOnloadHook(function ()
{
if (wgCanonicalNamespace == "Special") return;
 
if (document.getElementById('contentSub').innerHTML!='') document.getElementById('contentSub').innerHTML += '<br>';
document.getElementById('contentSub').innerHTML += FBList;
if (location.href.match("FBdest="))
{
var plantilla = decodeURI(location.href.substring(location.href.indexOf("FBdest=")+7));
agregarPlantilla("{{destruir|"+plantilla+"}}" , "Destruir: "+plantilla);
}
if (location.href.match("FBplant="))
{
var plantilla = decodeURI(location.href.substring(location.href.indexOf("FBplant=")+8));
agregarPlantilla(plantilla , "Plantilla: "+plantilla);
}
if (location.href.match("borrado="))
{
var articulo = decodeURI(location.href.substring(location.href.indexOf("borrado=")+8));
agregarPlantilla(articulo , "Nominada para su borrado: véase [[Wikipedia:Consultas de borrado/"+PAGENAME+"]]");
}
if (location.href.match("FBplagio="))
{
var url = decodeURI(location.href.substring(location.href.indexOf("FBplagio=")+9));
agregarPlantilla('{{plagio|1='+url+'|2=~~~~}}', "Plagio desde "+url);
}
if (location.href.match("dest="))
{
var usuario = decodeURI(location.href.substring(location.href.indexOf("dest=")+5));
agregarPlantilla('{{destruir|Usuario inexistente, página creada por [[Usuario:'+usuario+']].}}', "Destruir: Usuario inexistente");
}
if (location.href.match("cat="))
{
var plantilla = decodeURI(location.href.substring(location.href.indexOf("cat=")+4));
borrarCategoria('{{destruir|'+plantilla+'}}', "Destruir: Categoría vacía");
}
 
if (location.href.match("subst="))
{
var texto = decodeURI(location.href.substring(location.href.indexOf("subst=")+6));
borrarCategoria('#REDIRECCIÓN [[Plantilla:babel]]', "Redirigiendo a [[Plantilla:babel]]");
}
if (location.href.match("aviso="))
{
var aviso= decodeURI(location.href.substring(location.href.indexOf("aviso=")+6));
agregarPlantillaFinal(aviso,'Aviso al usuario');
}
else if (location.href.match("FBwarn="))
{
var advertencia= decodeURI(location.href.substring(location.href.indexOf("FBwarn=")+7));
agregarPlantillaFinal('{{subst:prueba'+decodeURI(advertencia)+'}} --~~~~','Aviso al usuario');
}
});
 
//*********************************************************************************************************************************
//Autoedit
//*********************************************************************************************************************************
 
function getParamValue(paramName) {
var cmdRe=RegExp('[&?]'+paramName+'=([^&]*)');
var h=document.location;
var m;
if (m=cmdRe.exec(h)) {
try {
return decodeURI(m[1]);
} catch (someError) {}
}
return null;
};
 
function substitute(data,cmdBody) {
// alert('sub\nfrom: '+cmdBody.from+'\nto: '+cmdBody.to+'\nflags: '+cmdBody.flags);
var fromRe=RegExp(cmdBody.from, cmdBody.flags);
return data.replace(fromRe, cmdBody.to);
};
 
function execCmds(data, cmdList) {
for (var i=0; i<cmdList.length; ++i) {
data=cmdList[i].action(data, cmdList[i]);
}
return data;
}
 
function parseCmd(str) {
// returns a list of commands
if (!str.length) return [];
var p=false;
switch (str.charAt(0)) {
case 's':
p=parseSubstitute(str);
break;
case 'j':
p=parseJavascript(str);
break;
default:
return false;
}
if (p) return [p].concat(parseCmd(p.remainder));
return false;
};
 
function unEscape(str, sep) {
return str.split('\\\\').join('\\')
.split('\\'+sep).join(sep)
.split('\\n').join('\n');
};
 
 
function runJavascript(data, argWrapper) {
// flags aren't used (yet)
 
// from the user's viewpoint,
// data is a special variable may appear inside code
// and gets assigned the text in the edit box
 
// alert('eval-ing '+argWrapper.code);
 
return eval(argWrapper.code);
};
 
function parseJavascript(str) {
// takes a string like j/code/;othercmds and parses it
 
var tmp,code,flags;
 
if (str.length<3) return false;
var sep=str.charAt(1);
str=str.substring(2);
tmp=skipOver(str,sep);
if (tmp) { code=tmp.segment.split('\n').join('\\n'); str=tmp.remainder; }
else return false;
 
flags='';
if (str.length) {
tmp=skipOver(str,';') || skipToEnd(str, ';');
if (tmp) {flags=tmp.segment; str=tmp.remainder; }
}
 
return { action: runJavascript, code: code, flags: flags, remainder: str };
};
 
function parseSubstitute(str) {
// takes a string like s/a/b/flags;othercmds and parses it
 
var from,to,flags,tmp;
 
if (str.length<4) return false;
var sep=str.charAt(1);
str=str.substring(2);
 
tmp=skipOver(str,sep);
if (tmp) { from=tmp.segment; str=tmp.remainder; }
else return false;
 
tmp=skipOver(str,sep);
if (tmp) { to=tmp.segment; str=tmp.remainder; }
else return false;
 
flags='';
if (str.length) {
tmp=skipOver(str,';') || skipToEnd(str, ';');
if (tmp) {flags=tmp.segment; str=tmp.remainder; }
}
return {action: substitute, from: from, to: to, flags: flags, remainder: str};
 
};
 
function skipOver(str,sep) {
var endSegment=findNext(str,sep);
if (endSegment<0) return false;
var segment=unEscape(str.substring(0,endSegment), sep);
return {segment: segment, remainder: str.substring(endSegment+1)};
}
 
function skipToEnd(str,sep) {
return {segment: str, remainder: ''};
}
 
function findNext(str, ch) {
for (var i=0; i<str.length; ++i) {
if (str.charAt(i)=='\\') i+=2;
if (str.charAt(i)==ch) return i;
}
return -1;
};
 
function runOnLoad(f) {
if (window.addEventListener) {
window.addEventListener("load",f,false);
}
else if (window.attachEvent) {
window.attachEvent("onload",f);
}
else {
window._old_popup_autoedit_onload = window.onload;
window.onload = function() {
window._old_popup_autoedit_onload();
f();
}
}
};
 
window.autoEdit=function() {
if (window.autoEdit.alreadyRan) return false;
window.autoEdit.alreadyRan=true;
var cmdString=getParamValue('autoedit');
if (cmdString) {
try {
var editbox=document.editform.wpTextbox1;
} catch (dang) { return; }
var cmdList=parseCmd(cmdString);
var input=editbox.value;
var output=execCmds(input, cmdList);
editbox.value=output;
// wikEd user script compatibility
if (typeof(wikEdUseWikEd) != 'undefined') {
if (wikEdUseWikEd == true) {
WikEdUpdateFrame();
}
}
}
 
var summary=getParamValue('autosummary');
if (summary) document.editform.wpSummary.value=summary;
 
var minor=getParamValue('autominor');
if (minor) {
switch (minor) {
case '1':
case 'yes':
case 'true':
document.editform.wpMinoredit.checked=true;
break;
case '0':
case 'no':
case 'false':
document.editform.wpMinoredit.checked=false;
}
}
 
var watch = getParamValue('autowatch');
if (watch) {
switch (watch) {
case '1':
case 'yes':
case 'true':
document.editform.wpWatchthis.checked = true;
break;
case '0':
case 'no':
case 'false':
document.editform.wpWatchthis.checked = false;
}
}
 
var btn=getParamValue('autoclick');
if (btn) {
if (document.editform && document.editform[btn]) {
var headings=document.getElementsByTagName('h1');
if (headings) {
var div=document.createElement('div');
var button=document.editform[btn];
div.innerHTML='<font size=+1><b>The "' + button.value +
'" button has been automatically clicked.' +
' Please wait for the next page to load.</b></font>';
document.title='('+document.title+')';
headings[0].parentNode.insertBefore(div, headings[0]);
button.click();
}
} else {
alert('autoedit.js\n\nautoclick: could not find button "'+ btn +'".');
}
}
};
 
runOnLoad(autoEdit);
 
//</nowiki>