Today At/Yesterday At

Здесь авторы постили бета-версии своих модификаций для phpBB 2.0.x. Внимание! Не устанавливайте бета-версии модов на работающие форумы!
StolkNovenie
phpBB 1.0.0
Сообщения: 5
Зарегистрирован: 01.06.2006 18:47

Сообщение StolkNovenie » 09.06.2006 14:13

выложите пожалуйста ещё раз мод, а то ссылка в первом сообщение издохла. и вот такой вопрос: на phpBB 2.19 нормально встанет?

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 09.06.2006 15:24

StolkNovenie
поищите лучше аналогичный мод от пользователя Гога
я люблю daft punk | новый sugoi.ru

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 09.06.2006 16:56

Установил сабж от Гоги. Сам нахожусь в часовом поясе мск+4.
Имею следующее: допустим, постит юзер, находящийся в Москве. Утром, в 9.00 по местному, проверяю сообщения, и вижу последнее собщение - Сегодня, в 19.39.

В чем проблема?
Изображение

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 09.06.2006 18:40

rxu писал(а):В чем проблема?
не могу занть - у меня работает идеально.
выкачано отсюда http://www.pomorsu.ru/forum/mods/Univer ... rdayAt.txt ?
я люблю daft punk | новый sugoi.ru

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 09.06.2006 21:43

Да, отсюда. Странненько...
Изображение

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 16.08.2006 13:00

Глюк остается. И, что интересно, характерен только для индекса. Т.е. на индексе напротив форума последнее сообщение значится, допустим, "Сегодня в 18.33", но в самом форуме напротив темы это же сообщение - уже "Вчера в 18.33". Форум - +6gmt, сам - +7gmt, глюк пока проявлялся у юзеров в часовом поясе меньше чем +6gmt.

При этом в index.php и viewforum.php строки, отвечающие за определение времени последнего поста, на первый взгляд идентичны, но переменные, естественно, разные. Что-то не то с обработкой post_time на индексе, я подозреваю.

Гога, ау :)

Аватара пользователя
Гога
phpBB 2.0.0
Сообщения: 220
Зарегистрирован: 09.05.2005 16:06
Откуда: Архангельск
Контактная информация:

Сообщение Гога » 16.08.2006 20:12

Ничего не знаю. Проверьте руки. (Это шутка - не обижайтесь).
1. Алгоритм доказан.
2. У нас работает правильно при любых зонах.
Гугл рулит. Я люблю ЛОР.
Интересно, они пришли с миром или им таки нужен наш моск?
Знания принадлежат всему человечеству.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 16.08.2006 21:31

Гога, не обижаюсь я, мод не сложный для установки, на сорок раз уж всё проверил, блин. Ладно... буду ждать самоустранения бага :)
Изображение

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 18.08.2006 8:20

Гога, сорри, пытаясь разобраться с глюком или своими кривыми руками :) понял, что в результате установки мода имеем в common.php строки:

Код: Выделить всё

$board_config['default_timeformat'] = get_time_format();
$board_config['time_today'] = get_time_moment('today');
$board_config['time_yesterday'] = $board_config['time_today'] - 86400;
При отработке index.php, viewforum.php, viewtopic.php уже после common.php в результате инициализации init_userprefs($userdata) снова происходит переопределение

Код: Выделить всё

		$board_config['default_timeformat'] = get_time_format();
		$board_config['time_today'] = get_time_moment('today');
		$board_config['time_yesterday'] = $board_config['time_today'] - 86400;
Хочу понять, обсуловлено ли это необходимостью и можно ли убрать такое дублирование, заранее сэнкс.
Изображение

Аватара пользователя
Гога
phpBB 2.0.0
Сообщения: 220
Зарегистрирован: 09.05.2005 16:06
Откуда: Архангельск
Контактная информация:

Сообщение Гога » 18.08.2006 10:58

Так и надо. Первый раз - умолчальные параметры (например, для гостей), второй - с учётом установок пользователя (если таковые имеются).
Гугл рулит. Я люблю ЛОР.
Интересно, они пришли с миром или им таки нужен наш моск?
Знания принадлежат всему человечеству.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 18.08.2006 17:19

