// User:Quarl/automod.js
// requires: wikipage.js, util.js
// based on http://en.wikipedia.org/wiki/User:Jnothman/automod.js
// - added 'amnocreate'
// - fixed escape '+' bug
//<pre><nowiki>
if ((typeof auto_mod_loaded == 'undefined')
|| !auto_mod_loaded) {
auto_mod_loaded = true;
auto_mod_exectd = false;
function am_make_url(title, before, after, summary) {
return 'http://en.wikipedia.org/w/index.php?title='+wpaescape(title)+
'&action=edit'+
'&amaddbefore='+escape(before)+'&amaddafter='+escape(after)+
'&amsummary='+escape(summary);
}
function auto_mod() {
if (auto_mod_exectd)
return false;
auto_mod_exectd = true;
if (queryVars['action']=='edit') {
if (queryVars['amnull']) {
document.getElementById('editform').submit();
return true;
}
if (queryVars['amaddafter'] || queryVars['amaddbefore'] || queryVars['amreplace']) {
var summ_el = document.getElementById('wpSummary');
if (summ_el.value != '' && summ_el.value.substr(summ_el.value.length - 3, 3) != '*/ ') {
// have already added summary
return true;
}
var text = document.getElementById('wpTextbox1');
if (queryVars['amnocreate'] && ! text.value) {
alert("Error! Page is empty; refusing to create.");
return false;
}
if (queryVars['amclear'])
text.value = '';
if (queryVars['amfind'] && queryVars['amreplace'])
text.value = text.value.replace(new RegExp(queryVars['amfind'], "g"), queryVars['amreplace']);
if (queryVars['amaddafter']) {
if (text.value.charAt(text.value.length-1) != '\n')
text.value += '\n';
text.value += queryVars['amaddafter'];
}
if (queryVars['amaddbefore']) {
if (text.value.charAt(0) != '\n')
text.value = '\n' + text.value;
text.value = queryVars['amaddbefore'] + text.value;
}
summ_el.value += (queryVars['amsummary'] || ' ');
document.getElementById('editform').submit();
}
return true;
}
return false;
}
addOnloadHook(auto_mod);
} // end if auto_mod_loaded
// </nowiki></pre>