Utilisateur:Tomybrz/script/omega.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) ;
Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.// <nowiki>
mw.loader.using('oojs-ui-core').done(function () {
var script_params = {
report_tool_form: 'Wikipédia:Vandalisme_en_cours/reporttool',
report_tool_page: 'Wikipédia:Vandalisme_en_cours',
};
mw.util.addPortletLink('p-tb', '/wiki/' + script_params.report_tool_form, 'Signalement vandalisme', 't-reporttool');
if (mw.config.get('wgPageName') == script_params.report_tool_form && mw.config.get('wgAction') == 'view') {
$(function () {
var label1 = new OO.ui.LabelWidget({
label: new OO.ui.HtmlSnippet('<strong>Auteur du vandalisme</strong>')
});
var user_input = new OO.ui.TextInputWidget({
required: true,
placeholder: 'Nom d\'utilisateur',
id: 'report-tool_user',
validate: 'non-empty'
});
var checkbox_VAND = new OO.ui.CheckboxInputWidget({
value: 'VAND',
id: 'report-tool_VAND',
name: 'report-tool-checkbox',
selected: true
}),
checkbox_CCPV = new OO.ui.CheckboxInputWidget({
value: 'CCPV',
name: 'report-tool-checkbox',
id: 'report-tool_CCPV',
}),
checkbox_VIPP = new OO.ui.CheckboxInputWidget({
value: 'VIPP',
name: 'report-tool-checkbox',
id: 'report-tool_VIPP'
}),
checkbox_IDIF = new OO.ui.CheckboxInputWidget({
value: 'IDIF',
name: 'report-tool-checkbox',
id: 'report-tool_IDIF'
}),
checkbox_MNOC = new OO.ui.CheckboxInputWidget({
value: 'MNOC',
name: 'report-tool-checkbox',
id: 'report-tool_MNOC'
}),
checkbox_SCSJ = new OO.ui.CheckboxInputWidget({
value: 'SCSJ',
name: 'report-tool-checkbox',
id: 'report-tool_SCSJ'
}),
checkbox_FNEZ = new OO.ui.CheckboxInputWidget({
value: 'FNEZ',
name: 'report-tool-checkbox',
id: 'report-tool_FNEZ'
}),
checkbox_BLOC = new OO.ui.CheckboxInputWidget({
value: 'BLOC',
name: 'report-tool-checkbox',
id: 'report-tool_BLOC'
}),
checkbox_SPAM = new OO.ui.CheckboxInputWidget({
value: 'SPAM',
name: 'report-tool-checkbox',
id: 'report-tool_SPAM'
}),
checkbox_ICAS = new OO.ui.CheckboxInputWidget({
value: 'ICAS',
name: 'report-tool-checkbox',
id: 'report-tool_ICAS'
}),
checkbox_CCAA = new OO.ui.CheckboxInputWidget({
value: 'CCAA',
name: 'report-tool-checkbox',
id: 'report-tool_CCAA'
}),
checkbox_TIOH = new OO.ui.CheckboxInputWidget({
value: 'TIOH',
name: 'report-tool-checkbox',
id: 'report-tool_TIOH'
}),
checkbox_NAMC = new OO.ui.CheckboxInputWidget({
value: 'NAMC',
name: 'report-tool-checkbox',
id: 'report-tool_NAMC'
}),
checkbox_BANU = new OO.ui.CheckboxInputWidget({
value: 'BANU',
name: 'report-tool-checkbox',
id: 'report-tool_BANU',
disabled: true
}),
checkbox_BLAV = new OO.ui.CheckboxInputWidget({
value: 'BLAV',
name: 'report-tool-checkbox',
id: 'report-tool_BLAV',
disabled: true
}),
checkbox_REMU = new OO.ui.CheckboxInputWidget({
value: 'REMU',
name: 'report-tool-checkbox',
id: 'report-tool_REMU'
}),
checkbox_PROU = new OO.ui.CheckboxInputWidget({
value: 'PROU',
name: 'report-tool-checkbox',
id: 'report-tool_PROU'
}),
checkbox_POIN = new OO.ui.CheckboxInputWidget({
value: 'POIN',
name: 'report-tool-checkbox',
id: 'report-tool_POIN'
}),
checkbox_COPY = new OO.ui.CheckboxInputWidget({
value: 'COPY',
name: 'report-tool-checkbox',
id: 'report-tool_COPY'
}),
checkbox_APOI = new OO.ui.CheckboxInputWidget({
value: 'APOI',
name: 'report-tool-checkbox',
id: 'report-tool_APOI'
}),
checkbox_DCAR = new OO.ui.CheckboxInputWidget({
value: 'DCAR',
name: 'report-tool-checkbox',
id: 'report-tool_DCAR'
}),
checkbox_NAMF = new OO.ui.CheckboxInputWidget({
value: 'NAMF',
name: 'report-tool-checkbox',
id: 'report-tool_NAMF'
}),
// Create a fieldset layout with fields for each checkbox.
fieldset = new OO.ui.FieldsetLayout({
label: 'Motifs fréquents'
});
fieldset.addItems([
new OO.ui.FieldLayout(checkbox_VAND, {
label: 'Vandalisme',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_CCPV, {
label: 'Compte créé pour vandaliser',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_VIPP, {
label: 'Vandalisme d\'IP partagée',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_IDIF, {
label: 'Insertion d\'informations fausses',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_MNOC, {
label: 'Modifications non constructives',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_SCSJ, {
label: 'Suppression de contenu sans justification',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_FNEZ, {
label: 'Abus d\'utilisation de comptes multiples (faux-nez)',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_BLOC, {
label: 'Contournement de blocage',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_SPAM, {
label: 'Insertion répétée de liens externes publicitaires (spam)',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_ICAS, {
label: ' Insertion de contenu sans aucun sens',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_CCAA, {
label: 'Création répétée d\'articles non encyclopédiques',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_TIOH, {
label: 'Tentative d\'intimidation ou harcèlement',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_NAMC, {
label: 'Nom d\'utilisateur d\'une marque, entreprise, association ou personne morale',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_COPY, {
label: 'Insertion répétée de texte sous copyright non libre',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_NAMF, {
label: 'Nom d\'utilisateur inapproprié, injurieux ou diffamant',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_APOI, {
label: 'Attaques personnelles ou insultes',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_PROU, {
label: 'Proxy ouvert',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_POIN, {
label: 'Désorganisation de Wikipédia pour une argumentation personnelle',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_REMU, {
label: 'Non-respect de l\'obligation de transparence malgré un ou plusieurs avertissements.',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_DCAR, {
label: 'Décision du Comité d\'arbitrage',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_BLAV, {
label: 'Blocage indéfini du compte après plusieurs avertissements et des blocages limités',
align: 'inline'
}),
new OO.ui.FieldLayout(checkbox_BANU, {
label: 'Bannissement du détenteur du compte après plusieurs bilans négatifs de sa participation',
align: 'inline'
}),
]);
var button_report = new OO.ui.ButtonWidget({
label: 'Signaler',
id: 'report_button',
icon: 'add'
});
var button_emergency = new OO.ui.ButtonWidget({
label: 'Urgence',
id: 'emergency_button',
icon: 'alert',
flags: [
'primary',
'destructive'
],
href: '/wiki/WP:SOS'
});
button_report.on('click', function () {
button_report.setDisabled(true);
let report_user = user_input.getValue();
let report_body = '<ul>';
if ($('input[value=VAND]').prop('checked')) report_body += '<li>[[Wikipédia:Vandalisme|Vandalisme]]</li>';
if ($('input[value=CCPV]').prop('checked')) report_body += '<li>Compte créé pour vandaliser</li>';
if ($('input[value=VIPP]').prop('checked')) report_body += '<li>Vandalisme d\'IP partagée</li>';
if ($('input[value=IDIF]').prop('checked')) report_body += '<li>Insertion d\'informations fausses</li>';
if ($('input[value=MNOC]').prop('checked')) report_body += '<li>Modifications non constructives</li>';
if ($('input[value=SCSJ]').prop('checked')) report_body += '<li>Suppression de contenu sans justification</li>';
if ($('input[value=FNEZ]').prop('checked')) report_body += '<li>Abus d\'utilisation de comptes multiples ([[Wikipédia:Faux-nez|faux-nez]])</li>';
if ($('input[value=BLOC]').prop('checked')) report_body += '<li>Contournement de blocage</li>';
if ($('input[value=SPAM]').prop('checked')) report_body += '<li>Insertion répétée de [[Wikipédia:Liens externes|liens externes]] publicitaires (spam)</li>';
if ($('input[value=ICAS]').prop('checked')) report_body += '<li>Insertion de contenu sans aucun sens</li>';
if ($('input[value=CCAA]').prop('checked')) report_body += '<li>Création répétée d\'articles non encyclopédiques</li>';
if ($('input[value=TIOH]').prop('checked')) report_body += '<li>Tentative d\'intimidation ou harcèlement</li>';
if ($('input[value=NAMC]').prop('checked')) report_body += '<li>[[Wikipédia:Nom d\'utilisateur|Nom d\'utilisateur]] d\'une marque, entreprise, association ou personne morale</li>';
if ($('input[value=NAMF]').prop('checked')) report_body += '<li>[[Wikipédia:Nom d\'utilisateur|Nom d\'utilisateur]] inacceptable, injurieux ou diffamant</li>';
if ($('input[value=DCAR]').prop('checked')) report_body += '<li>Décision du [[Wikipédia:Comité d\'arbitrage|Comité d\'arbitrage]]</li>';
if ($('input[value=APOI]').prop('checked')) report_body += '<li>[[Wikipédia:Pas d\'attaque personnelle|Attaques personnelles ou insultes]]</li>';
if ($('input[value=COPY]').prop('checked')) report_body += '<li>Insertion répétée de [[Aide:violation du droit d\'auteur|texte sous copyright non libre]]</li>';
if ($('input[value=POIN]').prop('checked')) report_body += '<li>[[Wikipédia:Ne pas désorganiser Wikipédia pour une argumentation personnelle|Désorganisation de Wikipédia pour une argumentation personnelle]]</li>';
if ($('input[value=PROU]').prop('checked')) report_body += '<li>[[Wikipédia:Proxy ouvert|Proxy ouvert]]</li>';
if ($('input[value=REMU]').prop('checked')) report_body += '<li>Non-respect de l\'[[Aide:Contributions_rémunérées|obligation de transparence]] malgré un ou plusieurs avertissements. Ce compte pourra être débloqué une fois l\'obligation remplie.</li>';
if ($('input[value=BLAV]').prop('checked')) report_body += '<li>Blocage indéfini du compte après plusieurs avertissements et des blocages limités</li>';
if ($('input[value=BANU]').prop('checked')) report_body += '<li>Bannissement du détenteur du compte après plusieurs bilans négatifs de sa participation</li>';
report_body += '</ul>';
console.log(report_user + report_body);
if (!report_user || report_user.trim() === '') {
mw.notify('Veuillez remplir le nom d\'utilisateur');
button_report.setDisabled(false);
} else {
var params = {
action: "edit",
format: "json",
title: script_params.report_tool_page,
section: "new",
sectiontitle: "Demande de blocage de " + report_user,
text: `
* Auteur du vandalisme : {{u+|${report_user}}}
* Type de dégâts : ${report_body}
Message déposé par ~~~~
<!-- Script omega -->
`,
summary: "Demande de blocage de " + report_user,
notminor: 1,
};
api = new mw.Api();
api.postWithToken('csrf', params).done(function (data) {
console.log(data.edit);
if (data.edit.result == "Success") {
mw.notify('Signalement effectué avec succès !');
window.location.href = ('/wiki/' + data.edit.title);
} else {
mw.notify('Erreur, veuillez réessayer');
button_report.setDisabled(false);
}
});
}
});
$("#mw-content-text").html('');
$("#mw-content-text").append('<h2>Signaler un vandale</h2>');
$("#mw-content-text").append(label1.$element);
$("#mw-content-text").append(user_input.$element, "<br>");
$("#mw-content-text").append(fieldset.$element, "<br>");
$("#mw-content-text").append(button_report.$element);
$("#mw-content-text").append(button_emergency.$element);
});
}
});
// </nowiki>