MediaWiki:Gadget-newsectionbottom.js: различия между версиями
Перейти к навигации
Перейти к поиску
, sic |
мНет описания правки |
||
| (не показано 16 промежуточных версий этого же участника) | |||
| Строка 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, 110 | var discussionNamespaces = [1, 3, 5, 7, 9, 11, 13, 15, 101, 110, 113, 115, 117, 119, 121]; | ||
var pageName = mw.config.get('wgPageName'); | var pageName = mw.config.get('wgPageName'); | ||
var forumExceptions = [ | |||
'Форум:Общий', | |||
'Форум:Деревенская_свалка', | |||
'Форум:Стены_обсуждений' | |||
]; | |||
if (forumExceptions.includes(pageName)) { | |||
return; | |||
} | } | ||
if (! | if (!discussionNamespaces.includes(namespace)) { | ||
return; | return; | ||
} | } | ||
| Строка 40: | Строка 49: | ||
if (!canEdit) return; | if (!canEdit) return; | ||
// Локализация | // Локализация на поддерживаемых языках интерфейса Абсурдопедии | ||
var buttonText = { | var buttonText = { | ||
'be': '✏️ | 'ar': 'موضوع جديد ✏️', | ||
' | 'az': '✏️ yeni mövzu', | ||
'en': '✏️ new | 'ba': '✏️ яңы тема', | ||
'eo': '✏️ nova | 'be': '✏️ новая тэма', | ||
'ja': '✏️ | 'bxr': '✏️ шэнэ сэдэб', | ||
'la': '✏️ | 'ce': '✏️ керла тема', | ||
'tt': '✏️ | 'cv': '✏️ ҫӗнӗ тема', | ||
'udm': '✏️ выль | 'cu': '✏️ нова́ѧ те́ма', | ||
'uk': '✏️ | 'de': '✏️ Néies Téhma', // диалект немцев Поволжья | ||
}[mw.config.get('wgUserLanguage')] || '✏️ | 'en': '✏️ new topic', | ||
'eo': '✏️ nova temo', | |||
'et': '✏️ uus teema', | |||
'hy': '✏️ նոր թեմա', | |||
'inh': '✏️ керда тема', | |||
'ja': '✏️ 新しいトピック', | |||
'ka': '✏️ ახალი თემა', | |||
'kk': '✏️ жаңа тақырып', | |||
'ko': '✏️ 새로운 주제', | |||
'koi': '✏️ выль тема', | |||
'kv': '✏️ выль тема', | |||
'ky': '✏️ жаңы тема', | |||
'la': '✏️ novum argumentum', | |||
'lt': '✏️ nauja tema', | |||
'lv': '✏️ jauna tēma', | |||
'mdf': '✏️ од тема', | |||
'mhr': '✏️ у теме', | |||
'mrj': '✏️ у тема', | |||
'myv': '✏️ од тема', | |||
'os': '✏️ ног темæ', | |||
'ro': '✏️ subiect nou', | |||
'sah': '✏️ саҥа тиэмэ', | |||
'tg': '✏️ мавзӯи нав', | |||
'tk': '✏️ täze tema', | |||
'tok': '✏️ toki sin', | |||
'tt': '✏️ яңа тема', | |||
'tyv': '✏️ чаа тема', | |||
'udm': '✏️ выль тема', | |||
'uk': '✏️ нова тема', | |||
'uz': '✏️ yangi mavzu', | |||
'vep': '✏️ uz’ tem', | |||
'yi': 'נייע טעמע ✏️', | |||
'xal': '✏️ шин төр', | |||
'zh': '✏️ 新话题' | |||
}[mw.config.get('wgUserLanguage')] || '✏️ новая тема'; | |||
// Создание кнопки | // Создание кнопки | ||
Текущая версия от 07:21, 24 марта 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');
var forumExceptions = [
'Форум:Общий',
'Форум:Деревенская_свалка',
'Форум:Стены_обсуждений'
];
if (forumExceptions.includes(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 = {
'ar': 'موضوع جديد ✏️',
'az': '✏️ yeni mövzu',
'ba': '✏️ яңы тема',
'be': '✏️ новая тэма',
'bxr': '✏️ шэнэ сэдэб',
'ce': '✏️ керла тема',
'cv': '✏️ ҫӗнӗ тема',
'cu': '✏️ нова́ѧ те́ма',
'de': '✏️ Néies Téhma', // диалект немцев Поволжья
'en': '✏️ new topic',
'eo': '✏️ nova temo',
'et': '✏️ uus teema',
'hy': '✏️ նոր թեմա',
'inh': '✏️ керда тема',
'ja': '✏️ 新しいトピック',
'ka': '✏️ ახალი თემა',
'kk': '✏️ жаңа тақырып',
'ko': '✏️ 새로운 주제',
'koi': '✏️ выль тема',
'kv': '✏️ выль тема',
'ky': '✏️ жаңы тема',
'la': '✏️ novum argumentum',
'lt': '✏️ nauja tema',
'lv': '✏️ jauna tēma',
'mdf': '✏️ од тема',
'mhr': '✏️ у теме',
'mrj': '✏️ у тема',
'myv': '✏️ од тема',
'os': '✏️ ног темæ',
'ro': '✏️ subiect nou',
'sah': '✏️ саҥа тиэмэ',
'tg': '✏️ мавзӯи нав',
'tk': '✏️ täze tema',
'tok': '✏️ toki sin',
'tt': '✏️ яңа тема',
'tyv': '✏️ чаа тема',
'udm': '✏️ выль тема',
'uk': '✏️ нова тема',
'uz': '✏️ yangi mavzu',
'vep': '✏️ uz’ tem',
'yi': 'נייע טעמע ✏️',
'xal': '✏️ шин төр',
'zh': '✏️ 新话题'
}[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}');
});
})();