User:Voice of All/replacetxt.js
Appearance
(Redirected from User:Aaron Schulz/replacetxt.js)
Code that you insert on this page could contain malicious content capable of compromising your account. If you import a script from another page with "importScript", "mw.loader.load", "iusc", or "lusc", take note that this causes you to dynamically load a remote script, which could be changed by others. Editors are responsible for all edits and actions they perform, including by scripts. User scripts are not centrally supported and may malfunction or become inoperable due to software changes. A guide to help you find broken scripts is available. If you are unsure whether code you are adding to this page is safe, you can ask at the appropriate village pump. This code will be executed when previewing this page. |
Documentation for this user script can be added at User:Voice of All/replacetxt. |
//Manual replace
function replacetxt()
{
withw = '';
what = prompt("What text do you want to replace?" + "\n" + "You can even use regex commands." + "\n" + "Put '//' before and after the phrase to use regex.");
if (what == ''){alert("Invalid command."); return;}
else if (what == null){alert("Action cancelled."); return;}
what_GUI = what;
if (what.replace('//','').replace('//','') == what.split('//')[1])
{
what = what.split('//')[1]
replacetxtdone(what.split('//')[0],1,what);
}
else
{
what = what.replace(/\\/g,"\\\\");
what = what.replace(/\(/g,"\\(").replace(/\)/g,"\\)");
what = what.replace(/\{/g,"\\{").replace(/\}/g,"\\}");
what = what.replace(/\[/g,"\\[").replace(/\]/g,"\\]");
what = what.replace(/\|/g,"\\|");
what = what.replace(/\./g,"\\.");
what = what.replace(/\$/g,"\\$");
what = what.replace(/\+/g,"\\+");
what = what.replace(/\^/g,"\\^");
what = what.replace(/\?/g,"\\?");
what = what.replace(/\*/g,"\\*");
what = what.replace(/\//g,"\\/");
replacetxtdone(what,0,what_GUI);
}
}
//END
//Manual replace
function replacetxtdone(s,regexon,what_GUI)
{
var original = document.editform.wpTextbox1.value;
if(s)
{
if (regexon==1)
{var r = prompt('Replace "' + what_GUI + '" with what? (Regex)');}
else
{var r = prompt('Replace "' + what_GUI + '" with what?');}
if(!r && r != '') {alert('Action cancelled.'); return;}
if (r == ''){alert("All such appearances of text will be removed.");}
var txt = document.editform.wpTextbox1;
var rep = RegExp(s,"g");
txt.value = txt.value.replace(rep, r);
form = document.getElementById('bodyContent');
l = form.getElementsByTagName('input');
for (i = 0; i < l.length; i++)
{
if (l[i].name == 'wpMinoredit')
{l[i].value = '1'; l[i].checked=true;}
}
if (document.editform.wpTextbox1.value == original){alert('The word or phrase was not found on this page.'); return;}
document.editform.wpSummary.value += 'JS: Replacing "' + what_GUI + '" with "' + r + '". ';
}
}
//END
//---------------------------------------------------------------
//add tab
$(replacetab)
function replacetab()
{
if (document.title.indexOf("Editing ") != -1)
{
addToolboxLink("javascript:replacetxt()","Text replacer","txt-repl");
}
}
//END
////////////REDIRECTS////////////
$(redir_other_add)
function redir_other_add()
{
if (typeof addToolboxLink === 'undefined') return;
if (document.title.search(/Editing |Edit conflict/) != 0)
{addToolboxLink('javascript:redire_other()','Redirect to here','redir-hr','`');}
if (location.href.indexOf('&action=edit&jsaction=Redirect&target=') != -1)
{
var page = unescape(location.href.split('&target=')[1]);
var redirect = '#REDIRECT [[' + page + ']]';
var message = 'Note: Page already exists. Override?';
if (document.editform.wpTextbox1.value != '')
{
var override = confirm(message);
if (!override){return;}
}
document.editform.wpTextbox1.value = redirect;
document.editform.wpSummary.value = 'Redirect to [[' + page + ']]';
var form = document.getElementById('bodyContent');
l = form.getElementsByTagName('input');
for (var i = 0; i < l.length; i++)
{
if (l[i].name == 'wpMinoredit')
{l[i].value = '1'; l[i].checked=true; break;}
}
}
}
function redire_other()
{
var page = document.title.replace('Editing ','').replace('Edit Conflict','').replace('Edit conflict','').split(' - ')[0];
var txt = new String;
var foundIn = '';
if (window.getSelection)
{
txt = window.getSelection();
foundIn = 'window.getSelection()';
}
else if (document.getSelection)
{
txt = document.getSelection();
foundIn = 'document.getSelection()';
}
else if (document.selection)
{
txt = document.selection.createRange().text;
foundIn = 'document.selection.createRange()';
}
else
{var txt = prompt('No selected text found. Enter the page name:');}
if (!txt || txt == '')
{var txt = prompt('No selected text found. Enter the page name:');}
if (!txt || txt == ''){return;}
URL = mw.config.get('wgServer') + '/w/index.php?title=' + txt + '&action=edit&jsaction=Redirect&target=' + page;
URL = URL.replace(' &action','&action');
location.href = URL;
}