MediaWiki:Gadget-newsectionbottom.js: различия между версиями

Минис заглавные форумов по категории их включения
Метка: отменено
мНет описания правки
 
(не показано 11 промежуточных версий этого же участника)
Строка 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');
      
     var forumExceptions = [
    // Исключение глагне форумов (все они в Категория:Pages using DynamicPageList4)
      'Форум:Общий',
    var $content = $('#mw-content-text');
      'Форум:Деревенская_свалка',
    var categories = $content.find('.catlinks ul li a').map(function() {
      'Форум:Стены_обсуждений'
        return $(this).text();
     ];
     }).get();
 
   
     if (forumExceptions.includes(pageName)) {
     if (categories.includes('Pages using DynamicPageList4')) {
    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: Строка 37:
                 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 = {
            'ar': 'موضوع جديد ✏️',
             'az': '✏️ yeni mövzu',
             'az': '✏️ yeni mövzu',
             'ba': '✏️ яңы тема',
             'ba': '✏️ яңы тема',
Строка 56: Строка 58:
             'ce': '✏️ керла тема',
             'ce': '✏️ керла тема',
             'cv': '✏️ ҫӗнӗ тема',
             'cv': '✏️ ҫӗнӗ тема',
            'cu': '✏️ нова́ѧ те́ма',
            'de': '✏️ Néies Téhma', // диалект немцев Поволжья
             'en': '✏️ new topic',
             'en': '✏️ new topic',
             'eo': '✏️ nova temo',
             'eo': '✏️ nova temo',
Строка 80: Строка 84:
             'tg': '✏️ мавзӯи нав',
             'tg': '✏️ мавзӯи нав',
             'tk': '✏️ täze tema',
             'tk': '✏️ täze tema',
            'tok': '✏️ toki sin',
             'tt': '✏️ яңа тема',
             'tt': '✏️ яңа тема',
             'tyv': '✏️ чаа тема',
             'tyv': '✏️ чаа тема',
Строка 90: Строка 95:
             '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: Строка 107:
             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}');
     });
     });
})();
})();