User:EpochFail/mrclean.js
Appearance
(Redirected from User:EpochFail/MrClean.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:EpochFail/mrclean. This user script seems to have an accompanying .css page at User:EpochFail/mrclean.css. |
/**********************************************************************************
MrClean
* Copyright 2012, Aaron Halfaker
* MIT licensed (http://en.wikipedia.org/wiki/MIT_License)
* http://halfaker.info
* Version 1.0
MrClean is an experimental user script designed to allow a reader to insert
cleanup templates into Wikipedia articles without clicking "edit"
**MIT LICENSE**
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
*******************************************************************************/
(function () {
return; // Please remove when problems in [[phab:T72470]] addressed.
function importCSSURI(url) {
$('head').append(
$("<link>")
.attr('rel', 'stylesheet')
.attr('type', 'text/css')
.attr('href', url)
)
}
function importCSS(page) {
var url = mw.config.get('wgScript') + '?title=' +
encodeURIComponent(page.replace(' ','_')).replace('%2F','/').replace('%3A',':') +
'&action=raw&ctype=text/css'
importCSSURI(url)
}
function getParameterByName(name)
{
name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regex = new RegExp(regexS);
var results = regex.exec(window.location.href);
if(results == null)
return "";
else
return decodeURIComponent(results[1].replace(/\+/g, " "));
}
//Decide whether to import the body of the script or not.
if(
(
wgNamespaceNumber == 0 || //Main namespace
(mw.config.get('wgPageName').search(/Sandbox/i) != -1 && mw.config.get('wgNamespaceNumber') == 2) //User sandbox
) &&
getParameterByName('action') == '' && //No preview or edit
getParameterByName('diff') == '' && //No diffs
getParameterByName('oldid') == '' && //No old revisions
wgPageName.search(/.(js|css)$/) == -1 //No javascript or css
){
if(window.MRCLEAN_TESTING){ //If we are testing, load the version from the (developer) version from the toolserver
importCSSURI("http://toolserver.org/~grphack/MrClean/mrclean.css")
mw.loader.load("http://toolserver.org/~grphack/MrClean/mc_system.js")
}else{ //If we are not testing, load the local (stabler) version.
importCSS("User:EpochFail/mrclean.css")
importScript("User:EpochFail/mc_system.js")
}
}
}());