
Работу на модифицированных стилях не гарантирую. Сабсилвер как всегда не у дел.
Тут только хакнуть SQL запрос в index.php, вот этот
Код: Выделить всё
$sql = 'SELECT u.user_id, u.username, u.user_colour, u.user_birthday
FROM ' . USERS_TABLE . ' u
LEFT JOIN ' . BANLIST_TABLE . " b ON (u.user_id = b.ban_userid)
WHERE (b.ban_id IS NULL
OR b.ban_exclude = 1)
AND (u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%' $leap_year_birthdays)
AND u.user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
Код: Выделить всё
AND u.user_lastvisit >= ' . (time() - 3600*24*365);
Потихоньку избавляюсь от правок ядра и удалось впихнуть в виде расширения
Код: Выделить всё
public function index_modify_birthdays_sql_siava($event) // Дни рождения только тех, кто заходил за год
{
// кусок оригинального кода из index.php для работы $leap_year_birthdays
$time = $this->user->create_datetime();
$now = phpbb_gmgetdate($time->getTimestamp() + $time->getOffset());
// Display birthdays of 29th february on 28th february in non-leap-years
$leap_year_birthdays = '';
if ($now['mday'] == 28 && $now['mon'] == 2 && !$time->format('L'))
{
$leap_year_birthdays = " OR u.user_birthday LIKE '" . $db->sql_escape(sprintf('%2d-%2d-', 29, 2)) . "%'";
}
// end кусок оригинального кода
$sql_ary = $event['sql_ary'];
$sql_ary['WHERE'] = "(b.ban_id IS NULL OR b.ban_exclude = 1)
AND (u.user_birthday LIKE '" . $this->db->sql_escape(sprintf('%2d-%2d-', $now['mday'], $now['mon'])) . "%' $leap_year_birthdays)
AND u.user_lastvisit >= '" . (time() - 3600*24*365) . "'
AND u.user_type IN (" . USER_NORMAL . ', ' . USER_FOUNDER . ')';
$event['sql_ary'] = $sql_ary;
}
Зато кто-то из форум чан увидит что у него днюха, поздравит в личке, именинник увидит, ему станет приятно,
Был мод "Поздравление с ДР в личку автоматом".