Xacku Опубликовано 12 Марта 2009 Жалоба Поделиться Опубликовано 12 Марта 2009 IPB 2.3.6 Админцентр > Настройки > Календарь и дни рождения Повторяющиеся события или длительные события не отображаются. Очень хотелось-бы, чтобы выводились дни рождения пользователей на несколько (3-5 дней) вперед. Тоесть приветствуется: Именинники в ближайшие 3 дня: ххх, ууу, ааа, ббб... В основных настройках, насколько я понял, этого не сделать - может есть мод или вариант изменений? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 12 Марта 2009 Жалоба Поделиться Опубликовано 12 Марта 2009 Понадобится или дополнительный запрос по профилям пользователей в поисках предстоящих именинников - что нерационально.Или же создавть бота или таск для занесения информации о юбилярах в таблицу календаря - что тоже не очень рационально.Или же модифицировать файлы регистрации и редактирования профиля таким образом, чтобы поле дня рождения заносилось и в календарь - рационально, но муторно. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Xacku Опубликовано 13 Марта 2009 Автор Жалоба Поделиться Опубликовано 13 Марта 2009 ХитрО...Готовое решение под IPB нигде не встречалось?Просто ранее базировались на пхпББ - там сия фича реализована... Правда не помню как... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 dengol Опубликовано 2 Июня 2009 Жалоба Поделиться Опубликовано 2 Июня 2009 (изменено) Так же интересует возможность реализации этой функции.Чтобы на главной внизу отображались именинники например на 3-5 дней вперёдЕсть ли какое-то решение? Изменено 2 Июня 2009 пользователем dengol Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 rocket1 Опубликовано 11 Ноября 2009 Жалоба Поделиться Опубликовано 11 Ноября 2009 (изменено) Я нашел решение!Модифицировал встроенный таск обновления кэша дней рождения ('birthdays') 1. В файле sources/action_admin/calendars.php найти комментарий: //----------------------------------------- // Grab birthdays //-----------------------------------------и закомментировать /* */ блок из пары десятков строк, вплоть до комментария: //-------------------------------------------- // Update calendar array //--------------------------------------------Вместо закомментированных строк вставить: $query = "SELECT m.id, m.members_display_name, m.mgroup, m.bday_year, m.bday_month, m.bday_day, YEAR(NOW())-m.bday_year AS age, g.prefix, g.suffix FROM ibf_members m LEFT JOIN ibf_groups g ON (m.mgroup=g.g_id) WHERE 1=2 "; for ($i=1;$i<$this->ipsclass->vars['calendar_limit'];$i++) $query .= " OR DATE_FORMAT(DATE_ADD(CURDATE(),INTERVAL {$i} DAY), '%m%d')=CONCAT(LPAD(bday_month,2,'0'),LPAD(bday_day,2,'0'))"; $query .= " ORDER BY CONCAT(LPAD(bday_month,2,'0'),LPAD(bday_day,2,'0'))"; $row = $this->ipsclass->DB->query( $query ); while ( $r = $this->ipsclass->DB->fetch_row() ) { $birthdays[ $r['id'] ] = $r; } 2. В файле sources/lib/func_boardstats.php найти комментарий: //----------------------------------------- // Print... //----------------------------------------- и сразу после него добавить три строчки: if ( is_array($this->ipsclass->cache['birthdays']) AND count( $this->ipsclass->cache['birthdays'] ) ) foreach( $this->ipsclass->cache['birthdays'] as $u ) $show_events[] = "<a href='{$this->ipsclass->base_url}showuser={$u['id']}' title='{$u['age']}'><b>{$u['prefix']}{$u['members_display_name']}{$u['suffix']}</b></a> <i>({$u['bday_day']}.{$u['bday_month']})</i>"; 3. После этого нужно зайти в админку (Настройки -> Список задач) и принудительно запустить задачу "Кеширование дней рождения и событий". Либо ждать 12 часов до автоматического запуска задачи =============Принимаются замечание о багах и фичах Изменено 11 Ноября 2009 пользователем rocket1 Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 Xacku Опубликовано 21 Декабря 2009 Автор Жалоба Поделиться Опубликовано 21 Декабря 2009 Я нашел решение!=============Принимаются замечание о багах и фичах Реализовал у себя. Вроде бы пока работает - посмотрю как поведет себя по времени. Пропали текущие дни рождения Будущие показывает, а именинников в этот день - нет. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Xacku
IPB 2.3.6
Админцентр > Настройки > Календарь и дни рождения
Очень хотелось-бы, чтобы выводились дни рождения пользователей на несколько (3-5 дней) вперед.
Тоесть приветствуется:
Именинники в ближайшие 3 дня: ххх, ууу, ааа, ббб...
В основных настройках, насколько я понял, этого не сделать - может есть мод или вариант изменений?
Ссылка на комментарий
Поделиться на других сайтах
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.