Inscris-toi pour écrire dans l'encyclopédie Wikimini!

« Utilisateur:Dr Bot/wikimini.js » : différence entre les versions

Jump to navigation Jump to search
(Annulation des modifications 32859 de Dr Bot (discussion))
Aucun résumé des modifications
 
(35 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
//__NORICHEDITOR__ // Pas de WYGSYG sur ma page Javascript
//__NORICHEDITOR__ // Pas de WYGSYG sur ma page Javascript


// ===========================================================================
/////////////////////////////////////////////////////////////////////// Fonctions utiles
///////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////// Patch extension WhosOnline



function hasClass(node, className) {
if (node.className == className) {
return true;
}
var reg = new RegExp('(^| )'+ className +'($| )')
if (reg.test(node.className)) {
return true;
}
return false;
}
function addClass(node, className) {
if (hasClass(node, className)) {
return false;
}
node.className += ' '+ className;
return true;
}
function removeClass(node, className) {
if (!hasClass(node, className)) {
return false;
}
node.className = eregReplace('(^|\\s+)'+ className +'($|\\s+)', ' ', node.className);
return true;
}

function eregReplace(search, replace, subject) {
return subject.replace(new RegExp(search,'g'), replace);
}

function get_nextsibling(n){
x=n.nextSibling;
if(x==null) return false;
while (x.nodeType!=1) {
x=x.nextSibling;
if(x==null) return false;
}
return x;
}

function get_previoussibling(n){
x=n.previousSibling;
if(x==null) return false;
while (x.nodeType!=1) {
x=x.previousSibling;
if(x==null) return false;
}
return x;
}

function getTextContent(oNode) {
if (typeof(oNode.textContent)!="undefined") {return oNode.textContent;}
switch (oNode.nodeType) {
case 3: // TEXT_NODE
case 4: // CDATA_SECTION_NODE
return oNode.nodeValue;
break;
case 7: // PROCESSING_INSTRUCTION_NODE
case 8: // COMMENT_NODE
if (getTextContent.caller!=getTextContent) {
return oNode.nodeValue;
}
break;
case 9: // DOCUMENT_NODE
case 10: // DOCUMENT_TYPE_NODE
case 12: // NOTATION_NODE
return null;
break;
}
var _textContent = "";
oNode = oNode.firstChild;
while (oNode) {
_textContent += getTextContent(oNode);
oNode = oNode.nextSibling;
}
return _textContent;
}

var agt=navigator.userAgent.toLowerCase();
var is_ie = ((agt.indexOf("msie") != -1) && (agt.indexOf("opera") == -1));

function supprimerAncienElement(OldElement){
if(!OldElement)return;
if(is_ie){
OldElement.removeNode(true);
}else {
if(OldElement.parentNode){document=OldElement.parentNode.removeChild(OldElement);}
}
}




function insertAfter(parent, node, referenceNode) {
parent.insertBefore(node, referenceNode.nextSibling);
}



function setCookie (cookieName, cookieValue, expires, path) {
document.cookie = escape(cookieName) + '=' + escape(cookieValue) + (expires ? '; EXPIRES=' + expires.toGMTString() : '') + "; PATH=/" ;
}
function getCookie(cookieName) {
var cookieValue = null;
var posName = document.cookie.indexOf(escape(cookieName) + '=' );
if (posName != -1) {
var posValue = posName + (escape(cookieName) + '=' ).length;
var endPos = document.cookie.indexOf(';', posValue) ;
if (endPos != -1) {
cookieValue = unescape(document.cookie.substring(posValue, endPos));
} else {
cookieValue = unescape(document.cookie.substring(posValue));
}
}
return decodeURIComponent(cookieValue);
}



////////////////////////////////////////////////////////////////////// Header flash enroulable

// Récupération de la valeur du cookie
var FlashHeaderState = getCookie("FlashHeaderState");
if ((FlashHeaderState == "") || (FlashHeaderState == null) || (FlashHeaderState == "null")){
FlashHeaderState = "1";
}

var ReduireTitre = "Cliquer pour réduire l\'en-tête."
var ReduireHTML = "Réduire";

var DevelopperTitre = "Cliquer pour développer l\'en-tête."
var DevelopperHTML = "Développer"

document.write('<style type="text/css">');
document.write('#HeaderButton{ align:center;}');
document.write('</style>');

// Modification de l'en-tête
addOnloadHook( function(){
if(FlashHeaderState == "1"){
var FlashHeaderStyle = "block";
var ButtonHeaderTitle = ReduireTitre;
var ButtonHeaderHTML = ReduireHTML ;
}else{
var FlashHeaderStyle = "none";
var ButtonHeaderTitle = DevelopperTitre;
var ButtonHeaderHTML = DevelopperHTML;
}
var flashDiv = document.getElementById('header');
flashDiv.style.display = FlashHeaderStyle;

var ToggleButtonParent = document.createElement('center');
var ToggleButton = document.createElement('a');
ToggleButton.id = 'HeaderButton';
ToggleButton.href = "javascript:ToggleHeader()";
ToggleButton.innerHTML = ButtonHeaderHTML;
ToggleButton.title = ButtonHeaderTitle;
ToggleButtonParent.appendChild(ToggleButton);
flashDiv.parentNode.insertBefore(ToggleButtonParent,flashDiv.nextSibling);

});

function ToggleHeader(){
var flashDiv = document.getElementById('header');
var flashButton = document.getElementById('HeaderButton');
var now = new Date();
var nextYear = new Date(now.getTime() + 1000 * 60 * 60 * 24 * 365 );
if(flashDiv.style.display=="none"){
flashDiv.style.display ="block";
flashButton.title = ReduireTitre;
flashButton.innerHTML= ReduireHTML;
setCookie("FlashHeaderState", "1", nextYear);
}else{
flashDiv.style.display = "none";
flashButton.title = DevelopperTitre;
flashButton.innerHTML= DevelopperHTML;
setCookie("FlashHeaderState", "0", nextYear);
}
}





















/////////////////////////////////////////////////////////////////////// Modification de l'apparence du skin wikimini (inutile avec la redirection monobook)
///////////////////////////////////////////////////////////////////////


addOnloadHook (function(){
// ################## GÉNÉRAL ##################
// --------- Largeur = 100% au lieu de 800px -------------------
var mainDiv = document.getElementById('main');
mainDiv.style.width = '100%';
// --------- Suppression de l'objet flash (trop gros, trop moche...) -------------------
/*
var flashDiv = document.getElementById('header');
flashDiv.style.display = 'none';
*/
// --------- Déplacement des liens personnels en haut de page -------------------
var AllH5 = document.getElementsByTagName('h5');
for(a=0;a<AllH5.length;a++){
if(AllH5[a].innerHTML.indexOf('Outils personnels')!=-1){
var TitrePerso = AllH5[a];
var IconePerso = get_previoussibling(TitrePerso);
var LiensPerso = get_nextsibling(TitrePerso);
LiensPerso.parentNode.removeChild ( LiensPerso ) ;
document.body.insertBefore(LiensPerso, document.body.firstChild);
LiensPerso.style.marginLeft = '3em';
var LiensPersoDiv = LiensPerso.getElementsByTagName('div');
for(b=0;b<LiensPersoDiv.length;b++){
LiensPersoDiv[b].style.padding = '0';
LiensPersoDiv[b].style.margin = '0';
}
TitrePerso.parentNode.removeChild ( TitrePerso ) ;
LiensPerso.insertBefore(TitrePerso , LiensPerso.firstChild);
TitrePerso.style.padding = '0';
TitrePerso.style.margin = '0';
TitrePerso.style.marginLeft = '3em';
IconePerso.parentNode.removeChild ( IconePerso ) ;
LiensPerso.insertBefore(IconePerso, LiensPerso.firstChild);
IconePerso.style.padding = '0';
IconePerso.style.margin = '0';
IconePerso.style.marginLeft = '2em';
}
}
// ################## COLONNES ##################
var AllDiv = document.getElementsByTagName('Div');
for(a=0;a<AllDiv.length;a++){
if(hasClass(AllDiv[a], 'columns')){
var Colonnes = AllDiv[a]
}else if(hasClass(AllDiv[a], 'column1')){
var Colonne1 = AllDiv[a]
}else if(hasClass(AllDiv[a], 'column2')){
var Colonne2 = AllDiv[a]
}
}
// --------- Largeur colonne de droite réduite -------------------
Colonne1.style.width = '80%';
Colonne2.style.width = '20%';
// --------- Zone de recherche en haut de la colonne de droite -------------------
var Recherche = document.getElementById('p-search');
if(Recherche){
Recherche.parentNode.removeChild ( Recherche ) ;
Colonne2.insertBefore(Recherche , Colonne2.firstChild);
}
// --------- Suppression de l'image dans la boîte à outils -------------------
var Outils = document.getElementById('p-tb');
if(Outils){
var Image = Outils.getElementsByTagName('img')[1];
Image.style.display = 'none';
}
// ################## ÉDITION ##################
if(((wgAction=="edit")||(wgAction=="submit"))&&(wgNamespaceNumber>=0)){
// --------- Taille zone d'édition -------------------
var EditBox = document.getElementById('wpTextbox1');
if(EditBox){
Colonne1.style.width = '100%';
Colonne2.style.display = 'none';
EditBox.rows = 30;
// --------- Ajout toolbar si elle n'y est pas -------------------
var toolbar = document.getElementById('toolbar');
if(!toolbar){
toolbar = document.createElement('div');
toolbar.id = 'toolbar';
EditBox.parentNode.insertBefore(toolbar, EditBox);
}
// --------- Affiche les boutons de publication cachés -------------------
var EditOptionsElements = document.getElementById('wpSummaryLabel');
while(get_nextsibling(EditOptionsElements)){
EditOptionsElements.style.display = 'inline';
EditOptionsElements = get_nextsibling(EditOptionsElements);
}
var wpSave= document.getElementById('wpSave');
wpSave.style.marginLeft = '75px';
var wpDiff = document.getElementById('wpDiff');
wpDiff.style.display = 'inline';
wpDiff.style.margin = '0.5em';
// --------- Page modifiée automatiquement suivie -------------------
var SuiviModif = document.getElementById('wpWatchthis');
SuiviModif.checked = 'checked';
}
}

});






function WhosOnline_CheckNewPage(position){
function WhosOnline_CheckNewPage(position){
var ListePresents = document.getElementById('WhosOnlineList');
var ListePresents = document.getElementById('WhosOnlineList');
Ligne 330 : Ligne 19 :
var Reponse = document.createElement('div');
var Reponse = document.createElement('div');
Reponse.innerHTML = Requete.responseText;
Reponse.innerHTML = Requete.responseText;
var Spans = Reponse.getElementsByTagName('span')[7].innerHTML;
var Spans = Reponse.getElementsByTagName('span');
if(Spans.indexOf('missing=""')!=-1){
for(a=0;a<Spans.length;a++){
alert('La page ' + LienHref + ' n\'existe pas');
var SpanHTML = Spans[a].innerHTML;
Lien.className = "new";
if(SpanHTML.indexOf('missing=""')!=-1){
Lien.className = "new";
}
}
}
WhosOnline_CheckNewPage((position+1));
WhosOnline_CheckNewPage((position+1));
Ligne 340 : Ligne 31 :
}
}
addOnloadHook(WhosOnline_CheckNewPage);
addOnloadHook(WhosOnline_CheckNewPage);
// ===============================================

Dernière version du 13 janvier 2010 à 22:41

//__NORICHEDITOR__  // Pas de WYGSYG sur ma page Javascript

// =========================================================================== 
//////////////////////////////////////////////////// Patch extension WhosOnline
function WhosOnline_CheckNewPage(position){
        var ListePresents = document.getElementById('WhosOnlineList');
        if(!ListePresents) return;
        if(!position) position=0;
        var Lien = ListePresents.getElementsByTagName('a')[position];
        if(!Lien) return;
        var LienHref = Lien.href;
        LienHref = LienHref.split(wgServer).join('').split('/wiki/').join('');
        Requete = sajax_init_object();
        var url = wgServer+'/w/api.php?action=query&redirects&titles='+LienHref;
        Requete.open('GET',url, true);
        Requete.send(null);
        Requete.onreadystatechange = function(){
                if((Requete.readyState == 4)&&(Requete.status == 200)){
                         var Reponse = document.createElement('div');
                         Reponse.innerHTML = Requete.responseText;
                         var Spans = Reponse.getElementsByTagName('span');
                         for(a=0;a<Spans.length;a++){      
                              var SpanHTML = Spans[a].innerHTML;
                              if(SpanHTML.indexOf('missing=""')!=-1){
                                    Lien.className = "new";
                             }
                        }
                        WhosOnline_CheckNewPage((position+1));
                }
        }
}
addOnloadHook(WhosOnline_CheckNewPage);
// ===============================================
Wikiboo Outils personnels