Возврат времени сервера для SunBlog 1.3

Тема в разделе "Неразобранное", создана пользователем refoxter, 13.12.2009.

  1. Offline

    refoxter Недавно здесь

    Регистрация:
    29.09.2007
    Сообщения:
    124
    Симпатии:
    1
    Пол:
    Женский
    Здравствуйте!
    Такая вдруг неполадка. Заметила случайно при проверке после полуночи.
    Джумла 1.0.13, Community Builder 1.1RE, SunBlog 1.3., все работает. При проверке на хосте заметила, что время создания и публикации записи в блоге сервер возвращает неправильно, не учитывает AM и PM.
    На локальном время подставлялось так 01:23:42 PM. На хосте у Мажордомо так 01:23:42. Время на хосте 24-часовое.
    С 00 часов до 1 часа ночи время возвращается как 12часов:--минут.
    С 1 часа ночи получается правильно - 1 час:--минут.
    С полудня до 13 часов время 12часов:--минут.
    С 13 часов - 01час:--минут.
    Соответственно, раз возвращается неправильное время, пользователи автоматом не получат нужное. Файл вроде нашла, но как там все завязано, сходу что-то со временем не разобраться. Файл вроде бы
    components\com_myblog\frontadmin\frontadmin.class.php
    Код (PHP):
    1. # Get POST vars
    2.         $created = $_POST['created'] . " " . $_POST['createdT'];
    3.         $user_id = $_POST['created_by'];
    4.         $title = $_POST['title'];
    5.         $fulltext = $_POST['fulltext'];
    6.         $permalink = $_POST['permalink'];
    7.         $id = $_POST['id'];
    8.         $state = $_POST['state'];
    9.         $curr_date = date('Y-m-d H:i:s');
    10.         $meridian_offset = 0;
    11.  
    12.         if (eregi('PM', $_POST['createdT']) and substr($_POST['createdT'],0,2)!="12") {
    13.             # set offset to extra 12 hours for PM
    14.             $meridian_offset = 12;
    15.         } else if (eregi('AM', $_POST['createdT']) and substr($_POST['createdT'],0,2)=="12")
    16.         {
    17.             $meridian_offset = -12;
    18.         }
    19.  
    20.         # Format created time according to server settings
    21.         $created = (trim($created) != "") ? mosFormatDate($created, '%Y-%m-%d %H:%M:%S', $meridian_offset-$mosConfig_offset) : $curr_date;
    22.  
    23.         $modified = $curr_date;
    24.         $user_id = $user_id ? $user_id : $my->id;
    25.         $trackbacks = $_POST['trackbacks'];
    26.         $title = trim($title);
    27.         $mycatid = $_POST['catid'];
    28.         $mysectionid = $_POST['sectionid'];
    29.         $mypublish_date = $_POST['pub_date'] . " " . $_POST['pub_time'];
    30.         $meridian_offset = 0;
    31.         if (eregi('PM', $_POST['pub_time']) and substr($_POST['pub_time'],0,2)!="12") {
    32.             # set offset to extra 12 hours for PM
    33.             $meridian_offset = 12;
    34.         } else if (eregi('AM', $_POST['pub_time']) and substr($_POST['pub_time'],0,2)=="12")
    35.         {
    36.             $meridian_offset = -12;
    37.         }
    38.         # Format publishing time according to server settings
    39.         $mypublish_date = (trim($mypublish_date) != "") ? mosFormatDate($mypublish_date, '%Y-%m-%d %H:%M:%S', $meridian_offset-$mosConfig_offset) : $created;
    Пожалуйста, помогите разобраться со временем, с этим мне не приходилось еще сталкиваться, возврат времени сервера для меня пока сложен. Кстати, Джумла возвращает время правильно и 24 часовое. Пожалуйста, помогите.
     
    Последнее редактирование: 13.12.2009
  2.  
  3. Offline

    refoxter Недавно здесь

    Регистрация:
    29.09.2007
    Сообщения:
    124
    Симпатии:
    1
    Пол:
    Женский
    Где Джумла выводит время сохранения записи, файлы? Может, оттуда переписать?
    Вывод не в том коде, в этом же файле, но в строчках
    Код (PHP):
    1. $tmpl->addVar('edit', 'PUB_TIME', strftime("%I:%M:%S %p", $publish_up));

    Вот эту переменную %p сервер на хосте почему-то не читает.... ???
     
    Последнее редактирование: 13.12.2009
  4. Offline

    refoxter Недавно здесь

    Регистрация:
    29.09.2007
    Сообщения:
    124
    Симпатии:
    1
    Пол:
    Женский
    Ну, я тут сама с собой общаюсь...
    Моя поправка. В указанной строчке изменила по выводу времени PHP, убрав переменную 12 часов
    Код (PHP):
    1. $tmpl->addVar('edit', 'PUB_TIME', strftime("%H:%M:%S", $publish_up));

    Отозвалось правильно! Правда, не знаю, не вылезет ли еще где ошибка. Буду проверять дальше.
    Все же вопрос остался, где в Джумле указывыается время? В 24 формате?
     

Поделиться этой страницей

Загрузка...