Календарь событий
Добавляет на форум календарь с праздниками и событиями на форуме.
http://s7.uploads.ru/ICZf0.jpg
http://sd.uploads.ru/t/I01Ug.jpg http://s9.uploads.ru/t/inpHz.jpg

Автор: Romych
Платформа: MyBB

Я сделал всего 2 опции:
1. список праздников
2. метод по которому выдаётся максимальное количество ваших пользователей, подбирается индивидуально под каждый форум. Если на форуме много активных пользователей, которые часто пользуются системой оценки поста (+ и -), то оптимальным будет метод - respect. Если просто активные пользователи, которые часто пишут, но не пользуются всякими там плюсиками, то оптимален метод - num_posts
Сразу предупреждаю, абсолютно все пользователи указавшие дату своего дня рождения в Календарь не попадут (ограниченность API)! Кстати, как и не попадут, те кто указал не полную дату. Отсутствие года гарантирует вам непопадание в Календарь.

http://s8.uploads.ru/SotUn.jpg

Внешний вид календаря можете оформить на свой вкус, все правила подписаны. Внешний вид ячеек с праздничными днями тоже можно оформить индивидуально поскольку у них есть уникальный селектор, например селектор ячейки первого января:

td[data-iso="01-01"]

где сначала идёт месяц, потом день
По такому же принципу составляется список праздничных дней, сначала месяц, потом день:

Код:
var prazdnik = [{dn: '01-01', celebrate: 'Новый год'},
{dn: '01-07', celebrate: 'Рождество Христово'},
{dn: '01-14', celebrate: 'Старый Новый год'},
{dn: '02-23', celebrate: 'День защитника Отечества'},
{dn: '03-08', celebrate: 'Международный женский день'},
{dn: '04-01', celebrate: 'День смеха (День дурака)'},
{dn: '05-01', celebrate: 'День трудящихся'},
{dn: '05-09', celebrate: 'День Победы'},
{dn: '06-12', celebrate: 'День России'},
{dn: '11-04', celebrate: 'День народного единства'},
{dn: '11-07', celebrate: 'День Октябрьской революции 1917 года'}]

Кстати, во всплывающей подсказке праздничного дня можно сделать изображение стикер. У кого возникнет такое желание, сначала закачайте эти стикеры куда-нибудь, потом пишите мне, сделаем правки в скрипте для вас.

Куда ставить код?
Оптимально в описание любого форума: Администрирование -> Форумы -> Редактировать (описание любого форума)

Код:
    <style type="text/css">
    /* Таблица календаря */
    .calendar {
      border: 0px;
      border-collapse: collapse;
      font-family: Arial;
      width: auto !important;
    }
    /* Заголовок */
    .calendar th {
      text-align: center;
      height: 25px;
      background: #ebf0f5 !important;
      color: #8996a3 !important;
      border-bottom: 1px solid #ebf0f5 !important;
    }
    /* Заголовок праздника */
    .calendar th.holiday {
      color: #FF0000 !important;
    }
    /* Ячейка дня */
    .calendar td {
      border-left: 1px solid #ebf0f5 !important;
      border-right: 1px solid #ebf0f5 !important;
      border-bottom: 1px solid #ebf0f5 !important;
      color: rgb(44, 86, 122);
      position: relative;
      white-space: nowrap;
      width: 95px;
      height: 40px;
    }
    @media screen and (max-width: 640px) {
    .calendar td {width: 65px;height:25px;}
    #imn {width: 20px;height: 20px;}
    .holiday .day_num {width: 12px !important; height: 11px !important;}
    .day_num {font-size: 9.5px !important;}
    #clndr {width: 16px;height: 16px;}
    }
    /* Блок с отображающейся датой (день)  */
    .day_num {
        position: absolute;
        top: 2px;
        left: 6px;
        text-align: center;
        color: #99acbf;
        font-size: 12.5px;
    }
    /* Пустой день */
    .calendar td.pust {
      background: transparent !important;
      border: none !important;
    }
    /* Выбранный день */
    .calendar td.selected {
      outline: 2px solid #98b0cd;
    }
    /* Праздничный день */
    .calendar td.holiday {
      background: #fafbfc !important;
    }
    /* Блок с отображающейся датой (праздничный день)  */
    .calendar .holiday .day_num {
        cursor: pointer;
        color: #555;
        background: #FFE082;
        border-radius: 50%;
        border-color: #FF9800 !important;
        border: 1px solid;
        width: 18px;
        height: 17px;
    }
    /* Кнопки навигации */
    .calendar td.navigation {
      text-align: center;
      border: 0px none !important;
      font-size: 15px;
      cursor: pointer;
      white-space: nowrap;
    }
    .calendar td a {bottom: -7px;}
    /* Наложение аватаров друг на друга (необходимо при большом количестве именинников в один день)  */
    .calendar td a:nth-child(2) {left: -10px;}
    .calendar td a:nth-child(3) {left: -20px;}
    .calendar td a:nth-child(4) {left: -30px;}
    .calendar td a:nth-child(5) {left: -40px;}
    .calendar td a:nth-child(6) {left: -50px;}
    .calendar td a:nth-child(7) {left: -60px;}
    /* Всплывающий блок Календаря  */
     #calendar_table {
     display:none;
        position: fixed;
        top: 10%;
        background: #fff;
        padding: 15px;
        z-index: 9;
        margin: 0 auto !important;
        border-radius: 9px;
    	-moz-box-shadow: 0px 0px 40px #444;
      -webkit-box-shadow: 0px 0px 40px #444;
      box-shadow: 0px 0px 40px #444;
    }
    /* Кнопка иконка календаря */
    #clndr {position:relative;float:right;top: -15px;cursor: pointer;}
    </style>
     
    <div id="calendar_table"></div>
    <!-- Календарь событий-->
    <script type="text/javascript">
    var prazdnik = [{dn: '01-01', celebrate: 'Новый год'},
    {dn: '01-07', celebrate: 'Рождество Христово'},
    {dn: '01-14', celebrate: 'Старый Новый год'},
    {dn: '02-23', celebrate: 'День защитника Отечества'},
    {dn: '03-08', celebrate: 'Международный женский день'},
    {dn: '04-01', celebrate: 'День смеха (День дурака)'},
    {dn: '05-01', celebrate: 'День трудящихся'},
    {dn: '05-09', celebrate: 'День Победы'},
    {dn: '06-12', celebrate: 'День России'},
    {dn: '11-04', celebrate: 'День народного единства'},
    {dn: '11-07', celebrate: 'День Октябрьской революции 1917 года'}],
    metod = 'num_posts'; //num_posts или respect
    </script>
     
    <script type="text/javascript" src="http://forumstatic.ru/files/0017/d8/50/11373.js"></script>

Можно сделать отображение Календаря не на главной, а на отдельной странице.
Скрипт рекомендуется ставить на активные форумы, где количество зарегистрированных пользователей не меньше 100 ( а лучше от 1000). На малых форумах он мало информативен и будет выдавать ошибку в консоли, хотя она ни на что не влияет.