MediaWiki:Gadget-newsectionbottom.js: различия между версиями
Минис заглавные форумов по категории их включения Метка: отменено |
Откат правки 360720 участника Тэйтанка-птекила (обс.) Метка: отмена |
||
| Строка 5: | Строка 5: | ||
return; | 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]; | ||
var pageName = mw.config.get('wgPageName'); | var pageName = mw.config.get('wgPageName'); | ||
if (namespace === 110 && pageName === 'Форум:Общий') { | |||
return; | return; | ||
} | } | ||
if (!discussionNamespaces.includes(namespace)) { | if (!discussionNamespaces.includes(namespace)) { | ||
return; | return; | ||
} | } | ||
mw.loader.using('mediawiki.util').then(function() { | mw.loader.using('mediawiki.util').then(function() { | ||
var $content = $('#mw-content-text'); | var $content = $('#mw-content-text'); | ||
if (!$content.length) return; | if (!$content.length) return; | ||
// Проверка прав на редактирование | // Проверка прав на редактирование | ||
var userGroups = mw.config.get('wgUserGroups') || []; | var userGroups = mw.config.get('wgUserGroups') || []; | ||
var restrictionEdit = mw.config.get('wgRestrictionEdit'); | var restrictionEdit = mw.config.get('wgRestrictionEdit'); | ||
var canEdit = true; | var canEdit = true; | ||
if (restrictionEdit) { | if (restrictionEdit) { | ||
var editRestrictions = restrictionEdit.edit || restrictionEdit; | var editRestrictions = restrictionEdit.edit || restrictionEdit; | ||
| Строка 38: | Строка 31: | ||
editRestrictions = [editRestrictions]; | editRestrictions = [editRestrictions]; | ||
} | } | ||
if (editRestrictions.includes('sysop') && !userGroups.includes('sysop')) { | if (editRestrictions.includes('sysop') && !userGroups.includes('sysop')) { | ||
canEdit = false; | canEdit = false; | ||
} else if (editRestrictions.includes('autoconfirmed') && !userGroups.includes('autoconfirmed') && !userGroups.includes('sysop')) { | } else if (editRestrictions.includes('autoconfirmed') && | ||
!userGroups.includes('autoconfirmed') && | |||
!userGroups.includes('sysop')) { | |||
canEdit = false; | canEdit = false; | ||
} | } | ||
} | } | ||
if (!canEdit) return; | if (!canEdit) return; | ||
// Локализация | // Локализация | ||
var buttonText = { | var buttonText = { | ||
| Строка 90: | Строка 85: | ||
'zh': '✏️ 新话题' | 'zh': '✏️ 新话题' | ||
}[mw.config.get('wgUserLanguage')] || '✏️ новая тема'; | }[mw.config.get('wgUserLanguage')] || '✏️ новая тема'; | ||
// Создание кнопки | // Создание кнопки | ||
var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), { | var editUrl = mw.util.getUrl(mw.config.get('wgPageName'), { | ||
action: 'edit', | action: 'edit', | ||
section: 'new' | section: 'new' | ||
}); | }); | ||
$('<a>', { | $('<a>', { | ||
href: editUrl, | href: editUrl, | ||
| Строка 102: | Строка 97: | ||
text: buttonText | text: buttonText | ||
}).insertAfter($content); | }).insertAfter($content); | ||
// Стили | // Стили | ||
mw.util.addCSS('.mw-add-section-bottom{display:inline-block;margin:20px 0}'); | mw.util.addCSS('.mw-add-section-bottom{display:inline-block;margin:20px 0}'); | ||
}); | }); | ||
})(); | })(); | ||