MediaWiki:Gadget-newsectionbottom.js: различия между версиями
Перейти к навигации
Перейти к поиску
Нет описания правки |
Минус служебные |
||
| Строка 1: | Строка 1: | ||
//* Гаджет для добавления секции снизу в обсуждениях *// | //* Гаджет для добавления секции снизу в обсуждениях *// | ||
(function() { | (function() { | ||
var currentUrl = window.location.href; | |||
if (currentUrl.includes('/w/')) { | |||
return; | |||
} | |||
var namespace = mw.config.get('wgNamespaceNumber'); | var namespace = mw.config.get('wgNamespaceNumber'); | ||
var discussionNamespaces = [1, 3, 5, 7, 9, 11, 13, 15, 101, 110, 113, 115, 117, 119, 121]; | var discussionNamespaces = [1, 3, 5, 7, 9, 11, 13, 15, 101, 110, 113, 115, 117, 119, 121]; | ||
Версия от 23:59, 4 марта 2026
//* Гаджет для добавления секции снизу в обсуждениях *//
(function() {
var currentUrl = window.location.href;
if (currentUrl.includes('/w/')) {
return;
}
var namespace = mw.config.get('wgNamespaceNumber');
var discussionNamespaces = [1, 3, 5, 7, 9, 11, 13, 15, 101, 110, 113, 115, 117, 119, 121];
var pageName = mw.config.get('wgPageName');
if (namespace === 110 && pageName === 'Форум:Общий') {
return;
}
if (!discussionNamespaces.includes(namespace)) {
return;
}
mw.loader.using('mediawiki.util').then(function() {
var $content = $('#mw-content-text');
if (!$content.length) return;
// Проверка прав на редактирование
var userGroups = mw.config.get('wgUserGroups') || [];
var restrictionEdit = mw.config.get('wgRestrictionEdit');
var canEdit = true;
if (restrictionEdit) {
var editRestrictions = restrictionEdit.edit || restrictionEdit;
if (!Array.isArray(editRestrictions)) {
editRestrictions = [editRestrictions];
}
if (editRestrictions.includes('sysop') && !userGroups.includes('sysop')) {
canEdit = false;
} else if (editRestrictions.includes('autoconfirmed') &&
!userGroups.includes('autoconfirmed') &&
!userGroups.includes('sysop')) {
canEdit = false;
}
}
if (!canEdit) return;
// Локализация
var buttonText = {
'be': '✏️ новы раздзел унізе',
'be-tarask': '✏️ новы раздзел унізе',
'en': '✏️ new section at the bottom',
'eo': '✏️ nova sekcio malsupre',
'ja': '✏️ 下部に新しいセクション',
'la': '✏️ nova pars infra',
'tt': '✏️ аскы өлешкә яңа бүлек',
'udm': '✏️ выль люкетэз улӥын',
'uk': '✏️ новий розділ унизу'
}[mw.config.get('wgUserLanguage')] || '✏️ новый раздел внизу';
// Создание кнопки
var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), {
action: 'edit',
section: 'new'
});
$('<a>', {
href: editUrl,
'class': 'mw-ui-button mw-ui-progressive mw-add-section-bottom',
text: buttonText
}).insertAfter($content);
// Стили
mw.util.addCSS('.mw-add-section-bottom{display:inline-block;margin:20px 0}');
});
})();