Разобрался, спасибо.
Изображение

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 23.08.2006 12:11

Дальнейшее копание в коде начинает приводить к мысли, что всему виной проблемы совместимости с Simple Subforums, но доказать пока не могу :)
Изображение

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14402
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 344 раза
Поблагодарили: 1514 раз
Контактная информация:

Сообщение rxu » 13.10.2006 15:55

Оказалось, что подфорумы как раз и не причем. Виновен мод IP Country Flag, в составе которого есть includes/today_userlist.php, а в нем...

Код: Выделить всё

/
// Get the time today and yesterday
//
$today_ary = explode('|', create_date('m|d|Y', time(),$board_config['board_timezone']));
$board_config['time_today'] = gmmktime(0 - $board_config['board_timezone'] - $board_config['dstime'],0,0,$today_ary[0],$today_ary[1],$today_ary[2]);
$board_config['time_yesterday'] = $board_config['time_today'] - 86400;
unset($today_ary);
Вот как бывает :)
Вылечилось помещением указанного блока в коммент.
Изображение

Lstasss
phpBB 1.4.4
Сообщения: 166
Зарегистрирован: 27.09.2006 22:08
Откуда: Варшава (Польша) / Кишинёв (Молдова)
Контактная информация:

Сообщение Lstasss » 23.12.2006 12:47

Гога, спасибо за мод.
rxu, спасибо за "прививку". :)
обожаю строку "EoM" :D
http://nepopsisty.net/forum.php - форум НЕпопсистов :twisted:

Аватара пользователя
go
phpBB 2.0.1
Сообщения: 261
Зарегистрирован: 13.03.2006 23:12

Сообщение go » 11.03.2007 20:37

к моему сожалению мод от Author: quazi < quazi > не встал на форум однако ,мною было достигнуто то.к чему было стремление:
1.показать на главной странице Вчера-Сегодня
2.в постах посетителей показать их послдений визит.
сделано мною таким образом:
1.Установлен мод

Код: Выделить всё

MOD Title: Universal TodayAt/YesterdayAt Mod
## MOD Author: Goga < pashev dot igor at pomorsu dot ru > (Igor Pashev) n/a
без мода Today At/Yesterday At(!!!)
2. в добалвении ,которые предложил товарищ Поручик(см. 1 старницу темы)
были найдены строки

Код: Выделить всё

# 
#-----[ OPEN ]------------------------------ 
# 

viewtopic.php 

# 
#-----[ FIND ]----------------------------------- 
#
   $poster_posts = ( $postrow[$i]['user_id'] != ANONYMOUS ) 

# 
#-----[ BEFORE, ADD ]------------------------------------ 
#для мода Today At/Yesterday At 

   $poster_last_visit= ''; 
   if ( ($postrow[$i]['user_allow_viewonline'] || $userdata['user_level'] == ADMIN) &&  $postrow[$i]['user_id'] != ANONYMOUS ) 
   { 
      if ( $board_config['time_today'] < $postrow[$i]['user_lastvisit']) 
      { 
         $poster_last_visit= $lang['Last_visited'] . ': ' . sprintf($lang['Today_at'], create_date($board_config['default_timeformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone'])).'<br />'; 
      } 
      else if ( $board_config['time_yesterday'] < $postrow[$i]['user_lastvisit']) 
      { 
         $poster_last_visit= $lang['Last_visited'] . ': ' . sprintf($lang['Yesterday_at'], create_date($board_config['default_timeformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone'])).'<br />'; 
      } 
      else 
      { 
         $poster_last_visit= $lang['Last_visited'] . ': ' . create_date($board_config['default_dateformat'], $postrow[$i]['user_lastvisit'], $board_config['board_timezone']).'<br />'; 
      } 
   } 


после вставке кода совершены подобные шаги:

Код: Выделить всё

#-----[ IN-LINE  FIND]------------------------------------
create_date
#
#-----[ REPLACE WITH ]------------------------------------------
#
create_date_simple
функционирует должным образом.
Изображение
Это лох-неское чудовище потеряло свое озеро и бегает, пока его кто-нибудь не пристрелит.

Закрыто

Вернуться в «Бета-версии модов для phpBB 2.0.x»