Помощь Коррекция времени в блоке

Тема в разделе "DLE", создана пользователем pozerovnet, 23 авг 2009.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. pozerovnet

    pozerovnet

    Регистр.:
    31 янв 2008
    Сообщения:
    400
    Симпатии:
    11
    Всем привет, с вами - Позёров НЕТ.
    Суть проблемы такова.
    DLE 7.0
    phpbb 2.0.22
    Вывод последних комментариев с форума на сайте в блоке.

    После переезда на новый сервер (на котором время отличное от моего региона и региона основной массы моих пользователей), в блоке выводит время на час вперёд.

    Например:
    » Big rap motion — The ... от SKOOL
    Cегодня, 19:05 [31|330]
    » Ранняя беременность от rock-n-rave
    Cегодня, 17:06 [42|3216]
    » Оффтоп от rock-n-rave
    Cегодня, 16:56 [2482|85561]

    Соответственно каждый из этих комментов был написан в:
    18:05
    16:06
    15:56

    Как скорректировать время в блоке, если оно берётся с сервера (в движке +120, -60 и т.д. не предлагать - не поможет, надо править функцию).
    Сейчас это выглядит примерно так:
    PHP:
    $db_phpbb->query($query_str); 

    while(
    $row $db_phpbb->get_row()) 


    if (
    $row["username"] == "Anonymous") { $row["username"] = "Гость"; }

      
    $format_stroki_user_profile='<a href='.$phpBB_site.'/profile.php?mode=viewprofile&u='.$row['poster_id'].'>'.$row["username"].'</a>'

       switch (
    date("d.m.y",$row["post_time"])): 
          case 
    date("d.m.y"): 
               
    $day"Cегодня, ".date("H:i",$row["post_time"]);   //пост был написан сегодня 
              
    break; 
          case 
    date("d.m.y",time()-86400): 
                
    $day="Вчера, ".date("H:i",$row["post_time"]);      //пост был написан вчера 
              
    break; 
           default: 
              
    $day=date("j M Y, H:i",$row["post_time"]);      //пост был написан более двух дней назад 
        
    endswitch; 

       
    $title1=$row['topic_title']; 
       if (
    strlen($title1) > $dlina_temi
          
    $title2 substr ($title10$dlina_temi)." ...";    //если длина темы больше $dlina_temi символов, то обрезаем 
       
    else 
          
    $title2 $title1;                           //если меньше или равна, то оставляем 

       
    $replycount=$row["topic_replies"]; 
       
    $views=$row['topic_views']; 

       
    $zagolovok=preg_replace('/{Full_title}/',$title1$format_stroki); 
       
    $zagolovok=preg_replace('/{URL_to_post}/',$phpBB_site.'/viewtopic.php?p='.$row["post_id"].'#'.$row["post_id"], $zagolovok); 
       
    $zagolovok=preg_replace('/{Short_title}/',$title2$zagolovok); 
       
    $zagolovok=preg_replace('/{User_name}/',$format_stroki_user_profile$zagolovok); 
       
    $zagolovok=preg_replace('/{Date}/',$day$zagolovok); 
        
       
    $zagolovok=preg_replace('/{ReplyCount}/',$replycount$zagolovok); 
       
    $zagolovok=preg_replace('/{Views}/',$views$zagolovok);
        
       
    $phpbb_block .= $zagolovok

    return 
    $phpbb_block;
    Что подправить, что бы показывало правильное время?
     
  2. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Какой **х движок? Посты то берутся с ФОРУМА, и timestamp ставит ФОРУМ!

    А если хочешь править функцию, то по моему за сдвиг во времени отвечает функция mktime.
     
  3. pozerovnet

    pozerovnet

    Регистр.:
    31 янв 2008
    Сообщения:
    400
    Симпатии:
    11
    Но функция получения времени (для вставки в форум) или как бы это сформулировать... Короче берётся с сервера и эта функция описана в коде в первом посте.
    С форума берётся - это да, но время ставит сервера, потому надо как-то поправить это дело. (сделать в блоке минус один час)
     
  4. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    Да ладно? На форуме править сдвиг по времени установить?
     
  5. pozerovnet

    pozerovnet

    Регистр.:
    31 янв 2008
    Сообщения:
    400
    Симпатии:
    11
    Как? о_О
    На форуме время показывает нормальное (написание поста)

    Смотри демо проблемы:
    http://pozerov.net/
     
  6. Jerry

    Jerry тот самый Учиха

    Регистр.:
    16 апр 2006
    Сообщения:
    1.226
    Симпатии:
    490
    GMT +4, так выводятся дата в сообщении в блоке. Это часовой пояс времени сервера?
     
  7. pozerovnet

    pozerovnet

    Регистр.:
    31 янв 2008
    Сообщения:
    400
    Симпатии:
    11
    Часовой пояс времени сервера МСК (Москва)
    У меня на сайте Беларусь (-1 от МСК или +2 по Гринвичу), но сейчас я так понимаю летнее время, соответственно ещё +1, значит +3 от Гринвича - время моё и как раз если ещё +1 накинуть, то получается время сервера - МСК.
     
Статус темы:
Закрыта.