Usuari:Pasqual/scripts/autoclick.js

De Viquipèdia

< Usuari:Pasqual | scripts

Notau: Després de desar, heu de posar al dia la memòria cau del vostre navegador per veure els canvis: Mozilla: pitgeu reload(or ctrl-r), IE / Opera: ctrl-f5, Safari: cmd-r, Konqueror ctrl-r.

/*
<pre>
*/

function autoEdit() {
	if (!document.editform) { return false; }
	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;
	}
	setCheckbox('autominor', document.editform.wpMinoredit);
	setCheckbox('autowatch', document.editform.wpWatchthis);

	var rvid = getParamValue('autorv');
	if (getValueOf('popupUseQueryInterface') && getParamValue('autorv')) {
		var url=pg.wiki.wikibase + '/query.php?format=json&what=revisions&revids='+rvid;
		startDownload(url, null, autoEdit2);
	} else { autoEdit2(); }
}

function autoEdit2(d) {
	var summary=getParamValue('autosummary');
	var summaryprompt=getParamValue('autosummaryprompt');
	var summarynotice='';
	if (d && d.data && getParamValue('autorv')) {
		var s = getRvSummary(summary, d.data);
		if (s===false) {
			summaryprompt=true;
			summarynotice=popupString('Failed to get revision information, please edit manually.\n\n');
			summary = simplePrintf(summary, [getParamValue('autorv'), '(unknown)', '(unknown)']);
		} else { summary = s; }
	}
	if (summaryprompt) {
		var txt= summarynotice +
			popupString('Enter a non-empty edit summary or press cancel to abort');
		var response=prompt(txt, summary);
		if (response) { summary=response; }
		else { return; }
	}
	if (summary) { document.editform.wpSummary.value=summary; }
	// Attempt to avoid possible premature clicking of the save button
	// (maybe delays in updates to the DOM are to blame?? or a red herring)
	setTimeout(autoEdit3, 100);
}

function autoEdit3() {
	var btn=getParamValue('autoclick');
	if (btn) {
		if (document.editform && document.editform[btn]) {
			var button=document.editform[btn];
			var msg=tprintf('The %s button has been automatically clicked. Please wait for the next page to load.',
					[ button.value ]);
			bannerMessage(msg);
			document.title='('+document.title+')';
			button.click();
		} else {
			alert(tprintf('Could not find button %s. Please check the settings in your javascript file.',
				      [ btn ]));
		}
	}
}

addOnloadHook(autoEdit);

/*
</pre>
*/