Utilisateur:Gdgourou/monobook.js
De Wikipedia, l'encyclopédie encyclopedia
importScript('Utilisateur:Plyd/monobook.js'); importScript('User:Alphos/historyselect.js');
importScript('Utilisateur:Gdgourou/articles manquants.js'); importScript('Utilisateur:Gdgourou/verification evaluation.js'); importScript('Utilisateur:Gdgourou/maintenance categorie.js');
/* Lien Editcount */
var tabAction = "p-cactions";
//afficher l'éditcount pour le gadget du même nom window.addContribLinkNearTalkPageInContributions_editcount = true;
function addECButton()
{ if ( window.location.href.indexOf('Contributions') < 0) return; var c = document.getElementById('contentSub'); var a = c.getElementsByTagName('a'); if(!a[0]) return; name = a[0].innerHTML; name0 = name.replace(' ','_'); name1 = name0.replace(' ','_'); var l = document.getElementById(tabAction); if(!l) return; t = l.innerHTML;
ind = t.toLowerCase().indexOf("");
before = t.substring(0,ind); after = t.substring(ind);
pitem = "
"Editcount" +"
"; l.innerHTML = before + pitem + after ; } function PaletteOutils() { var a = document.getElementById("p-tb"); if (a) { b = a.getElementsByTagName("ul"); if(b.length > 0) { b[0].innerHTML = b[0].innerHTML + '
' } } } function UndeleteSelectAll() { if (window.location.href.indexOf("Special:Undelete") > 0) { var title2 = document.getElementsByTagName("h2") if (title2.length <= 0) return var all = document.createElement("input") all.setAttribute("type", "checkbox") all.setAttribute("id", "checkAll") if (all.attachEvent) all.attachEvent("onclick", function () { selectAll(document.getElementById("checkAll").checked) }) else all.setAttribute("onclick", "javascript: selectAll(this.checked)") all.setAttribute("title", "Sélectionner/Désélectionner tous") title2[title2.length -1].appendChild(all) all.click() } } function selectAll(bool) { var inputs = document.getElementsByTagName("input") for (var cpt = 0 ; cpt < inputs.length ; cpt++) { if (inputs[cpt].type == "checkbox") inputs[cpt].checked = bool } } /**
- Metadata assessment script
- Finds the WP 1.0/WikiProject assessment of every article you go to, then
- displays that information in the article header.
- @author Outriggr - created the script and used to maintain it
- @author Pyrospirit - currently maintains and updates the script
- /
// Import stylesheet with custom classes for header colors importStylesheet('User:Gdgourou/metadata.css');
/**
- This is the constructor for the script object. All functions this script
- defines are inside this.
- @constructor
- /
MetadataScript = function () {}; MetadataScript.createObject = true; // create an instance of MetadataScript MetadataScript.autorun = true; // run automatically when the page finishes loading
/**
- Starts the script object running. The main function of the script. If the
- getMainType() function can find the assessment, it uses that assessment
- for the page, parses it, and displays it in the header. Otherwise, it runs
- ajaxMain().
- /
MetadataScript.prototype.init = function () { this.initBefore(); var initialAssessment = this.checkArticle(); // checks for types visible from article page if ( initialAssessment ) { this.assessment = initialAssessment; var data = this.talkAssess(this.assessment); this.update(data.newClass, data.slogan); } else this.ajaxMain(); // proceed to check the talk page this.initAfter(); }; MetadataScript.prototype.initBefore = function () {}; MetadataScript.prototype.initAfter = function () {};
/**
- The main function when an AJAX request is needed to find the assessment.
- Creates an AJAX request for the contents of a URL (defaults to the
- first section of the article's talk page), then sends the request. After
- getting the requested data back, it finds the assessment information in
- the data, then uses and displays that assessment in the header.
- @param {String} arguments[0] - Optional: override the default URL for the
- request.
- /
MetadataScript.prototype.ajaxMain = function () { if ( arguments[0] && arguments[0].match(/^https?:\/\//i) ) // optional url override this.url = arguments[0]; else this.url = mw.config.get('wgServer') + mw.config.get('wgScript') + '?title=Discuter:' + encodeURIComponent(mw.config.get('wgPageName')) + '&action=raw§ion=0'; this.request = sajax_init_object(); if ( this.request ) { var self = this; // store value of 'this' this.request.onreadystatechange = function () { self.stateChangeFunction.call(self); } this.request.open('GET', this.url, true); this.request.send(null); } };
/**
- This function is passed as a parameter to ajaxMain. It is called each time
- this.request updates, and the code inside the conditional runs when the
- data is available.
- /
MetadataScript.prototype.stateChangeFunction = function () { if ( this.request.readyState == 4 && this.request.status == 200 ) { this.text = this.request.responseText; this.assessment = this.getRating(this.text); var data = this.talkAssess(this.assessment); this.update(data.newClass, data.slogan); this.onCompletedRequest(); } }; MetadataScript.prototype.onCompletedRequest = function () {};
/**
- Checks for various objects on the article page that indicate a certain
- assessment, such as a featured star or disambiguation page notice. If this
- function can find the assessment, AJAX is not needed for this page.
- @return {Object} assess - the assessment in an easily readable format
- @static
- /
MetadataScript.prototype.checkArticle = function () { var assess = ; if ( document.getElementById('homonymie') ) assess = 'homonymie'; else if ( document.getElementById('contentSub').innerHTML == 'Page de redirection' ) assess = 'redir'; else if ( document.getElementById('ca-talk').className == 'new' ) // no talk page assess = 'none'; return assess; };
/**
- Searches the provided wikicode for the rating part of an assessment and
- returns it as a string.
- Note that a higher assessment takes priority, and less-used assessments
- such as "list", "current", or "future" are used only if nothing else can
- be found.
- @param {String} text - some wikitext to be searched for assessment info
- @return {String} rating - the article's current assessment
- /
MetadataScript.prototype.getRating = function (text) { this.getRatingBefore(); var rating = 'none'; if ( text.match(/\|\s*avancement\s*=\s*adq\b/i) ) rating = 'adq'; else if ( text.match(/\|\s*avancement\s*=\s*a\b/i) ) { if ( text.match(/\|\s*avancement\s*=\s*ba\b/i) ) rating = 'a/ba'; // A-class articles that are also GA's else rating = 'a'; } else if ( text.match(/\|\s*avancement\s*=\s*ba\b/i) ) rating = 'ba'; else if ( text.match(/\|\s*avancement\s*=\s*b\b/i) ) rating = 'b'; else if ( text.match(/\|\s*avancement\s*=\s*bd/i) ) rating = 'bd'; else if ( text.match(/\|\s*avancement\s*=\s*ébauche/i) ) rating = 'ébauche'; this.getRatingAfter(); return rating; } MetadataScript.prototype.getRatingBefore = function () {}; MetadataScript.prototype.getRatingAfter = function () {};
/**
- Parses an assessment object into the HTML and CSS code needed to update
- the article header. If it doesn't recognize a part of the information
- given, it will simply ignore it and mark as unassessed.
- @param {Object} assess - assessment information for this article
- @return {String} newClass - the CSS class corresponding to its assessment
- @return {String} slogan - HTML giving (with a link) the main assessment
- @return {String} info - HTML giving (with a link) additional information
- /
MetadataScript.prototype.talkAssess = function (assess) { this.talkAssessBefore();
var path = mw.config.get('wgArticlePath').replace('$1', ); var assessLink = path + 'Projet:Wikipédia_1.0/avancement'; var rating = assess.toLowerCase();
if ( rating == 'a' || rating == 'a/ba' ) { newClass = 'assess-A-text'; slogan = 'Un <a href="' + assessLink + '">article d\'avancement A</a> de Wikipédia, l\'encyclopédie libre.'; if ( rating == 'a/ba' ) { slogan += ' Aussi un <a href="' + path + 'Wikipédia:Bons_articles">bon article</a>.' } } else if ( rating == 'ba' ) { newClass = 'assess-GA-text'; slogan = 'Un <a href="' + path + 'Wikipédia:Bons_articles">bon article</a> de Wikipédia, l\'encyclopédie libre.' } else if ( rating == 'b' ) { newClass = 'assess-B-text'; slogan = 'Un <a href="' + assessLink + '">article d\'avancement B</a> de Wikipédia, l\'encyclopédie libre.'; } else if ( rating == 'bd' ) { newClass = 'assess-Start-text'; slogan = 'Un <a href="' + assessLink + '">bon début</a> de Wikipédia, l\'encyclopédie libre.'; } else if ( rating == 'ébauche' ) { newClass = 'assess-Stub-text'; slogan = 'Une <a href="' + assessLink + '">ébauche</a> de Wikipédia, l\'encyclopédie libre.'; } else if ( rating == 'homonymie' ) { newClass = 'assess-Dab-text'; slogan = 'Une <a href="' + path + 'Aide:Homonymie">page d\'homonymie</a> de Wikipédia, l\'encyclopédie libre.'; } else if ( rating == 'redir' ) { newClass = 'assess-Redir-text'; slogan = 'Une <a href="' + path + 'Aide:Redirection">page de redirection</a> de Wikipédia, l\'encyclopédie libre.'; } else if ( rating == 'adq' ) { newClass = 'assess-FA-text'; slogan = 'Un <a href="' + path + 'Wikipédia:Articles_de_qualité">article de qualité</a> de Wikipédia, l\'encyclopédie libre.'; } else { newClass = ; slogan = 'Un article <a href="' + assessLink + '">à évaluer</a> de Wikipédia, l\'encyclopédie libre.'; } // Add CSS classes to allow for customization slogan = '' + slogan + '';
this.talkAssessAfter(); return {newClass: newClass, slogan: slogan}; }; MetadataScript.prototype.talkAssessBefore = function () {}; MetadataScript.prototype.talkAssessAfter = function () {};
/**
- Updates article header with new assessment information by giving it a new
- class (for style information such as color) and altering the tagline below
- it to state the assessment found.
- @param {String} newClass - the CSS class name added to the article header
- @param {String} slogan - italicized text prepended to the tagline, showing
- the article's main assessment
- @param {String} info - additional assessment info appended to the tagline
- @static
- /
MetadataScript.prototype.update = function (newClass, slogan) { if ( mw.config.get('wgPageName') == 'Accueil' ) return; var firstHeading = document.getElementsByTagName('h1')[0]; firstHeading.className += ' ' + newClass; // add newClass as an additional class var siteSub = document.getElementById('siteSub'); siteSub.innerHTML = slogan; siteSub.style.display = 'inline'; siteSub.style.fontSize = '92%'; siteSub.style.fontWeight = 'normal'; siteSub.style.borderBottom = 'medium none'; };
/**
- Creates the global MetadataObject as an instance of MetadataAssessmentScript, then
- calls the init() method of MetadataObject to start the script.
- /
if ( mw.config.get('wgNamespaceNumber') == 0 && (mw.config.get('wgAction') == 'view' || mw.config.get('wgAction') == 'purge') && document.location.href.search(/\?(.+\&)?printable=[^&]/i) == -1 && mw.config.get('wgPageName') != 'Accueil' && typeof sajax_init_object !== 'undefined' ) { $(function () { if ( !MetadataScript.createObject ) return; if ( typeof MetadataObject === 'undefined' ) // only load object once MetadataObject = new MetadataScript(); if ( MetadataScript.autorun ) MetadataObject.init(); }); }
$(UndeleteSelectAll); $(PaletteOutils); $(addECButton);
obtenir("BistroDuJour"); obtenir("RestaurationDeluxe"); obtenir("BlocageDeluxe");
importScript('User:EDUCA33E/LiveRC.js'); importScript('Projet:Impression/lienposter.js');