Utilisateur:HariBot/searchreplace.js
Apparence
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
var urlsearch = window.location.search;
if (urlsearch != '') {
data = urlsearch.substr(1, urlsearch.length - 1);
parameters = data.split('&');
urlvariables = new Array();
for (var i = 0; i < parameters.length; i++) {
parameter = parameters[i]
pos = parameter.indexOf('=');
variable = parameter.substr(0, pos);
value = decodeURI(parameter.substring(pos + 1, parameter.length));
while (value.search(/\+/) != -1)
value = value.replace(/\+/, ' ');
urlvariables[variable] = value;
}
}
function Replace(diff) {
var form = document.forms['tc-searchreplace'];
var search = form.elements['tc-search'].value;
var replace = form.elements['tc-replace'].value;
var form = document.forms['tc-resume'];
var resume = form.elements[0].value;
if(search == '' || replace == '') return false;
form = document.forms['editform'];
var text = form.elements['wpTextbox1'];
text.value = text.value.replace(new RegExp(/\[{2}(:)?[Cc]at[ée]gor(y|ie)[ ]?:[ ]?([^\]\|]*)/g), "[[$1Catégorie:"+"{{"+"subst:ucfirst:$3"+"}}");
text.value = text.value.replace(new RegExp(search, "g"), replace);
// form.elements['wpSummary'].value += ' ' + resume + ' s/'+search+'/'+replace+'/';
form.elements['wpSummary'].value = resume + ' s/'+search+'/'+replace+'/';
if (diff) {
form.elements['wpDiff'].click();
} else {
form.elements['wpSave'].click();
}
return false;
}
function SaveCookie(name, value) {
var expires = new Date();
expires.setTime(expires.getTime() + 365*24*3600*1000);
expires = expires.toGMTString();
document.cookie = name + '=' + escape(value) + '; expires=' + expires + '; path=/; domain=wikiquote.org;';
}
function GetCookie(name) {
var cookies = document.cookie;
if (cookies) {
var start = cookies.indexOf(name + '=');
if (start != -1) {
var end = cookies.indexOf(";", start);
if (end == -1) end = cookies.length;
return unescape(cookies.substring(start + name.length + 1, end));
}
}
return '';
}
function SearchPrompt() {
var search = prompt('Chaîne à remplacer ?');
if (search) {
var replace = prompt('À remplacer par ?');
if (!replace && replace != '') return;
SaveCookie('TCsearch', search);
SaveCookie('TCreplace', replace);
}
}
function SearchReplace() {
// if (document.title.indexOf('Modification de ') == 0) {
var toolbar = document.getElementById('toolbar');
if (toolbar) {
var br = document.createElement('br');
toolbar.appendChild(br);
var form = document.createElement('form');
form.setAttribute('action', '');
form.setAttribute('method', 'get');
form.setAttribute('enctype', 'text/plain');
form.setAttribute('id', 'tc-resume');
form.setAttribute('style', 'display: inline; vertical-align: bottom;');
var select = document.createElement('select');
select.setAttribute('onchange', 'SaveCookie(\'TCresume\', this.value)');
var option = document.createElement('option');
option.value = option.text = 'Orthographe';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Typographie';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Anglicisme';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Grammaire';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Correction';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Ponctuation';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Ajout';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Suppression';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Recatégorisation';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Suppression catégorie';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Retouche';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Lien';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Fair use';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Métamodèle';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Recommandation Commons';
select.appendChild(option);
var option = document.createElement('option');
option.value = option.text = 'Désormais sur Commons';
select.appendChild(option);
select.value = GetCookie('TCresume');
form.appendChild(select);
toolbar.appendChild(form);
var form = document.createElement('form');
form.setAttribute('action', '');
form.setAttribute('method', 'get');
form.setAttribute('enctype', 'text/plain');
form.setAttribute('onsubmit', 'return Replace(1)');
form.setAttribute('id', 'tc-searchreplace');
form.setAttribute('style', 'display: inline; vertical-align: middle;');
var text = document.createTextNode(' s/');
form.appendChild(text);
var input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('size', '10');
input.setAttribute('name', 'tc-search');
input.setAttribute('id', 'tc-search');
input.setAttribute('value', GetCookie('TCsearch'));
input.setAttribute('title', 'Chaîne à remplacer ?');
input.setAttribute('onchange', 'SaveCookie(\'TCsearch\', this.value)');
form.appendChild(input);
text = document.createTextNode('/');
form.appendChild(text);
input = document.createElement('input');
input.setAttribute('type', 'text');
input.setAttribute('size', '10');
input.setAttribute('name', 'tc-replace');
input.setAttribute('id', 'tc-replace');
input.setAttribute('value', GetCookie('TCreplace'));
input.setAttribute('title', 'À remplacer par ?');
input.setAttribute('onchange', 'SaveCookie(\'TCreplace\', this.value)');
form.appendChild(input);
text = document.createTextNode('/ ');
form.appendChild(text);
input = document.createElement('input');
input.setAttribute('type', 'image');
input.setAttribute('src', 'http://upload.wikimedia.org/wikipedia/fr/9/96/Button_trait%C3%A9supprimer.png');
input.setAttribute('alt', 'Rechercher, remplacer et prévisualiser les changements');
input.setAttribute('style', 'vertical-align: middle;');
form.appendChild(input);
toolbar.appendChild(form);
var img = document.createElement('img');
img.setAttribute('src', 'http://upload.wikimedia.org/wikipedia/fr/a/ae/Button_trait%C3%A9conserver.png');
img.setAttribute('alt', 'Rechercher, remplacer et sauvegarder les changements');
img.setAttribute('style', 'vertical-align: middle;');
var a = document.createElement('a');
a.setAttribute('href', 'javascript:Replace(0)');
a.appendChild(img);
toolbar.appendChild(a);
if (urlvariables['searchreplace'] == 'save') Replace(0);
if (urlvariables['searchreplace'] == 'diff') Replace(1);
}
// if (document.getElementById('ca-nstab-main').getAttribute('class') == "selected") {
var tabs = document.getElementById('p-cactions').getElementsByTagName('ul')[0];
if (!tabs) return;
var li = document.createElement('li');
li.setAttribute('id', 'ca-tc-searchreplace');
/* var font = document.createElement('font');
font.setAttribute('style', 'color: blue; font-weight: bold; padding-left: 0.5em');
var text = document.createTextNode('s&r');
font.appendChild(text);
li.appendChild(font); */
var a = document.createElement('a');
a.setAttribute('href', 'javascript:SearchPrompt()');
a.setAttribute('title', 'Saisir les termes de recherche et de remplacement');
a.setAttribute('style', 'color: blue; font-weight: bold;');
text = document.createTextNode('s&r');
a.appendChild(text);
li.appendChild(a);
var editlink = document.getElementById('ca-edit').getElementsByTagName('a')[0].getAttribute('href');
var a = document.createElement('a');
a.setAttribute('href', editlink + '&searchreplace=diff');
a.setAttribute('title', 'Rechercher, remplacer et prévisualiser les changements');
a.setAttribute('style', 'color: red; font-weight: bold;');
text = document.createTextNode('D');
a.appendChild(text);
li.appendChild(a);
a = document.createElement('a');
a.setAttribute('href', editlink + '&searchreplace=save');
a.setAttribute('title', 'Rechercher, remplacer et sauvegarder les changements');
a.setAttribute('style', 'color: green; font-weight: bold;');
text = document.createTextNode('S');
a.appendChild(text);
li.appendChild(a);
var a = document.createElement('a');
a.setAttribute('href', 'javascript:SearchHighlight()');
a.setAttribute('title', 'Mettre en surbrillance les termes à remplacer');
a.setAttribute('style', 'color: yellow; font-weight: bold;');
text = document.createTextNode('H');
a.appendChild(text);
li.appendChild(a);
tabs.insertBefore(li, document.getElementById('ca-history'));
// }
}
addLoadEvent(SearchReplace);
// <b style="color:black;background-color:#ffff66">layer</b>