Текущее время: 01 ноя 2020, 05:05

Русская поддержка форума phpBB

Это сайт русской поддержки phpBB

Стаж на форуме или трекере под аватаровй в топике [phpBB3, ppkbb3cker]

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 7 месяцев
Карма: 30
Россия

Сообщение » 29 июл 2012, 15:28

На двихе phpBB3 по умолчанию показывает так: Зарегистрирован: 00 января 2012, 03:43 ну бред согласитесь, может ещё бы до секунд расчитали, на мой взгляд и мнение других, лучше так смотрится: Стаж: 0 мес. и 00 дней.
В общем несколько человек с трекера просило показать как у меня на трекере реализован вывод "Стаж:", вместо "Зарегистрирован:", кидал ссыль на тему у ppkbb3cker ... Щас покажу вам вариант установка взятой с форума ppkbb3cker и свой вариант, не много переделанный вариант покажу.
1.) Этот вариант взят с ppkbb3cker форума, он реализует вывод стажа на странички просмотра профиля пользователя и на топике под аватарой. Наснёмс
Открыть файл: /includes/session.php
Найти:
Код: Выделить всё
     /**
       * Get language id currently used by the user
       */
       function get_iso_lang_id()
Перед вставить:
Код: Выделить всё
   function format_date_joined($reg_date)
       {
          $reg_date = $reg_date - floor($reg_date%86400);
          $today = mktime(0, 0, 0, date("m")  , date("d"), date("Y"));
          $day_whith_us = floor(floor(($today - $reg_date)/86400)%30);
          $month_whith_us = floor(($today - $reg_date)/2592000);
          $ret = "";
          if ($month_whith_us == 1)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " месяц и ");
          }
          if ($month_whith_us > 1 && $month_whith_us < 5)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " месяца и ");
          }
          if ($month_whith_us > 4 || $month_whith_us == 0)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " месяцев и ");
          }     
          if ($day_whith_us == 1)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " день ");
          }
          if ($day_whith_us > 1 && $day_whith_us < 5)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " дня ");
          }
          if ($day_whith_us > 4 || $day_whith_us == 0)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " дней ");
          }
          return $ret;
       }
Открыть: /viewtopic.php
Найти:
Код: Выделить всё
    'joined'      => $user->format_date($row['user_regdate']),
Заменить на:
Код: Выделить всё
    'joined'      => $user->format_date_joined($row['user_regdate']),
Открыть: /memberlist.php
Найти:
Код: Выделить всё
 'JOINED'      => $user->format_date($data['user_regdate']),
Заменить на:
Код: Выделить всё
  'JOINED'      => $user->format_date_joined($data['user_regdate']),
Открыть: /language/ru/common.php
Найти:
Код: Выделить всё
    'JOINED'               => 'Зарегистрирован',
Заменить на:
Код: Выделить всё
    'JOINED'               => 'Стаж',
Источник: http://forum.bb3x.ru/topic-930
2.) Мой вариант, "Стаж" отображается только на странички темы а на страничке просмотра профиля показывает дату регистрации (как и должно быть)
Открыть: /includes/session.php
Найти:
Код: Выделить всё
   /**
   * Get language id currently used by the user
   */
   function get_iso_lang_id()
Перед вставить:
Код: Выделить всё
// STAH MOD
   function format_date_joined($reg_date)
       {
          $reg_date = $reg_date - floor($reg_date%86400);
          $today = mktime(0, 0, 0, date("m")  , date("d"), date("Y"));
          $day_whith_us = floor(floor(($today - $reg_date)/86400)%30);
          $month_whith_us = floor(($today - $reg_date)/2592000);
          $ret = "";
          if ($month_whith_us == 1)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " мес. и ");
          }
          if ($month_whith_us > 1 && $month_whith_us < 5)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " мес. и ");
          }
          if ($month_whith_us > 4 || $month_whith_us == 0)
          {
             $ret .= $month_whith_us.iconv("cp1251", "UTF-8", " мес. и ");
          }     
          if ($day_whith_us == 1)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " день ");
          }
          if ($day_whith_us > 1 && $day_whith_us < 5)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " дня ");
          }
          if ($day_whith_us > 4 || $day_whith_us == 0)
          {
             $ret .= $day_whith_us.iconv("cp1251", "UTF-8", " дней ");
          }
          return $ret;
       }
// STAH MOD END
Открыть: /viewtopic.php
Найти:
Код: Выделить всё
 'joined'      => $user->format_date($row['user_regdate']),
Заменить на:
Код: Выделить всё
 'joined'      => $user->format_date_joined($row['user_regdate']),
Открыть: /language/ru/common.php
Найти:
Код: Выделить всё
'JOINED'               => 'Зарегистрирован',
После вставить:
Код: Выделить всё
'JOINED_STAH'               => 'Стаж',
Мы подключили кусок кода со стажем только для топика, соответственно нам осталось поменять вывод слова "Стаж" из языкового файла, для этого нужно. Открыть: /styles/название_стиля/template/viewtopic_body.html
Найти:
Код: Выделить всё
{L_JOINED}
Заменить на:
Код: Выделить всё
{L_JOINED_STAH}
Если у Вас трекер, тогда тоже самое проделать.
Открыть: /styles/название_стиля/template/viewtopic_tracker_body.html
Найти:
Код: Выделить всё
{L_JOINED}
Заменить на:
Код: Выделить всё
{L_JOINED_STAH}
Готова.
Примеры, как это выглядит смотрите на этом форуме под аватарой. Если где-то криво въёхал, поправьте, сам давно пользуюсь этим вариантом вывода стажа.
Если нужен стиль для сайта, стучите: ICQ 560107181

Аватара пользователя
Сообщения: 21
Стаж: 7 лет 10 месяцев
Откуда: Эстляндия
Карма: 9

Сообщение » 04 фев 2013, 14:49

Присоединяюсь к "спасибо". Всё встало нормально.
кто не видел настоящей кошки, тот не может рассуждать о неко...

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 7 месяцев
Карма: 30
Россия

Сообщение » 05 фев 2013, 00:20

Здравствуйте! Забыл предупредить, что файл /includes/session.php как бы там нибыло нужно сохранить в кодеровке UTF-8.
Я щас пользуюсь более надёжной модификацией viewtopic.php?&t=110 , попробуйте её.
Если нужен стиль для сайта, стучите: ICQ 560107181

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 7 месяцев
Карма: 30
Россия

Сообщение » 18 фев 2013, 19:51

Код: Выделить всё
<!-- IF postrow.POSTER_JOINED --><br /><b>{L_JOINED}:</b> {postrow.POSTER_JOINED}<!-- ENDIF -->
Такой код есть?
Если нужен стиль для сайта, стучите: ICQ 560107181

Аватара пользователя
Сообщения: 355
Стаж: 8 лет 7 месяцев
Карма: 30
Россия

Сообщение » 19 фев 2013, 18:18

Ищите не там viewforum а нужно в viewtopic стиливом файле искать, одна из причин неработоспособности ...
Если нужен стиль для сайта, стучите: ICQ 560107181


Вернуться в Стабильные и проверенные моды



Кто сейчас на конференции

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