Usuário(a):Topbanana/RLRL SR Utility.js
Aspeto
Nota: Depois de publicar, poderá ter de contornar a cache do seu navegador para ver as alterações.
- Firefox / Safari: Pressione Shift enquanto clica Recarregar, ou pressione Ctrl-F5 ou Ctrl-R (⌘-R no Mac)
- Google Chrome: Pressione Ctrl-Shift-R (⌘-Shift-R no Mac)
- Edge: Pressione Ctrl enquanto clica Recarregar, ou pressione Ctrl-F5.
// Create some search-and-replace tools - this uses a slightly modified version
// of [[User:Gerbrant/edit/regexReplace.js]])
importScript('User:Topbanana/regexReplace.js' );
function RLRL_SR_Utility()
{
strAdvert = ' - [[w:en:WP:RLR|You can help!]]';
// If we're not editing, do nothing
if ( !document.getElementById("editform") )
return;
// Check for and extract 'RLRLS' (search) and 'RLRLR' (replace) parameters
// Method based on 'gup' (http://www.netlobo.com/url_query_string_javascript.html)
param_match = new RegExp( '[\\?&]RLRLS=([^&#]*)' ).exec( window.location.href );
parSearch = param_match ? param_match[1] : '';
param_match = new RegExp( '[\\?&]RLRLR=([^&#]*)' ).exec( window.location.href );
parReplace = param_match ? param_match[1] : '';
param_match = new RegExp( '[\\?&]RLRLRD=([^&#]*)' ).exec( window.location.href );
parRedirect = param_match ? param_match[1] : '';
// First check if we are being asked to create a redirect
if( parRedirect.length > 0 )
{
// Check we have no other parameters
if( parSearch.length > 0 || parReplace.length > 0 )
return;
// Check the edit box is empty
if( document.forms.editform.wpTextbox1.value.length > 0 )
return;
// Correct the parameters provided
parRedirect = unescape( decodeURIComponent( parRedirect.replace( /_/g, " " ) ) );
// Okay, populate the edit box and summary
document.forms.editform.wpTextbox1.value = '#REDIRECT [[' + parRedirect+ ']]';
document.forms.editform.wpSummary.value =
'Link repair: Redirecting page to ' + parRedirect + strAdvert;
return;
}
// Okay, not a redirect. Check if we are being asked to search-and-replace
// If we've not got a useful set of parameters, give up
if( parSearch.length == 0 || parReplace.length == 0 )
return;
// Correct the parameters provided
parSearch = unescape( decodeURIComponent( parSearch.replace( /_/g, " " ) ) );
parReplace = unescape( decodeURIComponent( parReplace.replace( /_/g, " " ) ) );
// Escape any characters with special meanings in regular expressions
parRegex = parSearch.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
// Find and manipulate the search and replace controls
createRegexControls();
document.getElementById('tbRegex_SearchTextBox').value = parRegex;
document.getElementById('tbRegex_FindButton').click();
document.getElementById('tbRegex_ReplaceTextBox').value = parReplace;
// Populate the edit summary
document.forms.editform.wpSummary.value =
'Link repair: ' + parSearch + ' -> ' + parReplace + strAdvert;
};
$( RLRL_SR_Utility );