Utilisateur:Chtit draco/monobook.js
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).
- Internet Explorer / Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
- Opera : appuyez sur Ctrl + F5.
/*<pre>*/
/*</pre>
==WATCH LIST==
<pre>*/
var suiviManagerAllPages = new Array();
function SuiviManagerRegexp(regexp)
{
var match = new RegExp(regexp);
for (var i=0;i<suiviManagerAllPages.length;i++) {
var pageName = suiviManagerAllPages[i].childNodes[0].getAttribute("value");
if (match.test(pageName)) {
suiviManagerAllPages[i].childNodes[0].checked=true;
}
}
}
function SuiviManagerLiensRouges()
{
for (var i=0;i<suiviManagerAllPages.length;i++) {
var pageClass = suiviManagerAllPages[i].childNodes[1].getAttribute("class");
if (pageClass && pageClass=="new") {
suiviManagerAllPages[i].childNodes[0].checked=true;
}
}
}
function SuiviManagerDeselect()
{
for (var i=0;i<suiviManagerAllPages.length;i++) {
suiviManagerAllPages[i].childNodes[0].checked=false;
}
}
function SuiviManager() {
if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist/edit")!=0) return;
var a=0;
var b=0;
var interfaceMsg = new Array();
var regexpList = new Array();
//////////////////////////////////////////////////
// Expressions régulières et liens de l'interface
//
// besoin d'aide pour les regexp ?
// http://www.commentcamarche.net/javascript/jsregexp.php3
//////////////////////////////////////////////////
interfaceMsg[a++] = "<b>Tout cocher</b>";
regexpList[b++] = "^.*";
interfaceMsg[a++] = "Utilisateurs";
regexpList[b++] = "^Utilisateur:";
interfaceMsg[a++] = "Wikiversité:*";
regexpList[b++] = "^Wikiversité:";
interfaceMsg[a++] = "Sous-pages de PàS";
regexpList[b++] = "^Wikiversité:Pages à supprimer\/";
interfaceMsg[a++] = "Sous-pages de PàV";
regexpList[b++] = "^Wikiversité:Pages à vérifier\/";
interfaceMsg[a++] = "Pages du bistro";
regexpList[b++] = "^Wikiversité:Le Bistro\/";
interfaceMsg[a++] = "Images";
regexpList[b++] = "^Image:";
interfaceMsg[a++] = "Modèles";
regexpList[b++] = "^Modèle:";
interfaceMsg[a++] = "Aide";
regexpList[b++] = "^Aide:";
interfaceMsg[a++] = "Catégories";
regexpList[b++] = "^Catégorie:";
interfaceMsg[a++] = "Portails";
regexpList[b++] = "^Portail:";
//////////////////////////////////////////////////
var topTag = document.getElementById("contentSub")
// récupère toutes les pages
var watchlist = document.getElementsByTagName("ul");
for (u=0;u<watchlist.length;u++) {
var entries = watchlist[u].getElementsByTagName("li");
for (i=0;i<entries.length;i++) {
suiviManagerAllPages.push(entries[i]);
}
}
// prépare la mini-interface
var str = "<div style=\"background-color:#8ecfe4;font-size:1px;height:8px;border:1px solid #AAAAAA;border-radius-topright:0.5em;border-radius-topleft:0.5em;\"></div>"
+ "<div style=\"border:1px solid #6ac1de;border-top:0px solid white;padding:5px 5px 0 5px;margin-bottom:3ex;\"><p>"
+ "<div style=\"float: left; text-align: left; white-space: nowrap;\"></div>"
for (var cpt = 0; cpt < interfaceMsg.length; cpt ++) {
str += "<a href=\"javascript:SuiviManagerRegexp('" + regexpList[cpt] + "')\">"
+ interfaceMsg[cpt]
+ " ·</a> "
}
str += "<a href=\"javascript:SuiviManagerLiensRouges()\">"
+ "Retirer les liens rouges"
+ " ·</a> "
str += "<a href=\"javascript:SuiviManagerDeselect()\">"
+ "<b>Enlever toutes les coches</b>"
+ " ·</a> "
topTag.innerHTML = topTag.innerHTML + "<br clear=all />" + str + "<p></div>"
}
addLoadEvent(SuiviManager);
/*</pre>
==Ajouts==
<pre>*/
function addToSummary(str)
{
document.editform.wpSummary.value += " " + str
}
function DeluxeSummary()
{
var sumLbl = document.getElementById("wpSummaryLabel")
if (sumLbl)
{
//élargissement boite de résumé
var sumInput = document.getElementById("wpSummary")
sumInput.style.width = "90%"
var titles = new Array()
titles.push("+ ébauche")
titles.push("+ cat")
titles.push("+ image")
titles.push("+ interwiki")
titles.push("corr interwiki")
titles.push("+ portail")
titles.push("- image")
titles.push("- lien int")
titles.push("- lien ext")
titles.push("corr lien int")
titles.push("corr lien ext")
titles.push("lien ext -> lien int")
titles.push("lien int -> interwiki")
titles.push("MeP")
titles.push("fusion")
titles.push("redir")
titles.push("ortho/gram")
titles.push("retouches")
titles.push("ajInfo")
titles.push("rangmt")
titles.push("recat")
titles.push("PàS conservé")
titles.push("création")
titles.push("Avis")
titles.push("Motivation")
titles.push("Réponse")
titles.push("régul")
titles.push("délais")
titles.push("sup copyvio")
titles.push("date")
titles.push("rv-motif")
var inputs = new Array()
inputs.push("+ bandeau ébauche")
inputs.push("+ catégorie")
inputs.push("+ image")
inputs.push("+ liens interwiki")
inputs.push("correction liens interwiki")
inputs.push("+ portail")
inputs.push("- image manquante")
inputs.push("- lien interne")
inputs.push("- lien externe")
inputs.push("correction lien interne")
inputs.push("correction lien externe")
inputs.push("conversion lien externe en lien interne")
inputs.push("conversion lien interne en lien interwiki")
inputs.push("mise en page")
inputs.push("fusion")
inputs.push("Redirect")
inputs.push("correction orthographe/grammaire")
inputs.push("diverses retouches")
inputs.push("ajout infos")
inputs.push("rangement interwikis/catégories")
inputs.push("changement catégorie")
inputs.push("article listé sur PàS - retrait du bandeau (conservé)")
inputs.push("Initialisation de la page")
inputs.push("Avis rendu !")
inputs.push("Ma motivation")
inputs.push("Réponse")
inputs.push("- non régularisé")
inputs.push("- délais non respectés")
inputs.push("- suppression passage en copyvio du site : ")
inputs.push("- du "+ TodayDate())
inputs.push("revert de la dernière contribution. Indiquez les motifs des modifications dans boîte de résumé ou en indiquer le renvoi en page de discussion")
var str = ""
for (var cpt = 0; cpt < titles.length; cpt ++)
{
str += "<a href=\"javascript:addToSummary('" + inputs[cpt] + "')\""
+ " class=\"sumLink\" title=\"Ajouter '" + inputs[cpt] +"' dans la boîte de résumé\">"
+ titles[cpt]
+ " ·</a> "
}
sumLbl.innerHTML = str + "<br />" + sumLbl.innerHTML
}
}
addLoadEvent(DeluxeSummary)
/*</pre>
==Lien Editcount==
<pre>*/
/* Lien Editcount */
var tabAction = "p-cactions";
function addECButton()
{
if ( window.location.href.indexOf('Contributions') < 0) return;
var c = document.getElementById('contentSub');
var a = c.getElementsByTagName('a');
if (a.length == 3) {
name = a[0].innerHTML;
} else {
name = c.innerHTML.replace(/ \(.*/, '').replace(/.* /, '');
}
var l = document.getElementById(tabAction);
t = l.innerHTML;
ind = t.toLowerCase().indexOf("</ul>");
before = t.substring(0,ind);
after = t.substring(ind);
pitem = "<li><a href='http://tools.wikimedia.de/~interiot/cgi-bin/count_edits?user="+"&dbname=frwiki_p'>"+
"<div id='EditCount' style='display:inline;'>" +
"Editcount" +
"</div></a></li>";
l.innerHTML = before + pitem + after ;
}
addLoadEvent(addECButton);
/*</pre>
==Ajout de l’historique des pages liées- Shortpages==
<pre>*/
function OptimizedShortPages() {
if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Shortpages")!=0) return;
var mainNode = document.getElementsByTagName("ol");
var allArticles = mainNode[0].getElementsByTagName("li");
for (i=0; i<allArticles.length; i++) {
var articleName = allArticles[i].childNodes[0].getAttribute("title");
var historyElement = document.createElement("a");
var histUrl = "/w/index.php?title=" + articleName + "&action=history"
historyElement.setAttribute("href", histUrl);
var historyText = document.createTextNode("? (hist) ");
historyElement.appendChild(historyText);
insertAfter(allArticles[i], historyElement, allArticles[i].childNodes[1]);
var relatedElement = document.createElement("a");
var relatedUrl = "/wiki/Special:Whatlinkshere/" + articleName
relatedElement.setAttribute("href", relatedUrl);
var relatedText = document.createTextNode(" (liens) ");
relatedElement.appendChild(relatedText);
var diffElement = document.createElement("a");
var diffUrl = "/w/index.php?title=" + articleName + "&diff=0"
diffElement.setAttribute("href", diffUrl);
var diffText = document.createTextNode(" (diff) ");
diffElement.appendChild(diffText);
insertAfter(allArticles[i], relatedElement, historyElement);
insertAfter(allArticles[i], diffElement, relatedElement);
insertAfter(allArticles[i], document.createTextNode(allArticles[i].childNodes[1].data), diffElement);
allArticles[i].removeChild(allArticles[i].childNodes[1]);
}
}
addLoadEvent(OptimizedShortPages);
/*</pre>
==Meilleur suivi==
<pre>*/
function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}
function OptimizedSuivi()
{
if (document.URL.indexOf("http://fr.wikiversity.org/wiki/Special:Watchlist")==0 ||
document.URL.indexOf("http://fr.wikiversity.org/w/index.php?title=Special:Watchlist")==0 ){
var allDays = document.getElementsByTagName("ul");
for (i=0; i<allDays.length; i++) {
if (allDays[i].getAttribute("class") == "special") {
var artList = allDays[i].getElementsByTagName("li");
for (j=0; j<artList.length; j++) {
var elem = artList[j];
var aTag = elem.getElementsByTagName("a");
var articleName = aTag[0].getAttribute("title");
var stopWatch = "/w/index.php?title=" + articleName + "&action=unwatch"
var newElement = document.createElement("a");
newElement.setAttribute("href",stopWatch);
var newText = document.createTextNode("stop");
newElement.appendChild(newText);
var newPar = document.createTextNode(") (")
// séparation des cas (nouvel article, ou déjà existant)
if (aTag[0].childNodes[0].data == "diff") {
insertAfter(elem, newPar, aTag[1]);
} else {
insertAfter(elem, newPar, aTag[0]);
}
insertAfter(elem, newElement, newPar);
}
}
}
}
}
addLoadEvent(OptimizedSuivi);
function nouvelOnglet() {
var a = document.getElementById("p-cactions");
if (a)
{
b = a.getElementsByTagName("ul");
if(b.length > 0)
{
b[0].innerHTML = b[0].innerHTML
+ '<li id="ca-nstab-user">'
+ '<a href="/wiki/Special:Shortpages">'
+ 'shortpages</a></li>';
}
}
}
addLoadEvent(nouvelOnglet);
/*</pre>
==Ajouts de lien externes et internes dans la barre de navigation de gauche==
<pre>*/
function OptimizedNavig()
{
var a = document.getElementById("p-navigation");
if (a)
{
b = a.getElementsByTagName("ul");
if(b.length > 0)
{
var startUrl = '/w/index.php?title='
var endUrl = '&action=purge'
// liste des URLs
var urls = new Array()
urls[0] = 'Special:Newpages'
urls[1] = 'Special:Blockip'
urls[2] = 'Special:Log/delete'
urls[3] = 'Special:Import'
var labels = new Array()
labels[0] = 'nPage'
labels[1] = 'Block'
labels[2] = 'Log/Del'
labels[3] = 'Import'
for (var i=0;i<urls.length;i+=2) {
tableHTML = '<table valign="top" cellspacing="0" cellpadding="0">'
tableHTML += '<tr>'
tableHTML += '<li><td><a href="' + startUrl + urls[i] + endUrl + '">' + labels[i] + ' | </a></td>'
tableHTML += '<td><a href="' + startUrl + urls[i+1] + endUrl + '">' + labels[i+1] + '</a></td></li>'
tableHTML += '</tr>'
tableHTML += '</table>'
b[0].innerHTML = b[0].innerHTML + tableHTML
}
}
}
}
addLoadEvent(OptimizedNavig);
/*</pre>
==Onglet purge==
<pre>*/
function OngletPurge() {
var a = document.getElementById("p-cactions");
if (a)
{
var pageName = document.title.replace(" - Wikiversité", "");
b = a.getElementsByTagName("ul");
if(b.length > 0)
{
b[0].innerHTML = b[0].innerHTML
+ '<li id="ca-nstab-user">'
+ '<a href="/w/index.php?action=purge&title=' + pageName + '">purger</a>'
+ '</li>';
}
}
}
// Onglet Purge
addLoadEvent(OngletPurge);
/*</pre>
==Optimise le suivi==
<pre>*/
//OPTIMISE LE SUIVI
//Auteur : ?
//Version/Date : ?
function OptimizedSuivi()
{
if (document.URL.indexOf("http://fr.wikipedia.org/wiki/Special:Watchlist")==0 ||
document.URL.indexOf("http://fr.wikipedia.org/w/index.php?title=Special:Watchlist")==0) {
var allDays = document.getElementsByTagName("ul");
for (i=0; i<allDays.length; i++) {
if (allDays[i].getAttribute("class") == "special") {
var artList = allDays[i].getElementsByTagName("li");
for (j=0; j<artList.length; j++) {
var elem = artList[j];
var aTag = elem.getElementsByTagName("a");
var articleName = aTag[0].getAttribute("title");
var stopWatch = "/w/index.php?title=" + articleName + "&action=unwatch"
var newElement = document.createElement("a");
newElement.setAttribute("href",stopWatch);
var newText = document.createTextNode("stop");
newElement.appendChild(newText);
var newPar = document.createTextNode(") (")
// séparation des cas (nouvel article, ou déjà existant)
if (aTag[0].childNodes[0].data == "diff") {
insertAfter(elem, newPar, aTag[1]);
} else {
insertAfter(elem, newPar, aTag[0]);
}
insertAfter(elem, newElement, newPar);
}
}
}
}
}
/*</pre>
== Outils à destination des Biblithécaires ==
<pre>*/
/*</pre>
=== SuppressionDeluxe : Rajout de boutons de motif de suppression ===
<pre>*/
function SuppressionDeluxe() {
if (document.title.indexOf("Confirmer la suppression")!=0) return;
var mainNode = document.getElementsByTagName("form");
var firstForm = mainNode[0];
var messages = new Array();
var ca = 0;
messages[ca++] = "Image orpheline sans licence";
messages[ca++] = "Image sans licence";
messages[ca++] = "Violation de copyright";
messages[ca++] = "Publicité ou autopromotion";
messages[ca++] = "Vandalisme";
messages[ca++] = "Babil de débutant";
messages[ca++] = "Redirection vers une page inexistante";
messages[ca++] = "Supprimé à la demande de son auteur";
messages[ca++] = "Traduction automatique";
messages[ca++] = "Contrevient aux règles de nommage";
messages[ca++] = "Suite à décision prise sur [[WV:PàS]]";
messages[ca++] = "Propos blessants ou insultes";
messages[ca++] = "Spam";
messages[ca++] = "Pris pour un bac à sable";
messages[ca++] = "Ne respecte pas les critères d'admissibilité";
messages[ca++] = "Fusion des historiques : phase 1";
messages[ca++] = "Fusion des historiques : phase 2";
messages[ca++] = "Fusion des historiques : phase 3";
messages[ca++] = "Transwiki terminé";
var table = document.createElement("table");
var tr = document.createElement("tr");
table.appendChild(tr);
if (firstForm.getAttribute("id")=="deleteconfirm") {
actionDelete = firstForm.getAttribute("action");
var inputs = firstForm.getElementsByTagName("input");
var token = inputs[2].getAttribute("value");
for (var i=0;i<messages.length;i++) {
if (i%3==0) {
tr = document.createElement("tr");
table.appendChild(tr);
}
var formElement = document.createElement("form");
formElement.setAttribute("id", "deleteconfirm");
formElement.setAttribute("method", "post");
formElement.setAttribute("action", actionDelete);
var inputReason = document.createElement("input");
inputReason.setAttribute("name", "wpReason");
inputReason.setAttribute("value", messages[i]);
inputReason.setAttribute("type", "hidden");
var inputConfirm = document.createElement("input");
inputConfirm.setAttribute("name", "wpConfirmB");
inputConfirm.setAttribute("value", messages[i]);
inputConfirm.setAttribute("type", "submit");
var inputToken = document.createElement("input");
inputToken.setAttribute("name", "wpEditToken");
inputToken.setAttribute("value", token);
inputToken.setAttribute("type", "hidden");
formElement.appendChild(inputReason);
formElement.appendChild(inputConfirm);
formElement.appendChild(inputToken);
var td = document.createElement("td");
td.appendChild(formElement);
tr.appendChild(td);
}
var separation = document.createElement("p");
separation.appendChild(document.createElement("hr"));
insertAfter(firstForm.parentNode, separation, firstForm);
insertAfter(firstForm.parentNode, table, separation);
}
}
addLoadEvent(SuppressionDeluxe)
/*</pre>
=== BlocageDeluxe : Rajout de boutons prédéfinis pour justifier un blocage ===
<pre>*/
function BlocageDeluxe() {
if (document.title.indexOf("Bloquer une adresse IP ou un utilisateur")!=0) return;
var mainNode = document.getElementsByTagName("form");
var firstForm = mainNode[0];
var ca = 0;
var messages = new Array();
var duree = new Array();
messages[ca] = "Vandale non averti mais voulant manifestement nuire";
duree[ca++] = "10 minutes";
messages[ca] = "Et vulgaire avec ça";
duree[ca++] = "30 minutes";
messages[ca] = "Vandale averti";
duree[ca++] = "1 hour";
messages[ca] = "Vandale averti plusieurs fois";
duree[ca++] = "6 hours";
messages[ca] = "Récidiviste";
duree[ca++] = "10 days";
messages[ca] = "Suite à décision du comité d'arbitrage";
duree[ca++] = "2 weeks"
messages[ca] = "Identifiant à caractère injurieux";
duree[ca++] = "infinite";
messages[ca] = "Robot fou";
duree[ca++] = "infinite";
messages[ca] = "Spammeur";
duree[ca++] = "infinite";
var table = document.createElement("table");
var tr = document.createElement("tr");
table.appendChild(tr);
if (firstForm.getAttribute("id")=="blockip") {
actionBlock = firstForm.getAttribute("action");
var inputs = firstForm.getElementsByTagName("input");
var token = inputs[4].getAttribute("value");
var lePauvre = inputs[0].getAttribute("value");
for (var i=0;i<messages.length;i++) {
// if (i%3==0) {
tr = document.createElement("tr");
table.appendChild(tr);
// }
var formElement = document.createElement("form");
formElement.setAttribute("id", "blockip");
formElement.setAttribute("method", "post");
formElement.setAttribute("action", actionBlock);
var inputReason = document.createElement("input");
inputReason.setAttribute("name", "wpBlockReason");
inputReason.setAttribute("value", messages[i]);
inputReason.setAttribute("type", "hidden");
var dureeC = document.createElement("input");
dureeC.setAttribute("name", "wpBlockExpiry");
dureeC.setAttribute("value", "other");
dureeC.setAttribute("type", "hidden");
var dureeC2 = document.createElement("input");
dureeC2.setAttribute("name", "wpBlockOther");
dureeC2.setAttribute("value", duree[i]);
dureeC2.setAttribute("type", "text");
var inputConfirm = document.createElement("input");
inputConfirm.setAttribute("name", "wpBlock");
inputConfirm.setAttribute("value", messages[i]);
inputConfirm.setAttribute("type", "submit");
var ident = document.createElement("input");
ident.setAttribute("name", "wpBlockAddress");
ident.setAttribute("value", lePauvre);
ident.setAttribute("type", "hidden");
var inputToken = document.createElement("input");
inputToken.setAttribute("name", "wpEditToken");
inputToken.setAttribute("value", token);
inputToken.setAttribute("type", "hidden");
formElement.appendChild(inputReason);
formElement.appendChild(dureeC);
formElement.appendChild(dureeC2);
formElement.appendChild(inputConfirm);
formElement.appendChild(inputToken);
formElement.appendChild(ident);
var td = document.createElement("td");
td.appendChild(formElement);
tr.appendChild(td);
}
var separation = document.createElement("p");
separation.appendChild(document.createElement("hr"));
insertAfter(firstForm.parentNode, separation, firstForm);
insertAfter(firstForm.parentNode, table, separation);
}
}
addLoadEvent(BlocageDeluxe);
/*</pre>
=== UndeleteSelectAll : Tout sélectionner ou déselectionner pour la restauration d’une page ===
<pre>*/
function UndeleteSelectAll()
{
if (document.title.indexOf("Voir et restaurer la page supprimée")!=0) return;
var title2 = document.getElementsByTagName("h2");
var all = document.createElement("input");
all.setAttribute("type", "checkbox");
all.setAttribute("onchange", "selectAll(this.checked)");
all.setAttribute("title", "Sélectionner/Désélectionner tous");
if (title2.length > 1)
title2[1].appendChild(all);
else
title2[0].appendChild(all);
all.click();
}
function selectAll(bool)
{
var inputs = document.getElementsByTagName("input");
for (var cpt = 0 ; cpt < inputs.length ; cpt++)
{
inputs[cpt].checked = bool;
}
}
addLoadEvent(UndeleteSelectAll);
/*</pre>
=== plagiarismsearch : détection de plagiats ===
<pre>*/
function plagiarismsearch(){
var formElement = document.createElement('form');
formElement.setAttribute('method', 'post');
formElement.setAttribute('id', 'copyscapequery');
formElement.setAttribute('name', 'copyscapequery');
formElement.setAttribute('action', 'http://www.copyscape.com/?results');
var queryInput = document.createElement('input');
queryInput.setAttribute('name', 'q');
queryInput.setAttribute('type', 'hidden');
queryInput.setAttribute('value', document.URL);
formElement.appendChild(queryInput);
var queryGO = document.createElement('a');
queryGO.setAttribute('href', 'javascript:document.forms.copyscapequery.submit();');
var queryText = document.createTextNode('copyscape');
queryGO.appendChild(queryText);
var link = document.createElement('li');
link.setAttribute ('id', 'ca-copyscape');
link.appendChild(queryGO);
link.appendChild(formElement);
var panelControl = document.getElementById('p-cactions');
if (panelControl) {
panelLinks = panelControl.getElementsByTagName('ul')[0];
if (panelLinks){
panelLinks.appendChild(link);
}
}
}
addLoadEvent(plagiarismsearch);
/*</pre>
== Fonction TodayDate ==
<pre>*/
function TodayDate()
{
var m = new Array("janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre")
var today = new Date()
var day = today.getDate()
var year = today.getYear()
if (year < 2000)
year += 1900
return (day + " " + m[today.getMonth()] + " " + year)
}
/*</pre>*/