Центр пользователя  |  Ваши сообщения  |  FAQ
Форум поддержки phpBB » phpBB 3.0.x » Модификация phpBB 3.0.x

Глюк с всплывающей подсказкой в блоке "Дни рождения"

Расширение функциональности phpBB 3.0.x. Создание и использование модов
Пожалуйста, помните, что существуют: Поиск, Правила форума
Возможно, ответ на Ваш вопрос уже имеется: Документация, Статьи, Накопленный опыт
Полезные материалы по этой теме: Инструкция по установке модов

Сообщение 09 дек 2009, 17:56

День добрый!

Надеюсь, хоть тут помогут :) Установлена сборка BB3x Expand, ничего больше сверху не ставил. Почему-то в блоке "Дни рождения" на главной странице, при наведении курсора на никнейм, всплывает хинт с датой рождения, но вместо реальной даты рождения высвечивается "1 января" (см.скриншот и подробности тут: "1 янв" в хинте в блоке "Дни рождения" на главной странице), хотя значение поля ДР в базе верное...
urfin

 

Сообщение 09 дек 2009, 20:28

Удалось локализовать проблему, но не рeшить :(

Глючит функция format_birthday вот в этом месте (файл /portal/block/birthday_list.php):

Код: выделить все
$birthday_ahead_list .= '<span title="' . format_birthday($row['user_birthday'], 'd M') . '">' . get_username_string('full', $row['user_id'], $row['username'], $row['user_colour']) . '</span>';


Если вместо format_birthday($row['user_birthday'], 'd M') использовать просто $row['user_birthday'], то правильное значение выводится (в формате дд-мм-гггг, но это не суть важно).

Сама функция описана в файле portal/includes.function.php:

Код: выделить все
function format_birthday($date, $format = false)
{
   global $user;
      $time->time_now   = time();
      $lang_dates      = $user->lang['datetime'];
      $format         = (!$format) ? $time->date_format : $format;

      // Short representation of month in format
      if ((strpos($format, '\M') === false && strpos($format, 'M') !== false) || (strpos($format, '\r') === false && strpos($format, 'r') !== false))
      {
         $lang_dates['May'] = $lang_dates['May_short'];
      }
      unset($lang_dates['May_short']);

   return strtr(@date(str_replace('|', '', $format), $date), $lang_dates);
}


Может тут в коде есть косяк? Знающие люди, подсобите, плиз :)
urfin

 

Сообщение 21 янв 2010, 09:51

Да, именно тут и косяк:
Код: выделить все
return strtr(@date(str_replace('|', '', $format), $date), $lang_dates);


добавить выше:
Код: выделить все
$date = strtotime(str_replace(' ', '', $date));
BpeguH

 


Вернуться в Модификация phpBB 3.0.x

 


  • Похожие темы
    Ответов
    Просмотров
    Последнее сообщение

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

Форум поддержки phpBB
2008 - 2017 © BB3x.ru - русская поддержка форума phpBB3
Создано на основе phpBB® Forum Software © phpBB Group
+ 17 предустановленных модов
+ SEO-оптимизация форума
+ авторизация через соц. сети
+ защита от спама