Подфорумы "не скриптом"
Добавляет возможность создать подфорумы на платформе MyBB.ru
http://funkyimg.com/i/2bvzs.png

Автор: Alex_63
Платформа: MyBB
Аналоги: Подфорумы через кликабельность категорий (MyBB) [Deff]

Преимущества новой версии скрипта:
- Автоматическое удаление "решётки" из названий родительских форумов
- Количество подфорумов не ограничено
- Нет ограничения на формат даты и времени
- Возможность установки своих иконок для подфорумов с новыми сообщениями и без них
- Возможность установки своей надписи в заголовке секции подфорумов
- Упрощенная установка, не требуется создание дополнительных категорий, обрамляющих секцию категорий с подфорумами
- Ускоренная загрузка подфорумов на странице форума
- Добавление в "хлебные крошки" ссылки на родительский форум для форумов 1-го и 2-го уровней
- "Кликабельность категорий"  в комплекте!  (отключается параметром в скрипте)

ПОДФОРУМЫ с Автоматической Установкой

ПОДФОРУМЫ с Автоматической Установкой

Многие испытывают трудности при установке скрипта подфорумов вручную, да и в целом это не очень удобно.
Этот скрипт - попытка автоматизировать установку и операции с подфорумами.

I. Предварительная настройка
Необходимо выставить в Настройках (Администрирование > Настройки > Время и тайм-аутыВремя переадресации = 1

II. Установка кода
1. В начало HTML верх (при наличии скрипта "Супер - Дайсы" - данный код ставим ниже)

<!-- Подфорумы "не скриптом" © Alex_63 / Ч.1 в начало HTML верх -->
    <script type="text/javascript">var SUBF = {},SUBFset = {};
    // Настройки скрипта //

    SUBF.icon_old = 'https://forumstatic.ru/files/0016/4f/7e/12924.jpg';  // Иконка подфорумов без новых сообщений
    SUBF.icon_new = 'https://forumstatic.ru/files/0016/4f/7e/75803.jpg';  // Иконка подфорумов с новыми сообщениями
    SUBF.d_title = 'Подфорумы:'  // Текст в заголовке секции подфорумов
    SUBF.category_link = 1; // Кликабельность категорий: 0 - отключена, 1 - включена

    SUBFset.enable_subf = 1; // Установка подфорумов: 0 - ручная, 1 - автоматическая

    $(document).ready(function(){$('#navadmin>a').attr('href','/admin/index');});
    if(document.URL.indexOf('/admin/')!=-1)(function(){var s='<script type="text/javascript" src="',
    e='"></'+'script>',l='https://forumstatic.ru/files/0016/4f/7e/40123.js';document.write(s+l+e);}());
    </script><link rel="stylesheet" type="text/css" href="https://forumstatic.ru/files/0016/4f/7e/73859.css"/>
    <script type="text/javascript" src="https://forumstatic.ru/files/0016/4f/7e/73858.js"></script>

2. В самое начало HTML низ

Код:
<!-- Подфорумы "не скриптом" © Alex_63 / Ч.2 в начало HTML низ -->
<script type="text/javascript">setSubforums()</script>

Дополнительный стиль - в конец Первого окна стилей

Код:
    /************* Автоустановка Подфорумов | Add styles *************/
    .punbb-admin:not(.admin-visible)::before {
      content: "Вы вошли в панель администрирования без надстроек. Автоматическая установка подфорумов отключена.";
      color: #c22d2d; display: block; text-align: center; border: solid 1px #d48f8f; padding: 5px; margin-bottom: 5px; background: #f8e5e5;
    }

Настройки:
SUBF.icon_old  - иконка подфорума без новых сообщений
SUBF.icon_new  - иконка подфорума с новыми сообщениями
SUBF.d_title  - текст в заголовке секции подфорумов
SUBFset.enable_subf  - режим установки подфорумов: 0 - ручной, 1 - автоматический


БОНУС: Возможность вставки своих кодов в HTML верх и HTML низ в Админке!
Для этого ставим в HTML верх выше первой части скрипта Подфорумов два контейнера:

Код:
    <noscript data="html_header">
    <!-- Контент HTML верх в Админке -->
    </noscript>

    <noscript data="html_footer">
    <!-- Контент HTML низ в Админке -->
    </noscript>
Ручная установка

Установка
Название каждого форума, содержащего подфорумы, должно начинаться с решетки #
Подфорумы к каждому форуму должны располагаться в отдельной категории. Название категории с подфорумами должно также начинаться с решетки # и в точности совпадать с названием форума, для которого эти подфорумы предназначены!
Это правило действует и для вложенных подфорумов.
Все категории с подфорумами к форумам желательно расположить в самом низу, ниже основных (пользовательских) категорий.

Наиболее удобное расположение категорий (кликабельно):
http://funkyimg.com/p/2bvzv.png

Скрипт состоит из двух частей:
1. В начало HTML верх (при наличии скрипта "Супер - Дайсы" - данный код ставим ниже)

<!-- Подфорумы "не скриптом" © Alex_63 / Ч.1 в начало HTML верх -->
    <script type="text/javascript">var SUBF = {};
    // Настройки скрипта //

    SUBF.icon_old = 'https://forumstatic.ru/files/0016/4f/7e/12924.jpg';  // Иконка подфорумов без новых сообщений
    SUBF.icon_new = 'https://forumstatic.ru/files/0016/4f/7e/75803.jpg';  // Иконка подфорумов с новыми сообщениями
    SUBF.d_title = 'Подфорумы:'  // Текст в заголовке секции подфорумов
    SUBF.category_link = 1; // Кликабельность категорий: 0 - отключена, 1 - включена
    </script>
    <link rel="stylesheet" type="text/css" href="https://forumstatic.ru/files/0016/4f/7e/73859.css" />
    <script type="text/javascript" src="https://forumstatic.ru/files/0016/4f/7e/73858.js"></script>

В начало HTML низ

Код:
    <!-- Подфорумы "не скриптом" © Alex_63 / Ч.2 в HTML низ -->
    <script type="text/javascript">setSubforums()</script>

Старая версия и скриншоты

Совместимость с ранней версией скрипта от Deff
Если установлен старый скрипт Подфорумов "не скриптом", необходимо полностью удалить категорию END CATEGORY, а секцию подфорумов (все категории с подфорумами) переместить ниже основных категорий форума.
Категории "ПОДФОРУМЫ" и "END - Подфорумы" также лучше удалить.

Скриншоты:
Страница форума с подфорумами
http://funkyimg.com/i/2bvzt.png

Страница подфорума, в "хлебные крошки" добавляются ссылки на родительские форумы и категорию:
http://funkyimg.com/i/2bvzu.png


Дополнения

Подфорумы в строчку

В HTML верх:  (лучше после первой части скрипта)

Код:
<style type="text/css">
.subforums span{
  display: inline-block !important;
  margin-right: 6px;
}
</style>

Запятая после каждого "Подфорума":

Код:
<style type="text/css">
.subforums span:not(:last-of-type):after{
  content: ",";
  margin-left: -4px;
}
</style>
Правка Правой колонки в подфорумах для скрипта Описаний к темам

В HTML верх после первой части скрипта Подфорумов:

Код:
<script type="text/javascript">
// Правка Правой колонки для скрипта Описаний к темам //
if($('#pun-viewforum').length){$(document).ready(function(){if($('.main table:last').attr('summary').indexOf('#')==-1)return;var timer,i=0;function remDes(){i++;if(i>150)return;timer=setTimeout(function(){if($('#f-subforums').length==0){remDes();return};$('#f-subforums .tcr').find('a').each(function(){$(this).html($(this).html().replace(/‡(.*?)\&amp;/gi,''));});},50);}remDes();});}
</script>
Иконка слева от названия подфорума

http://funkyimg.com/i/2bvFV.png
В HTML верх

Код:
<style type="text/css">
.Icon_LastPost {
  float: left;
  margin-top: 1px;
}
</style>
Правка к скрипту Подфорумов для Сворачивания категорий

исправляет ошибку на странице с категорией, если она скрыта на Главной
В Конец HTML низ

Код:
    <!-- Правка к скрипту Подфорумов для Сворачивания категорий -->
    <script type="text/javascript">
    if(document.URL.indexOf('=&pun-category')!=-1)$().ready(function() {
      var thisCat = document.URL.split('=&pun-category')[1];
      $('#pun-category'+thisCat).find('>.container').removeClass('z-Hide').css({'display':'block'});
    });
    </script>
Сброс кешированных ссылок на родительский форум/категорию

При переносе форума в другую категорию (или прикреплении подфорума к другому форуму), возникает необходимость обновления ссылок на родительский форум/категорию данного форума/подфорума, которые сохраняются в кеше браузера.
Для этого временно ставим в самый верх HTML верх, выше скрипта Подфорумов такой код:

<script>ID=3;localStorage.removeItem('getSubfParentLinksID_'+ID);</script>

Вместо красного - ID форума, ссылки для которого нужно обновить.

После того, как ссылки обновятся, скрипт нужно убрать.

Убираем слово "Подфорумы" в секции подфорумов

В HTML верх

Код:
    <!-- Убрать слово "Подфорумы" -->
    <style>.subforums .d_title{display:none!important;}</style>
Переносим список Модераторов ниже секции Подфорумов

В HTML низ после Второй части скрипта Подфорумов:

Код:
    <script><!-- Переносим список модераторов ниже секции Подфорумов -->
    $('.modlist').each(function () {
      if($(this).parents('.tclcon').find('.subforums').length)$(this).insertAfter($(this).parents('.tclcon').find('.subforums'));
    });
    </script>
Ссылка в Админку без надстроек

актуально для форумов Rusff,- если некоторые функции в админке не работают

в HTML верх Выше скрипта подфорумов

Код:
<script><!--Ставим ссылку на стандартную Админку-->
$(function (){
  var L="<a href='/admin_options.php'><small title='Вход в панель администрирования без надстроек'>Ст.Панель</small></a>";
  L="<li id='navadmin_st'>"+L+"</li>";$("#navadmin").after(L);
});
</script>

Рядом со ссылкой "Администрирование" появится ссылка "Ст.Панель", по которой можно попасть  в стандартную Админку без надстроек