_ _    _ _____  ___   __                       
 __      _(_) | _(_)___ / ( _ ) / /_   ___ ___  _ __ ___  
 \ \ /\ / / | |/ / | |_ \ / _ \| '_ \ / __/ _ \| '_ ` _ \ 
  \ V  V /| |   <| |___) | (_) | (_) | (_| (_) | | | | | |
   \_/\_/ |_|_|\_\_|____/ \___/ \___(_)___\___/|_| |_| |_|

Utilisateur:Od1n/EtatsFiltres.js

Dans le monde d'aujourd'hui, Utilisateur:Od1n/EtatsFiltres.js est devenu un sujet d'une grande pertinence et d'un grand intérêt pour un large éventail de personnes et d'organisations. Que ce soit en raison de son impact sur la société, de sa pertinence historique ou de son influence sur la vie quotidienne, Utilisateur:Od1n/EtatsFiltres.js a retenu l'attention des experts et des curieux. Dans cet article, nous explorerons les différentes facettes de Utilisateur:Od1n/EtatsFiltres.js, de ses origines à son évolution aujourd'hui, en analysant son influence dans divers domaines et en réfléchissant à son importance pour le futur. Utilisateur:Od1n/EtatsFiltres.js est un sujet fascinant qui nous invite à réfléchir et à remettre en question nos perceptions, et nous sommes ravis d'approfondir son étude dans les pages qui suivent.
/*
 * Script pour aider à mettre à jour ]
 */

/* globals Promise, mw, $ */

mw.loader.using('mediawiki.api', function () {
    mw.hook('wikipage.content').add(function ($content) {
        'use strict';

        function getFilters() {
            return new Promise(function (resolve, reject) {
                var filters = ;
                var userGroups = mw.config.get('wgUserGroups');
                var apiLimit = userGroups.includes('sysop') || userGroups.includes('bot') ? 5000 : 500;
                function makeRequest(apiContinue) {
                    var params = {
                        action: 'query',
                        list: 'abusefilters',
                        abfprop: ,
                        abflimit: apiLimit,
                    };
                    if (apiContinue) {
                        Object.assign(params, apiContinue);
                    }
                    new mw.Api().get(params).done(function (data) {
                        if (!data.query) {
                            reject();
                        }
                        filters = filters.concat(data.query.abusefilters);
                        if (data) {
                            makeRequest(data);
                        } else {
                            resolve(filters);
                        }
                    });
                }
                makeRequest();
            });
        }

        getFilters().then(function (filters) {
            var etats = {};

            filters.forEach(function (filter) {
                if (filter.enabled !== undefined) {
                    etats = '<span style="color:green">(activé)</span>';
                } else if (filter.deleted !== undefined) {
                    etats = '<span style="color:red">(supprimé)</span>';
                } else {
                    etats = '<span style="color:orange">(désactivé)</span>';
                }
            });

            $content.find('.mw-parser-output').find('a').each(function (_, link) {
                // on traite les liens vers ]
                var match = (link.title || '').match(/^Spécial:Filtre antiabus\/(\d+)$/);
                if (!match) {
                    return;
                }
                var filterId = match;

                // on limite aux liens dont le texte est un nombre (non formaté, ou formaté)
                if (!/^(\d+|\d{1,3}(\xA0\d{3})*)$/.test(link.textContent)) {
                    return;
                }

                var etat = etats || '???';

                link.insertAdjacentHTML('afterend', '\xA0' + etat);
            });
        });

    });
});