Utilisateur:Phe/monobook.js
Un article de Wikipédia, l'encyclopédie libre.
Note : Après avoir sauvegardé, vous devez forcer le rechargement de la page pour voir les changements : Mozilla / Konqueror / Firefox : Shift-Ctrl-R, IE / Opera : Ctrl-F5, Safari : Cmd-R.
//<pre><nowiki> obtenir("FusionContribs"); var ugly_url = 'http://fr.wikipedia.org/w/index.php?title='; var pretty_url = 'http://fr.wikipedia.org/wiki/'; document.write('<script type="text/javascript" src="' + 'http://fr.wikipedia.org/w/index.php?title=Utilisateur:Phe/sortable table.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); document.write('<script type="text/javascript" src="' + 'http://en.wikipedia.org/w/index.php?title=User:Lupin/popups.js' + '&action=raw&ctype=text/javascript&dontcountme=s"></script>'); simplePopups=true; popupDelay=0.7; popupStructure='original'; popupOnEditSelection=false; popupAdminLinks=true; var oldEditsectionLinks = true; /** * Installation d'une nouvelle fonction de cette façon: * aOnloadFunctions[aOnloadFunctions.length] = nom_de_la_fonction; // (sans parenthèses) */ if (!window.aOnloadFunctions) { var aOnloadFunctions = new Array(); } window.onload = function() { if (window.aOnloadFunctions) { for (var _i=0; _i<aOnloadFunctions.length; _i++) { aOnloadFunctions[_i](); } } } /** * Ajouter une nouvelle fonction a excuter au chargement de la page. */ function addLoadEvent(func) { if (window.addEventListener) window.addEventListener("load", func, false); else if (window.attachEvent) window.attachEvent("onload", func); } //----------------------------------------------------------------------------- // XMLHttpRequest support //----------------------------------------------------------------------------- if (document.implementation.createDocument) { var xmlparser = new DOMParser(); } function XMLParse(string) { if (document.implementation.createDocument) { return xmlparser.parseFromString(string, "text/xml"); } else if (window.ActiveXObject) { var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.async = "false"; ret = xmldoc.loadXML(string); if (!ret) return null; return xmldoc.documentElement; } return null; } function HTTPClient() { var http; if(window.XMLHttpRequest) { http = new XMLHttpRequest(); } else if (window.ActiveXObject) { try { http = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { http = false; } } } return http; } //------------------------------------------------------------------ // dist edit and article_sans_cat /* return true if the most left a html tag is a red link */ function first_red_link(li) { var a = li.getElementsByTagName('a'); if (!a || a.length == 0) return false; if (a[0].className == 'new') return true; return false; } /* return true if the second left a html tag is a red link */ function second_red_link(li) { var a = li.getElementsByTagName('a'); if (!a || a.length <= 1) return false; if (a[1].className == 'new') return true; return false; } /* return true if all a html element except two first are red link */ function other_red_link(li) { var a = li.getElementsByTagName('a'); if (!a || a.length <= 2) return false; for (var j = 2; j < a.length; j++) { if (a[j].className != 'new') return false; } return true; } /* return true if a part of the element is striked */ function striked_element(e) { return e.getElementsByTagName('s').length != 0; } var xmlhttp_article_sans_cat; function article_sans_cat_change_text(text) { var content = document.getElementById('bodyContent'); var input = content.getElementsByTagName("input"); var li = content.getElementsByTagName("li"); if (li.length != input.length) { alert('bad li/input count ' + li.length + ' ' + input.length) return text; } new_text = ''; lines = text.split('\n'); var k = 0; for (var j = 0; j < lines.length; ++j) { if (lines[j].indexOf('#') == 0) { if (k >= li.length) { alert('something feel bad, k >= input.length'); return text; } if (!input[k].disabled && !input[k].checked) { new_text += lines[j] + '\n'; } k++; } else { new_text += lines[j] + '\n'; } } if (k != input.length) { alert('k != input.length' + k + ' ' + input.length); return text; } return new_text; } function article_sans_cat_submit_change_step2() { if (xmlhttp_article_sans_cat.readyState != 4) return; newform = document.createElement('form'); doc = XMLParse(xmlhttp_article_sans_cat.responseText); form = doc.getElementById('editform'); l = form.getElementsByTagName('textarea'); for (i = l.length; i--; ) { var t = document.createElement('input'); t.type = 'hidden'; t.name = l[i].name; t.value = article_sans_cat_change_text(l[i].value); newform.appendChild(t); } l = form.getElementsByTagName('input'); for (i = l.length; i--; ) { if (l[i].name == 'wpSummary') { l[i].value = 'mise à jour'; } else if (l[i].name == 'wpMinoredit') { l[i].value = '1'; } else if (l[i].name == 'wpWatchthis') { if (!l[i].checked) continue; // Don’t touch the "watch" status l[i].value = "on"; } else if (l[i].name == 'wpPreview') { continue; } else if (l[i].name == 'wpDiff') { continue; } l[i].type = 'hidden'; newform.appendChild(l[i]); } newform.name = form.name; newform.method = form.method; newform.id = form.id; newform.action = form.action; document.getElementById('bodyContent').innerHTML += '<br />Submitting form...'; document.getElementById('bodyContent').appendChild(newform); newform.submit(); } function article_sans_cat_submit_change_step1() { xmlhttp_article_sans_cat = HTTPClient(); if (!xmlhttp_article_sans_cat) { alert("Can't create http client"); return; } url = document.URL.slice(pretty_url.length); url_name = ugly_url + url + '&action=edit'; xmlhttp_article_sans_cat.open("GET", url_name, true); xmlhttp_article_sans_cat.onreadystatechange = article_sans_cat_submit_change_step2; xmlhttp_article_sans_cat.send(null); } function article_sans_cat() { var page_name = 'Wikip%C3%A9dia:Articles_sans_cat%C3%A9gories/'; var index = document.URL.indexOf(pretty_url + page_name); var idx2 = document.URL.indexOf(pretty_url + 'Utilisateur:Phe/page_vide/'); var idx3 = document.URL.indexOf(pretty_url + 'Wikip%C3%A9dia:Articles_les_plus_demand%C3%A9s/'); if (index == -1 && idx2 == -1 && idx3 == -1) return; content = document.getElementById('bodyContent'); var li = content.getElementsByTagName("li"); if (!li) return; for(var j = 0; j < li.length; j++) { input = document.createElement('input'); input.type = 'checkbox'; input.checked = striked_element(li[j]); if (idx3 == -1) input.disabled = first_red_link(li[j]); else input.disabled = !first_red_link(li[j]); li[j].insertBefore(input, li[j].firstChild); } submit = document.createElement('button'); submit.type = 'submit'; submit.innerHTML = 'submit'; submit.onclick = article_sans_cat_submit_change_step1; content.appendChild(submit); } addLoadEvent(article_sans_cat); var xmlhttp_dist_edit; function dist_edit_change_text(text) { var content = document.getElementById('bodyContent'); var input = content.getElementsByTagName("input"); var li = content.getElementsByTagName("li"); if (li.length * 2 != input.length) { alert('bad li/input count ' + li.length + ' ' + input.length) return text; } new_text = ''; lines = text.split('\n'); var k = 0; for (var j = 0; j < lines.length; ++j) { if (lines[j].indexOf('*') == 0) { if (k >= li.length) { alert('something feel bad, k >= input.length'); return text; } if (input[k*2].disabled || input[k*2+1].checked) { } else if (input[k*2].checked && lines[j].indexOf('<s>') == -1) { new_text += '*<s>' + lines[j].slice(1) + '\n'; } else { new_text += lines[j] + '\n'; } k++; } else { new_text += lines[j] + '\n'; } } if (k * 2 != input.length) { alert('k != input.length' + k + ' ' + input.length); return text; } return new_text; } function dist_edit_submit_change_step2() { if (xmlhttp_dist_edit.readyState != 4) return; newform = document.createElement('form'); doc = XMLParse(xmlhttp_dist_edit.responseText); form = doc.getElementById('editform'); l = form.getElementsByTagName('textarea'); for (i = l.length; i--; ) { var t = document.createElement('input'); t.type = 'hidden'; t.name = l[i].name; t.value = dist_edit_change_text(l[i].value); newform.appendChild(t); } l = form.getElementsByTagName('input'); for (i = l.length; i--; ) { if (l[i].name == 'wpSummary') { l[i].value = 'mise à jour'; } else if (l[i].name == 'wpMinoredit') { l[i].value = '1'; } else if (l[i].name == 'wpWatchthis') { if (!l[i].checked) continue; // Don’t touch the "watch" status l[i].value = "on"; } else if (l[i].name == 'wpPreview') { continue; } else if (l[i].name == 'wpDiff') { continue; } l[i].type = 'hidden'; newform.appendChild(l[i]); } newform.name = form.name; newform.method = form.method; newform.id = form.id; newform.action = form.action; document.getElementById('bodyContent').innerHTML += '<br />Submitting form...'; document.getElementById('bodyContent').appendChild(newform); newform.submit(); } function dist_edit_submit_change_step1() { xmlhttp_dist_edit = HTTPClient(); if (!xmlhttp_dist_edit) { alert("Can't create http client"); return; } url = document.URL.slice(pretty_url.length); url_name = ugly_url + url + '&action=edit'; xmlhttp_dist_edit.open("GET", url_name, true); xmlhttp_dist_edit.onreadystatechange = dist_edit_submit_change_step2; xmlhttp_dist_edit.send(null); } function edit_by_distance() { var lien_rouge = true; var page_name = 'Projet:Restauration_lien_rouge/par_distance/'; var index = document.URL.indexOf(pretty_url + page_name); if (index == -1) { lien_rouge = false; page_name = 'Projet:Restauration_des_ancres_bris%C3%A9es/'; index = document.URL.indexOf(pretty_url + page_name); if (index == -1) return; } content = document.getElementById('bodyContent'); var li = content.getElementsByTagName("li"); if (!li) return; for(var j = 0; j < li.length; j++) { input = document.createElement('input'); input.type = 'checkbox'; input.checked = striked_element(li[j]); input.disabled = first_red_link(li[j]); if (input.disabled == false && lien_rouge) input.disabled = !second_red_link(li[j]); if (input.disabled == false && lien_rouge) input.disabled = other_red_link(li[j]); input2 = document.createElement('input'); input2.type = 'checkbox'; input2.checked = false; input2.disabled = input.disabled; li[j].insertBefore(input2, li[j].firstChild); li[j].insertBefore(input, li[j].firstChild); } submit = document.createElement('button'); submit.type = 'submit'; submit.innerHTML = 'submit'; submit.onclick = dist_edit_submit_change_step1; content.appendChild(submit); } addLoadEvent(edit_by_distance); /** * suivant le nom de la page et referer ajoute un {{vandalisme|article}} * ou un {{bienvenu}} ou {{bienvenue}} + la signature. Pour une page * utilisateur {{bienvenu}} est toujours utilisé, pour une page de * discussion d'un utilisateur {{bienvenue}} est utilisé si le referrer * est une page utilisateur sinon {{vandalisme}} est utilisé. */ function vandalisme_ou_bienvenu() { var user_talk = 'Discussion_Utilisateur:'; var user = 'Utilisateur:'; //if (document.ULR.indexOf(ugly_url + user_talk + 'Phe/') != -1) // return; var index1 = document.URL.indexOf(ugly_url + user_talk); var index2 = document.URL.indexOf(ugly_url + user); if (index1 == -1 && index2 == -1) return; var text_area = document.editform.wpTextbox1; if (text_area.value.length == 0) { refferer = document.referrer; var text = '{{subst:' if (index2 != -1) { text += 'Bienvenu'; } else if (refferer.indexOf(pretty_url + user) != -1) { text += 'Bienvenue'; } else { refferer = refferer.slice(ugly_url.length); refferer = refferer.split('&')[0]; refferer = decodeURI(refferer); refferer = refferer.replace(/_/g, ' '); text += 'Vandalisme|' + refferer; } text += '}}\n~~~~'; text_area.value = text; } } addLoadEvent(vandalisme_ou_bienvenu); function getArticleName() { var strOut = document.title // case search if (strOut == "Rechercher - Wikipédia") return document.getElementById("lsearchbox").value // case article being modified strOut = strOut.replace("modification de ", "").replace(" - Modifier", "") strOut = strOut.replace(" - Prévisualiser", "").replace(" - Wikipédia", "") return strOut } //---------------------------------------------------------------------------------------restauration function UndeleteSelectAll() { if (getArticleName() != "Voir et restaurer la page supprimée") 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 > 0) title2[title2.length -1].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) //alert(aOnloadFunctions.length); var millisecs; var secs; function begin_time() { date = new Date(); millisecs = date.getMilliseconds(); secs = date.getSeconds(); } function end_time() { date = new Date(); var msec = date.getMilliseconds() - millisecs; if (msec < 0) { msec += 1000; secs += 1; } alert((date.getSeconds() - secs) + '.' + msec); } function test_time1() { begin_time(); var balise = document.getElementById("vrai_titre"); end_time(); } //addLoadEvent(test_time1); function test_time2() { begin_time(); var lang = document.getElementById("p-lang"); end_time(); } //addLoadEvent(test_time2); // ugly... //old_fct = aOnloadFunctions[0]; //aOnloadFunctions[0] = begin_time; //aOnloadFunctions[aOnloadFunctions.length] = old_fct; //aOnloadFunctions[aOnloadFunctions.length] = end_time; //function click(e) { // if (document.all) { // if (event.button == 2) { // alert(message); // return false; // } // } // if (document.layers) { // if (e.which == 3) { // alert(message); // return false; // } // } //} // //if (document.layers) { // document.captureEvents(Event.MOUSEDOWN); //} //alert('bar'); //document.onmousedown=click; //</nowiki></pre>