MediaWiki:Common.js
Page de l’interface de MediaWiki
Autres actions
Note : après avoir publié vos modifications, il se peut que vous deviez forcer le rechargement complet du cache de votre navigateur pour voir les changements.
- Firefox / Safari : maintenez la touche Maj (Shift) en cliquant sur le bouton Actualiser ou appuyez sur Ctrl + F5 ou Ctrl + R (⌘ + R sur un Mac).
- Google Chrome : appuyez sur Ctrl + Maj + R (⌘ + Shift + R sur un Mac).
- Edge : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl + F5.
$(function() {
if (document.getElementById('citizen-newpage-button')) return;
var a = document.createElement('a');
a.id = 'citizen-newpage-button';
a.href = '#';
a.title = 'Créer une page';
a.className = 'citizen-header__item cdx-button cdx-button--icon-only';
a.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="currentColor"><path d="M17 9v2h-6v6H9v-6H3V9h6V3h2v6z"/></svg>';
a.addEventListener('click', function(e) {
e.preventDefault();
var isLoggedIn = mw.config.get('wgUserName');
var userGroups = mw.config.get('wgUserGroups') || [];
var isAutoconfirmed = userGroups.indexOf('autoconfirmed') !== -1;
// Utilisateur non connecté
if (!isLoggedIn) {
mw.loader.using('oojs-ui-windows').then(function() {
OO.ui.alert(
'Vous devez être connecté pour créer ou modifier une page.',
{ title: 'Connexion requise' }
).done(function() {
window.location.href = mw.util.getUrl('Special:UserLogin', {
returnto: mw.config.get('wgPageName')
});
});
});
return;
}
// Utilisateur connecté mais compte non validé
if (!isAutoconfirmed) {
mw.loader.using('oojs-ui-windows').then(function() {
OO.ui.alert(
'Votre compte doit être validé avant de pouvoir créer ou modifier des pages. Pensez a vérifier vos spams.',
{ title: 'Compte non validé' }
);
});
return;
}
// Utilisateur autorisé
var summary = document.getElementById('citizen-search-summary');
if (summary) summary.click();
});
var d = document.querySelector('.citizen-drawer');
if (d) d.parentNode.insertBefore(a, d.nextSibling);
});