Utilisateur:ALDO CP/xpatrolmod.js
Apparence
Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;
Firefox (sur GNU/Linux) / Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5./*
* xpatrolmod : test de modification de xpatrol
* (C) 2009-2018 Arkanosis <jroquet@arkanosis.net>
* (C) 2013 Orlodrim <orlodrim@wiki256.net>
* (C) 2016-2018 Od1n
* (C) 2016-2019 ALDO_CP
* Released under the MIT/X11 license
*/
/* global alert, $, mw, window */
/* jshint laxbreak: true */
// <nowiki>
mw.loader.using( [ 'mediawiki.util', 'user' ], function () {
'use strict';
var xpatrolEnableClear = typeof window.xpatrolEnableClear !== 'undefined' ? window.xpatrolEnableClear : false;
var xpatrolEnableBanner = typeof window.xpatrolEnableBanner !== 'undefined' ? window.xpatrolEnableBanner : false;
var xpatrolEnablePurge = typeof window.xpatrolEnablePurge !== 'undefined' ? window.xpatrolEnablePurge : false;
var xpatrolEnableWarn = typeof window.xpatrolEnableWarn !== 'undefined' ? window.xpatrolEnableWarn : false;
var xpatrolWatchMain = typeof window.xpatrolWatchMain !== 'undefined' ? window.xpatrolWatchMain : false;
var xpatrolWatchOthers = typeof window.xpatrolWatchOthers !== 'undefined' ? window.xpatrolWatchOthers : false;
var xpatrolSignatureRegistered = typeof window.xpatrolSignatureRegistered !== 'undefined' ? window.xpatrolSignatureRegistered : '~~~~';
var xpatrolSignatureAnonymous = typeof window.xpatrolSignatureAnonymous !== 'undefined' ? window.xpatrolSignatureAnonymous : '~~~~';
var xpatrolDate = typeof window.xpatrolDate !== 'undefined' ? window.xpatrolDate : '~~~~~';
var xpatrolCopyvioWarningTemplate = typeof window.xpatrolCopyvioWarningTemplate !== 'undefined' ? window.xpatrolCopyvioWarningTemplate : 'Bienvenue Copyvio 1';
var xpatrolEmptyNewPagesNextState = 0;
var xpatrolNonEmptyNewPagesNextState = 0;
var xpatrolAbusedPagesNextState = 0;
var xpatrolToggleTexts = [ 'afficher', 'masquer' ];
var xpatrolStates = [ 'none', 'list-item' ];
var xpatrolNonExistingPage = new RegExp( 'sur <a href="/w/index\\.php\\?title=[^"]+redlink=1"' );
var xpatrolROTV = 'Wikipédia:Respect de l\'obligation de transparence à vérifier/En cours';
function xpatrolToggleEmptyNewPages() {
var lis = document.getElementById( 'bodyContent' ).getElementsByTagName( 'li' );
for ( var liId = 0; liId < lis.length; ++liId ) {
if ( lis[ liId ].innerHTML.indexOf( '[0 octet]' ) !== -1 ) {
lis[ liId ].style.display = xpatrolStates[ xpatrolEmptyNewPagesNextState ];
}
}
document.getElementById( 'xpatrol-ToggleEmptyNewPages' ).innerHTML = xpatrolToggleTexts[ xpatrolEmptyNewPagesNextState ];
xpatrolEmptyNewPagesNextState = !xpatrolEmptyNewPagesNextState + 0;
}
function xpatrolToggleNonEmptyNewPages() {
var lis = document.getElementById( 'bodyContent' ).getElementsByTagName( 'li' );
for ( var liId = 0; liId < lis.length; ++liId ) {
if ( lis[ liId ].innerHTML.indexOf( '[0 octet]' ) === -1 ) {
lis[ liId ].style.display = xpatrolStates[ xpatrolNonEmptyNewPagesNextState ];
}
}
document.getElementById( 'xpatrol-ToggleNonEmptyNewPages' ).innerHTML = xpatrolToggleTexts[ xpatrolNonEmptyNewPagesNextState ];
xpatrolNonEmptyNewPagesNextState = !xpatrolNonEmptyNewPagesNextState + 0;
}
function xpatrolToggleAbusedPages() {
var lis = document.getElementsByTagName( 'li' );
for ( var liId = 0; liId < lis.length; ++liId ) {
if ( xpatrolNonExistingPage.exec( lis[ liId ].innerHTML ) ) {
lis[ liId ].style.display = xpatrolStates[ xpatrolAbusedPagesNextState ];
}
}
document.getElementById( 'xpatrol-ToggleAbusedPages' ).innerHTML = xpatrolToggleTexts[ xpatrolAbusedPagesNextState ];
xpatrolAbusedPagesNextState = !xpatrolAbusedPagesNextState + 0;
document.getElementById( 'xpatrolHideDeleted' ).value = xpatrolAbusedPagesNextState;
}
function xpatrolReload( callback ) {
$.get( mw.util.getUrl( null, { action: 'render' } ) ).done( function ( html ) {
$( '#mw-content-text' ).html( html );
if ( callback ) {
callback();
}
} ).error( function () {
$( '#mw-content-text' ).text( 'Impossible de recharger la page' );
if ( callback ) {
callback();
}
} );
}
function xpatrolEdit( article, mode, text, section, reason, button, callback ) {
function afterReload() {
if ( button ) {
var link = document.getElementById( button );
link.innerHTML = '<img src="/media/wikipedia/commons/thumb/f/fb/Yes_check.svg/15px-Yes_check.svg.png"> ' + link.innerHTML;
}
if ( callback ) {
callback();
}
}
function afterEdit( data ) {
if ( article == mw.config.get( 'wgPageName' ) ) {
if ( !text ) {
$( '#mw-content-text' ).remove();
}
else {
xpatrolReload( afterReload );
return;
}
}
afterReload();
}
function onFailure() {
alert( 'Impossible d\'enregistrer la page ' + article );
}
var data = {
format: 'json',
title: article,
token: mw.user.tokens.get( 'csrfToken' ),
summary: section + '[[Discussion_utilisateur:Arkanosis/xpatrol.js|xpatrol]] : ' + reason
};
data[ mode ] = text;
if ( xpatrolWatchOthers || xpatrolWatchMain && !mw.config.get( 'wgNamespaceNumber' ) ) {
data.watchlist = 'watch';
}
if ( !data.token || data.token.length <= 2 ) {
alert( 'Vous n\'êtes plus connecté' );
} else {
$.post( mw.util.wikiScript( 'api' ) + '?action=edit', data, afterEdit ).error( onFailure );
}
}
function xpatrolClear( article, reason, button ) {
if ( confirm( 'Blanchir l\'article ' + article + ' pour ' + reason + ' ?' ) ) {
xpatrolEdit( article, 'text', '', '', reason, button );
}
}
function xpatrolAddBanner( article, banner, reason, button ) {
if ( confirm( 'Ajouter le bandeau ' + banner + ' à l\'article ' + article + ' pour ' + reason + ' ?' ) ) {
xpatrolEdit( article, 'prependtext', '{{' + banner + '}}\n\n', '', reason, button );
}
}
function xpatrolWarnPurge() {
var url = document.getElementById( 'xpatrolPurgeUrl' ).value;
var warning = document.getElementById( 'xpatrolPurgeWarning' );
if ( !url ) {
warning.style.color = 'red';
warning.innerHTML = 'Préciser l\'adresse de la source copiée';
return;
}
warning.innerHTML = '';
var history = document.getElementById( 'pagehistory' );
var lis = history.getElementsByTagName( 'li' );
var firstRevisionToPurge = 0;
var lastRevisionToPurge = 0;
for ( var liId = 0; liId < lis.length; ++liId ) {
var inputs = lis[ liId ].getElementsByTagName( 'input' );
if ( inputs.length > 1 && inputs[ 1 ].checked ) {
lastRevisionToPurge = liId;
break;
}
}
var revisionsToPurge = 0;
for ( var liId = lastRevisionToPurge + 1; liId < lis.length; ++liId ) {
++revisionsToPurge;
if ( lis[ liId ].getElementsByTagName( 'input' )[ 0 ].checked ) {
firstRevisionToPurge = liId;
break;
}
}
function convertRevision( elmRevision ) {
function erreur( type ) {
var dump = Object.keys( rev ).map( function ( key ) {
return key + ' : ' + rev[ key ];
} ).join( '\n' );
alert( 'Bravo vous avez trouvé un bug dans xpatrol !\n'
+ 'Merci de bien vouloir poster les informations suivantes sur [[Discussion utilisateur:Arkanosis]] :\n\n'
+ window.location + '\n\n'
+ type + '\n\n'
+ '<' + 'nowiki>' + $revision.html() + '<' + '/nowiki>\n\n'
+ '<' + 'nowiki>\n' + dump + '\n<' + '/nowiki>' );
throw 'convertRevisionException';
}
var $revision = $( elmRevision );
var rev = {};
rev.page = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
var $histlinks = $revision.find( '.mw-history-histlinks' ).find( 'a' );
if ( $histlinks.length === 2 ) {
// lien "diff"
var match = $histlinks[ 1 ].href.match( /&oldid=(\d+)$/ );
if ( !match ) {
erreur( 'histlinks-oldid' );
}
rev.parentid = match[ 1 ];
} else if ( $histlinks.length === 1 ) {
// première version
rev.parentid = 0;
} else {
erreur( 'histlinks' );
}
rev.revid = $revision.data( 'mwRevid' );
if ( !rev.revid ) {
erreur( 'revid' );
}
var $date = $revision.find( '.mw-changeslist-date' );
if ( $date.length !== 1 ) {
erreur( 'date' );
}
rev.date = $date.text();
rev.isMinor = ( $revision.find( '.minoredit' ).length > 0 );
var $diffsize = $revision.find( '.mw-diff-bytes:not(.history-size)' );
if ( $diffsize.length !== 1 ) {
erreur( 'diffsize' );
}
rev.diffsize = $diffsize.text().replace( /\s/g, '' );
var $userlink = $revision.find( '.mw-userlink' );
if ( $userlink.length !== 1 ) {
erreur( 'userlink' );
}
rev.isIP = $userlink.hasClass( 'mw-anonuserlink' );
rev.username = $userlink.text();
var $autocomment = $revision.find( '.autocomment' );
if ( $autocomment.length ) {
rev.autocomment = $autocomment.text()
.replace( /^→/, '' )
.replace( /\s: $/, '' )
.replace( /[[\]{}|='<>]+|_{2,}/g, '<' + 'nowiki>$&<' + '/nowiki>' );
} else {
rev.autocomment = '';
}
var $comment = $revision.find( '.comment' );
if ( $comment.length ) {
var $clone = $comment.clone();
$clone.find( '.autocomment' ).remove();
rev.comment = $clone.text()
.trim()
.replace( /[[\]{}|='<>]+|_{2,}/g, '<' + 'nowiki>$&<' + '/nowiki>' );
} else {
rev.comment = '';
}
return '{{Révision'
+ '|' + rev.page
+ '|' + rev.parentid
+ '|' + rev.revid
+ '|' + rev.date
+ '|' + ( rev.isMinor ? 'm' : '' )
+ '|' + rev.diffsize
+ '|' + ( rev.isIP ? 'ip' : 'u' ) + '=' + rev.username
+ ( rev.autocomment ? '|auto=' + rev.autocomment : '' )
+ ( rev.comment ? '|commentaire=' + rev.comment : '' )
+ '}}';
}
try {
var firstRevisionToPurgeText = convertRevision( lis[ firstRevisionToPurge ] );
var lastRevisionToPurgeText = convertRevision( lis[ lastRevisionToPurge ] );
} catch ( e ) {
return;
}
var pageName = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
var warningMessage = '{{subst' + ':' + xpatrolCopyvioWarningTemplate + '|' + pageName + '|2=' + url + '}}' + xpatrolSignatureAnonymous;
var editor = /\|(u=|ip=)(.+?)[\|\}]/.exec( firstRevisionToPurgeText )[ 2 ];
xpatrolEdit( 'Discussion utilisateur:' + editor, 'appendtext', '\n' + warningMessage, '/* ' + pageName + '*/', 'violation de droits d\'auteur sur « [[' + pageName + ']] »', 0, function() {
warning.style.color = 'green';
warning.innerHTML += 'Contributeur « ' + editor + ' » <a href="/wiki/Discussion utilisateur:' + editor + '" title="Page de discussion du contributeur">averti</a>';
} );
}
function xpatrolWarnRem() {
var warning2 = document.getElementById( 'xpatrolRemWarning' );
warning2.innerHTML = '';
var history2 = document.getElementById( 'pagehistory' );
var lis2 = history.getElementsByTagName( 'li' );
var firstRevisionToPurge2 = 0;
var lastRevisionToPurge2 = 0;
for ( var liId2 = 0; liId2 < lis2.length; ++liId2 ) {
var inputs2 = lis2[liId2].getElementsByTagName( 'input' );
if ( inputs2.length > 1 && inputs2[1].checked ) {
lastRevisionToPurge2 = liId2;
break;
}
}
var revisionsToPurge2 = 0;
for ( var liId2 = lastRevisionToPurge2 + 1; liId2 < lis2.length; ++liId2 ) {
revisionsToPurge2.push( lis2[liId2].innerHTML );
if ( lis2[liId2].getElementsByTagName( 'input' )[0].checked ) {
firstRevisionToPurge2 = liId2;
break;
}
}
function convertRevision2( elmRevision2 ) {
function erreur2( type ) {
var dump2 = Object.keys( rev ).map( function ( key ) {
return key + ' : ' + rev2[ key ];
} ).join( '\n' );
alert( 'Bravo vous avez trouvé un bug dans xpatrol !\n'
+ 'Merci de bien vouloir poster les informations suivantes sur [[Discussion utilisateur:Arkanosis]] :\n\n'
+ window.location + '\n\n'
+ type + '\n\n'
+ '<' + 'nowiki>' + $revision2.html() + '<' + '/nowiki>\n\n'
+ '<' + 'nowiki>\n' + dump2 + '\n<' + '/nowiki>' );
throw 'convertRevision2Exception';
}
var $revision2 = $( elmRevision2 );
var rev2 = {};
rev2.page = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
var $histlinks2 = $revision2.find( '.mw-history-histlinks' ).find( 'a' );
if ( $histlinks2.length === 2 ) {
// lien "diff"
var match2 = $histlinks2[ 1 ].href.match( /&oldid=(\d+)$/ );
if ( !match2 ) {
erreur( 'histlinks-oldid' );
}
rev2.parentid = match2[ 1 ];
} else if ( $histlinks2.length === 1 ) {
// première version
rev2.parentid = 0;
} else {
erreur( 'histlinks' );
}
rev2.revid = $revision2.data( 'mwRevid' );
if ( !rev2.revid ) {
erreur( 'revid' );
}
var $date2 = $revision2.find( '.mw-changeslist-date' );
if ( $date2.length !== 1 ) {
erreur( 'date' );
}
rev2.date = $date2.text();
rev2.isMinor = ( $revision2.find( '.minoredit' ).length > 0 );
var $diffsize2 = $revision2.find( '.mw-diff-bytes:not(.history-size)' );
if ( $diffsize2.length !== 1 ) {
erreur( 'diffsize' );
}
rev2.diffsize = $diffsize2.text().replace( /\s/g, '' );
var $userlink2 = $revision2.find( '.mw-userlink' );
if ( $userlink2.length !== 1 ) {
erreur( 'userlink' );
}
rev2.isIP = $userlink2.hasClass( 'mw-anonuserlink' );
rev2.username = $userlink2.text();
var $autocomment2 = $revision2.find( '.autocomment' );
if ( $autocomment2.length ) {
rev2.autocomment = $autocomment2.text()
.replace( /^→/, '' )
.replace( /\s: $/, '' )
.replace( /[[\]{}|='<>]+|_{2,}/g, '<' + 'nowiki>$&<' + '/nowiki>' );
} else {
rev2.autocomment = '';
}
var $comment2 = $revision2.find( '.comment' );
if ( $comment2.length ) {
var $clone2 = $comment2.clone();
$clone2.find( '.autocomment' ).remove();
rev2.comment = $clone2.text()
.trim()
.replace( /[[\]{}|='<>]+|_{2,}/g, '<' + 'nowiki>$&<' + '/nowiki>' );
} else {
rev2.comment = '';
}
return '{{Révision'
+ '|' + rev2.page
+ '|' + rev2.parentid
+ '|' + rev2.revid
+ '|' + rev2.date
+ '|' + ( rev2.isMinor ? 'm' : '' )
+ '|' + rev2.diffsize
+ '|' + ( rev2.isIP ? 'ip' : 'u' ) + '=' + rev2.username
+ ( rev2.autocomment ? '|auto=' + rev2.autocomment : '' )
+ ( rev2.comment ? '|commentaire=' + rev2.comment : '' )
+ '}}';
}
try {
var firstRevisionToPurge2Text = convertRevision2( lis2[ firstRevisionToPurge2 ] );
var lastRevisionToPurge2Text = convertRevision2( lis2[ lastRevisionToPurge2 ] );
} catch ( e ) {
return;
}
var pageName2 = mw.config.get( 'wgPageName' ).replace( /_/g, ' ' );
var today2 = new Date();
var date2 = today2.getDate() + ' ' + month( today2.getMonth() ) + ' ' + ( 1900 + today2.getYear() );
var warningMessage2 = '{{subst' + ':' + 'Contributions rémunérées|' + pageName2 + '}}' + xpatrolSignatureAnonymous;
var editor2 = /\|(u=|ip=)(.+?)[\|\}]/.exec( firstRevisionToPurge2Text )[2];
var text2 = '{{subst:Wikipédia:Respect de l\'obligation de transparence à vérifier/Constat'
+ '\n|Nom de l\'utilisateur soupçonné de ne pas respecter l\'obligation de transparence=' + editor2
+ '\n|Page sur laquelle l\'utilisateur intervient=' + pageName2
+ '\n|Date du premier avertissement=' + date2
+ '\n|Date du second avertissement='
+ '\n|Date du troisième avertissement='
+ '\n}}';
xpatrolEdit( 'Discussion utilisateur:' + editor2, 'appendtext', '\n' + warningMessage2, '/* ' + pageName2 + '*/', 'Obligation de transparence concernant « [[' + pageName2 + ']] »', 0, function() {
warning2.style.color = 'red';
warning2.innerHTML = 'Contributeur « ' + editor2 + ' » <a href="/wiki/Discussion utilisateur:' + editor2 + '" title="Page de discussion du contributeur">averti de l\'obligation de transparence</a>';
} );
xpatrolEdit( xpatrolROTV, 'appendtext', '\n' + text2, '/* Signalement : ' + editor2 + ' */', 'Obligation de transparence', 0, function() {
warning2.style.color = 'green';
warning2.innerHTML += 'Purge <a href="' + mw.util.getUrl( xpatrolROTV ) + '" title="Constat déposé</a> avec succès';
} );
}
function xpatrolAddHistoryLinks() {
var purge = '<input type="submit" value="Avertir le contributeur" id="xpatrol-WarnPurge" class="historysubmit" accesskey="p" title="Avertir le contributeur du copyvio">'
+ ' '
+ '<label for="xpatrolPurgeUrl">Source copiée</label>'
+ ' : '
+ '<input type="text" id="xpatrolPurgeUrl">'
+ '<strong id="xpatrolPurgeWarning"></strong>';
$( '#mw-history-compare > div' ).first().append( purge );
var ask = document.getElementById( 'xpatrol-WarnPurge' );
if ( ask ) {
ask.onclick = function ( e ) {
e.preventDefault();
xpatrolWarnPurge();
};
}
}
function xpatrolAddHistoryLinks2() {
var warn = '<input type="submit" value="Obligation de transparence" id="xpatrol-WarnRem" class="historysubmit" accesskey="p" title="Obligation de transparence">'
+ ' '
+ '<strong id="xpatrolRemWarning"></strong>';
$( '#mw-history-compare > div' ).first().append( warn );
var ask2 = document.getElementById( 'xpatrol-WarnRem' );
if ( ask2 ) {
ask2.onclick = function ( e ) {
e.preventDefault();
xpatrolWarnRem();
};
}
}
function xpatrolAddNewPagesLinks() {
$( '.mw-htmlform' ).each( function () {
this.innerHTML = this.innerHTML.replace( '</a> les redirections', '</a> les redirections | <a id="xpatrol-ToggleEmptyNewPages" href="javascript:" title="Spécial:Nouvelles pages">masquer</a> les pages blanchies | <a id="xpatrol-ToggleNonEmptyNewPages" href="javascript:" title="Spécial:Nouvelles pages">masquer</a> les pages non blanchies' );
} );
var toggleEmpty = document.getElementById( 'xpatrol-ToggleEmptyNewPages' );
if ( toggleEmpty ) {
toggleEmpty.onclick = function ( e ) {
e.preventDefault();
xpatrolToggleEmptyNewPages();
};
}
var toggleNonEmpty = document.getElementById( 'xpatrol-ToggleNonEmptyNewPages' );
if ( toggleNonEmpty ) {
toggleNonEmpty.onclick = function ( e ) {
e.preventDefault();
xpatrolToggleNonEmptyNewPages();
};
}
}
function xpatrolAddClearLink( label, hint, message, messageQuestion ) {
var body = document.getElementById( 'bodyContent' );
var link = document.createElement( 'a' );
link.href = 'javascript:';
link.onclick = function ( e ) {
e.preventDefault();
if ( messageQuestion ) {
var input = prompt( messageQuestion );
if ( input === null ) {
return;
}
message = message.replace( '__PROMPT__', function () { return input; } );
}
xpatrolClear( mw.config.get( 'wgPageName' ), message, 'xpatrol-' + label );
};
link.id = 'xpatrol-' + label;
link.title = hint;
link.appendChild( document.createTextNode( ' ' + label + ' ' ) );
document.getElementById( 'content' ).insertBefore( link, body );
}
function xpatrolAddClearLinks() {
xpatrolAddClearLink( 'BàS', 'Bac à sable', '[[Wikipédia:Bac à sable|Bac à sable]]' );
xpatrolAddClearLink( 'Redir', 'Redirection cassée, inutile ou non pertinente', 'Redirection cassée, inutile ou non pertinente' );
xpatrolAddClearLink( 'PeF', 'Pas en français', 'Article intégralement rédigé dans une langue autre que le français' );
xpatrolAddClearLink( 'HC', 'Hors critères d\'admissibilité des articles', '[[WP:CAA|Critères d\'admissibilité non atteints]]' );
xpatrolAddClearLink( 'NEEE', 'Non encyclopédique en l\'état', 'Non encyclopédique en l\'état' );
xpatrolAddClearLink( 'Promo', 'Contenu à caractère promotionnel', 'Contenu à caractère promotionnel' );
xpatrolAddClearLink( 'Spam', 'Spam et / ou liens externes non appropriés', 'Spam' );
xpatrolAddClearLink( 'Diffm', 'Diffamation', 'Diffamation' );
xpatrolAddClearLink( 'Copie', 'Copie d\'un article existant de Wikipédia', 'Copie de l\'article [[__PROMPT__]]', 'Quel est l\'article de Wikipédia copié ?' );
xpatrolAddClearLink( 'Cpvio', 'Violation de droit d\'auteur', 'Violation de [[Wikipédia:Droit d\'auteur|droit d\'auteur]] (__PROMPT__)', 'Quelle est la source copiée illégalement ?' );
xpatrolAddClearLink( 'BL', 'Blanchiment', 'Blanchiment' );
}
function xpatrolAddBannerLink( label, hint, banner, message, bannerQuestion ) {
var body = document.getElementById( 'bodyContent' );
var link = document.createElement( 'a' );
link.href = 'javascript:';
link.onclick = function ( e ) {
e.preventDefault();
if ( bannerQuestion ) {
var input = prompt( bannerQuestion );
if ( input === null ) {
return;
}
banner = banner.replace( '__PROMPT__', function () { return input; } );
}
xpatrolAddBanner( mw.config.get( 'wgPageName' ), banner, message, 'xpatrol-' + label );
};
link.id = 'xpatrol-' + label;
link.title = hint;
link.appendChild( document.createTextNode( ' ' + label + ' ' ) );
document.getElementById( 'content' ).insertBefore( link, body );
}
function xpatrolAddBannerLinks() {
var today = new Date();
var month = [ 'janvier', 'février', 'mars', 'avril', 'mai', 'juin', 'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre' ][ today.getMonth() ];
var date = '|date=' + month + ' ' + today.getFullYear();
if ( xpatrolEnableClear ) {
document.getElementById( 'content' ).insertBefore( document.createTextNode( ' — ' ), document.getElementById( 'bodyContent' ) );
}
xpatrolAddBannerLink( 'CPub', 'Habergement', 'subst:Compte publicitaire', 'Hébergement' );
xpatrolAddBannerLink( '?', 'Incompréhensible dans l’état actuel', '?' + date, '[[WP:RI|Incompréhensible dans l\’état actuel]]' );
xpatrolAddBannerLink( 'Pub', 'Ton trop promotionnel ou publicitaire', 'pub' + date, '[[WP:POV|Ton trop promotionnel ou publicitaire]]' );
xpatrolAddBannerLink( 'CdV', 'Catalogue de vente', 'CdV' + date, '[[WP:POV|Ton trop promotionnel ou publicitaire]]' );
xpatrolAddBannerLink( 'Hag', 'Ton trop élogieux', 'hagiographie' + date, '[[WP:POV|Ton trop élogieux]]' );
xpatrolAddBannerLink( 'Admi', 'Admissibilité à vérifier', 'admissibilité' + date, '[[WP:CAA|Admissibilité à vérifier]]' );
xpatrolAddBannerLink( 'Admi+', 'Admissibilité à vérifier (avec motif)', 'admissibilité' + date + '|motif=__PROMPT__', '[[WP:CAA|Admissibilité à vérifier]]', 'Pourquoi n\'êtes-vous pas convaincu de l\'admissibilité de cet article ?' );
xpatrolAddBannerLink( 'Orth', 'Orthographe et grammaire à vérifier', 'Orthographe' + date, 'Orthographe et grammaire à vérifier' );
xpatrolAddBannerLink( 'Redac', 'Style non encyclopédique', 'Rédaction' + date, '[[WP:STYLE|Style non encyclopédique]]' );
xpatrolAddBannerLink( 'Wikif', 'À wikifier', 'À wikifier' + date, '[[Aide:Wikification|À wikifier]]' );
xpatrolAddBannerLink( 'RI', 'Résumé introductif à revoir', 'intro', 'Résumé introductif à revoir' );
xpatrolAddBannerLink( 'MàJ', 'À mettre à jour', 'À mettre à jour' + date, 'À mettre à jour' );
xpatrolAddBannerLink( 'Int', 'À internationaliser', 'À internationaliser' + date, 'À internationaliser' );
xpatrolAddBannerLink( 'Src', 'À sourcer', 'À sourcer' + date, '[[WP:REF|À sourcer]]' );
xpatrolAddBannerLink( 'Src2', 'Manque de sources secondaires', 'Sources secondaires' + date, '[[WP:SPS|Manque de sources secondaires]]' );
xpatrolAddBannerLink( 'Src3', 'Sources à lier', 'Sources à lier' + date, '[[Modèle:Sources_à_lier/Explication|Sources à lier]]' );
xpatrolAddBannerLink( 'Src4', 'Sans source', 'Sans source' + date, '[[WP:REF|Sans source]]' );
xpatrolAddBannerLink( 'TLE', 'Trop de liens', 'Trop de liens' + date, '[[WP:LE|Trop de liens]]' );
xpatrolAddBannerLink( 'Typ', 'Typo incorrecte', 'typographie' + date, '[[WP:TYPO|Typo à revoir]]' );
xpatrolAddBannerLink( 'Tra', 'Traduction à revoir', 'traduction à revoir' + date, 'Traduction à revoir' );
xpatrolAddBannerLink( 'TI', 'Travail inédit', 'Travail inédit' + date, '[[WP:TI|Travail inédit]]' );
xpatrolAddBannerLink( 'CpVer', 'Soupçon de violation de droit d\'auteur', 'Copie à vérifier|" + prompt("Quelle est la source copiée illégalement ?", "") + "' + date, 'Soupçon de violation de [[Wikipédia:Droit d\'auteur|droit d\'auteur]]' );
xpatrolAddBannerLink( 'PàS', 'Proposition de suppression', 'Suppression' + date, '[[WP:PàS|Proposition de suppression]]' );
xpatrolAddBannerLink( 'R3R', 'Guerre d\'édition', 'R3R' + date, '[[WP:R3R|Règle des trois révocations]]' );
xpatrolAddBannerLink( 'Img', 'Trop d’images', 'Trop d\'images' + date, 'Trop d\'images' );
xpatrolAddBannerLink( 'Cit', 'Trop de citations', 'Trop de citations' + date, 'Trop de citations' );
xpatrolAddBannerLink( 'BPV', 'BPV à sourcer', 'BPV à sourcer' + date, 'BPV à sourcer' );
xpatrolAddBannerLink( 'ITA', 'Titre en italique', 'Titre en italique', 'Titre en italique' );
xpatrolAddBannerLink( 'ITA2', 'Titre en italique', 'Titre en italique|__PROMPT__', 'Titre en italique', 'Titre en italique' );
xpatrolAddBannerLink( 'MIN', 'minuscule', 'minuscule', 'minuscule' );
xpatrolAddBannerLink( 'TMEF', 'Titre mis en forme', 'Titre mis en forme|__PROMPT__', 'Titre mis en forme', 'Titre mis en forme' );
xpatrolAddBannerLink( 'Orp', 'Orphelin', 'Orphelin' + date, 'Article orphelin' );
xpatrolAddBannerLink( 'Vér', 'Vérifiabilité', 'Vérifiabilité' + date, 'Non vérifiable' );
xpatrolAddBannerLink( 'RIP', 'Mort récente', 'Mort récente' + date, 'Mort récente' );
xpatrolAddBannerLink( 'CBI', 'CBI', 'CBI|heure=' + xpatrolDate + '|' + '" + prompt("Motif de blocage", "") + "', 'Blocage indéfini' );
}
function xpatrolAddAbuseFilterLinks() {
var link = new RegExp( '(sur <a href="/wiki/([^"]+)" title="[^"]+">[^<]+</a>)(\.\nActions entreprises)' );
if ( mw.util.getParamValue( 'details' ) ) {
var lis = document.getElementsByTagName( 'p' );
} else {
var lis = document.getElementsByTagName( 'li' );
}
for ( var liId = 0; liId < lis.length; ++liId ) {
var match = link.exec( lis[liId].innerHTML );
if ( match ) {
lis[liId].innerHTML = lis[liId].innerHTML.replace( match[0], match[1] + ' (<a href="' + mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) + '?title=' + match[2] + '&action=history" title="historique">h</a> · <a href="' + mw.config.get( 'wgServer' ) + mw.config.get( 'wgScript' ) + '?title=Spécial:Log&page=' + match[2] + '" title="journaux">j</a>)' + match[3] );
}
}
var fieldSet = document.getElementsByTagName( 'fieldset' )[0];
// TODO : n'est plus fonctionnel depuis le passage à OOUI
fieldSet.innerHTML = fieldSet.innerHTML.replace( '</td></tr></tbody>', '</td></tr><tr><td></td><td class="mw-input"><a id="xpatrol-ToggleAbusedPages" href="javascript:" title="Journal des filtrages">masquer</a> les pages supprimées</td></tr></tbody>' );
var toggle = document.getElementById( 'xpatrol-ToggleAbusedPages' );
if ( toggle ) {
toggle.onclick = function ( e ) {
e.preventDefault();
xpatrolToggleAbusedPages();
};
}
// TODO : idem
document.getElementsByTagName( 'form' )[0].innerHTML = document.getElementsByTagName( 'form' )[0].innerHTML.replace( '<input value="Rechercher" type="submit">', '<input value="Rechercher" type="submit"><input type="hidden" value="0" name="xpatrolHideDeleted" id="xpatrolHideDeleted">' );
if ( mw.util.getParamValue( 'xpatrolHideDeleted' ) === '1' ) {
xpatrolToggleAbusedPages();
}
}
function xpatrol() {
// Flow histories are not supported currently.
if ( mw.util.getParamValue( 'action' ) === 'history' && mw.config.get( 'wgPageContentModel' ) === 'wikitext' ) {
if ( xpatrolEnablePurge ) {
xpatrolAddHistoryLinks();
}
} else if ( mw.config.get( 'wgPageName' ) === 'Spécial:Nouvelles_pages' ) {
xpatrolAddNewPagesLinks();
} else if ( mw.config.get( 'wgPageName' ) === 'Spécial:Journal_du_filtre_antiabus' ) {
xpatrolAddAbuseFilterLinks();
} else {
if ( document.getElementById( 'ca-edit' ) ) {
if ( xpatrolEnableClear && mw.config.get( 'wgUserGroups' ).indexOf( 'autoconfirmed' ) !== -1 ) {
xpatrolAddClearLinks();
}
if ( xpatrolEnableBanner ) {
xpatrolAddBannerLinks();
}
}
}
}
$( xpatrol );
} );
// </nowiki>