Lashchevskiy 5 Опубликовано: 27 октября 2014 Рассказать Опубликовано: 27 октября 2014 Здравствуйте! Хочу обратить Ваше внимание, что, во-первых, Москва переехала на GMT +3, во-вторых, в России вновь произошли деления часовых поясов. Прошу это учесть и предложить срочное исправление этой проблемы. С уважением, Александр. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 27 октября 2014 Рассказать Опубликовано: 27 октября 2014 Хочу обратить Ваше внимание, что, во-первых, Москва переехала на GMT +3 DLE не использует в своей работе никаких указаний GMT, это лишь визуальное отображение. DLE использует определения часовых поясов предусмотренных PHP интерпретатором. Обновите серверное ПО, в частности tzdata и все заработает автоматически, править со стороны скрипта тут нечего, кроме визуального отображения, это будет конечно внесено в следующие версии. во-вторых, в России вновь произошли деления часовых поясов. Все часовые пояса специально выведены в языковые файлы. Вы можете добавить нужные вам в языковые файлы adminpanel.lng и website.lng в строках $langtimezones = array( 'Pacific/Midway' => "(GMT-11:00) Остров Мидуэй", 'US/Samoa' => "(GMT-11:00) Самоа", 'US/Hawaii' => "(GMT-10:00) Гавайи", 'US/Alaska' => "(GMT-09:00) Аляска", 'US/Pacific' => "(GMT-08:00) Тихоокеанское время (США и Канада)", 'America/Tijuana' => "(GMT-08:00) Тихуана", 'US/Arizona' => "(GMT-07:00) Аризона", 'US/Mountain' => "(GMT-07:00) Горное время (США и Канада)", 'America/Chihuahua' => "(GMT-07:00) Чихуахуа", 'America/Mazatlan' => "(GMT-07:00) Масатлан", 'America/Mexico_City' => "(GMT-06:00) Мехико", 'America/Monterrey' => "(GMT-06:00) Монтеррей", 'US/Central' => "(GMT-06:00) Центральное время (США и Канада)", 'US/Eastern' => "(GMT-05:00) Восточное время (США и Канада)", 'US/East-Indiana' => "(GMT-05:00) Индиана (Восток)", 'America/Lima' => "(GMT-05:00) Лима, Богота", 'America/Caracas' => "(GMT-04:30) Каракас", 'Canada/Atlantic' => "(GMT-04:00) Атлантическое время (Канада)", 'America/La_Paz' => "(GMT-04:00) Ла-Пас", 'America/Santiago' => "(GMT-04:00) Сантьяго", 'Canada/Newfoundland' => "(GMT-03:30) Ньюфаундленд", 'America/Buenos_Aires' => "(GMT-03:00) Буэнос-Айрес", 'Greenland' => "(GMT-03:00) Гренландия", 'Atlantic/Stanley' => "(GMT-02:00) Стэнли", 'Atlantic/Azores' => "(GMT-01:00) Азорские острова", 'Africa/Casablanca' => "(GMT) Касабланка", 'Europe/Dublin' => "(GMT) Дублин", 'Europe/Lisbon' => "(GMT) Лиссабон", 'Europe/London' => "(GMT) Лондон", 'Europe/Amsterdam' => "(GMT+01:00) Амстердам", 'Europe/Belgrade' => "(GMT+01:00) Белград", 'Europe/Berlin' => "(GMT+01:00) Берлин", 'Europe/Bratislava' => "(GMT+01:00) Братислава", 'Europe/Brussels' => "(GMT+01:00) Брюссель", 'Europe/Budapest' => "(GMT+01:00) Будапешт", 'Europe/Copenhagen' => "(GMT+01:00) Копенгаген", 'Europe/Madrid' => "(GMT+01:00) Мадрид", 'Europe/Paris' => "(GMT+01:00) Париж", 'Europe/Prague' => "(GMT+01:00) Прага", 'Europe/Rome' => "(GMT+01:00) Рим", 'Europe/Sarajevo' => "(GMT+01:00) Сараево", 'Europe/Stockholm' => "(GMT+01:00) Стокгольм", 'Europe/Vienna' => "(GMT+01:00) Вена", 'Europe/Warsaw' => "(GMT+01:00) Варшава", 'Europe/Zagreb' => "(GMT+01:00) Загреб", 'Europe/Athens' => "(GMT+02:00) Афины", 'Europe/Bucharest' => "(GMT+02:00) Бухарест", 'Europe/Helsinki' => "(GMT+02:00) Хельсинки", 'Europe/Istanbul' => "(GMT+02:00) Стамбул", 'Asia/Jerusalem' => "(GMT+02:00) Иерусалим", 'Europe/Kiev' => "(GMT+02:00) Киев", 'Europe/Minsk' => "(GMT+02:00) Минск", 'Europe/Riga' => "(GMT+02:00) Рига", 'Europe/Sofia' => "(GMT+02:00) София", 'Europe/Tallinn' => "(GMT+02:00) Таллин", 'Europe/Vilnius' => "(GMT+02:00) Вильнюс", 'Asia/Baghdad' => "(GMT+03:00) Багдад", 'Asia/Kuwait' => "(GMT+03:00) Кувейт", 'Africa/Nairobi' => "(GMT+03:00) Найроби", 'Asia/Tehran' => "(GMT+03:30) Иран, Тегеран", 'Europe/Moscow' => "(GMT+04:00) Москва", 'Europe/Volgograd' => "(GMT+04:00) Волгоград", 'Asia/Baku' => "(GMT+04:00) Баку", 'Asia/Muscat' => "(GMT+04:00) Абу-Даби, Маскат", 'Asia/Tbilisi' => "(GMT+04:00) Тбилиси", 'Asia/Yerevan' => "(GMT+04:00) Ереван", 'Asia/Kabul' => "(GMT+04:30) Афганистан, Кабул", 'Asia/Tashkent' => "(GMT+05:00) Ташкент, Карачи", 'Asia/Kolkata' => "(GMT+05:30) Бомбей, Калькутта, Мадрас, Нью-Дели, Коломбо", 'Asia/Kathmandu' => "(GMT+05:45) Катманду", 'Asia/Yekaterinburg' => "(GMT+06:00) Екатеринбург", 'Asia/Almaty' => "(GMT+06:00) Алматы, Астана", 'Asia/Novosibirsk' => "(GMT+07:00) Новосибирск", 'Asia/Jakarta' => "(GMT+07:00) Бангкок, Ханой, Джакарта", 'Asia/Krasnoyarsk' => "(GMT+08:00) Красноярск", 'Asia/Hong_Kong' => "(GMT+08:00) Гонконг, Чунцин", 'Asia/Kuala_Lumpur' => "(GMT+08:00) Куала-Лумпур", 'Asia/Singapore' => "(GMT+08:00) Сингапур", 'Asia/Taipei' => "(GMT+08:00) Тайбэй", 'Asia/Ulaanbaatar' => "(GMT+08:00) Улан-Батор", 'Asia/Urumqi' => "(GMT+08:00) Урумчи", 'Asia/Irkutsk' => "(GMT+09:00) Иркутск", 'Asia/Seoul' => "(GMT+09:00) Сеул", 'Asia/Tokyo' => "(GMT+09:00) Токио, Осака, Саппоро", 'Australia/Adelaide' => "(GMT+09:30) Аделаида", 'Australia/Darwin' => "(GMT+09:30) Дарвин", 'Asia/Yakutsk' => "(GMT+10:00) Якутск", 'Australia/Brisbane' => "(GMT+10:00) Брисбен", 'Pacific/Port_Moresby' => "(GMT+10:00) Гуам, Порт-Морсби", 'Australia/Sydney' => "(GMT+10:00) Мельбурн, Сидней, Канберра", 'Asia/Vladivostok' => "(GMT+11:00) Владивосток", 'Asia/Magadan' => "(GMT+12:00) Магадан, Камчатка", 'Pacific/Auckland' => "(GMT+12:00) Окленд, Веллингтон", 'Pacific/Fiji' => "(GMT+12:00) Фиджи, Маршалловы о.", ); [/CODE] Где собственно например Europe/Moscow это и есть указание часового пояса с которым работать скрипт и сервер должен. Добавляйте нужные недостающие пояса. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 10 ноября 2014 Рассказать Опубликовано: 10 ноября 2014 Применение таких зон как: Europe/Samara +4 Pacific/Guadalcanal +11 Asia/Srednekolymsk +11 Asia/Anadyr +12 Asia/Kamchatka +12 Pacific/Tongatapu +13 Pacific/Apia +14 сбрасывает пользователя на серверное время, т.е. в профиле он не может указать эти часовые пояса. При чём если в админке указать например Asia/Kamchatka (в админке устанавливается правильно), а в профиле будет по умолчанию, то у него всё равно будет серверное время. На сервере проблем вроде нет (PHP 5.5.18-1~dotdeb.1): # php -r 'date_default_timezone_set("Europe/Samara"); echo "\n".date ("P",1414789200)."\n\n";' +04:00 # php -r 'date_default_timezone_set("Pacific/Guadalcanal"); echo "\n".date ("P",1414789200)."\n\n";' +11:00 # php -r 'date_default_timezone_set("Asia/Srednekolymsk"); echo "\n".date ("P",1414789200)."\n\n";' +11:00 # php -r 'date_default_timezone_set("Asia/Anadyr"); echo "\n".date ("P",1414789200)."\n\n";' +12:00 # php -r 'date_default_timezone_set("Asia/Kamchatka"); echo "\n".date ("P",1414789200)."\n\n";' +12:00 # php -r 'date_default_timezone_set("Pacific/Tongatapu"); echo "\n".date ("P",1414789200)."\n\n";' +13:00 # php -r 'date_default_timezone_set("Pacific/Apia"); echo "\n".date ("P",1414789200)."\n\n";' +14:00 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 10 ноября 2014 Рассказать Опубликовано: 10 ноября 2014 сбрасывает пользователя на серверное время, т.е. в профиле он не может указать эти часовые пояса. Языковой файл для сайта website.lng вы изменили также как и файл админпанели? И сайт и админпанель используют одни и тоже настройки сайта, если на сайте есть аномалии, а в админпанели нет, то возможно вы обновили не все файлы скрипта, и часть у вас от старых версий, где нет использования часовых поясов. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 10 ноября 2014 Рассказать Опубликовано: 10 ноября 2014 Чисто установленный дистрибутив, шаблон Default, правок файлов двига нет, строки зон в .lng файлах одинаковые. Добавляю например: 'Europe/Samara' => "(GMT+04:00) Ижевск, Самара",[/CODE] Результата для сайта нет, с остальными зонами проблем нет, кроме выше мною перечисленных. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 10 ноября 2014 Рассказать Опубликовано: 10 ноября 2014 Captain, Подождите я сейчас не совсем понимаю суть проблемы. DLE использует обычную установку зоны date_default_timezone_set, сначала он устанавливает эту зону по умолчанию из настроек скрипта. У пользователя когда он выбирает свою зону, сдвигается время только у новостей и комментариев при их показе. Причем если включен кеширование, то например время он уже будет из кеша, это применительно к кратким новостям. В полной и комментариев кеша нет, плюс смещение делается относительно времени когда новость была добавлена и относительно того часового пояса на котором она была добавлена. Для посетителя сайта не применяется отдельное date_default_timezone_set для него сдвигается только время у новостей и комментариев, причем для кратких новостей оно может и не сдвинуться из за кеширования. А если не устанавливается системное время из настроек, то нет поддержки данной зоны уже в серверном ПО. Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 10 ноября 2014 Рассказать Опубликовано: 10 ноября 2014 Так я про новости и комментарии и говорю, но выше мною перечисленные зоны пользователь с сайта не может установить для себя, в админ панели эти зоны устанавливаются корректно, но если поставить в админке например Europe/Samara, то у пользователя на сайте будет по умолчанию Europe/Moscow (серв. время). Проверка сервера командой, например для Europe/Samara # php -r 'date_default_timezone_set("Europe/Samara"); echo "\n".date ("P",1414789200)."\n\n";[/CODE] даёт правильный результат +4. Я вам сейчас доступы скину, проверьте пожалуйста на зоне "Самара, Ижевск", я её поставил для проверки. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 11 ноября 2014 Рассказать Опубликовано: 11 ноября 2014 Прошу прощения. В теме на форуме я совершенно забыл, что для того чтобы принимались новые часовые пояса в профиле нужно внести новые пояса в список корректных в файлах engine/modules/profile.php и engine/modules/functions.php в строчке $timezones = array('Pacific/Midway','US/Samoa','US/Hawaii','US/Alaska','US/Pacific','America/Tijuana','US/Arizona','US/Mountain','America/Chihuahua','America/Mazatlan','America/Mexico_City','America/Monterrey','US/Central','US/Eastern','US/East-Indiana','America/Lima','America/Caracas','Canada/Atlantic','America/La_Paz','America/Santiago','Canada/Newfoundland','America/Buenos_Aires','Greenland','Atlantic/Stanley','Atlantic/Azores','Africa/Casablanca','Europe/Dublin','Europe/Lisbon','Europe/London','Europe/Amsterdam','Europe/Belgrade','Europe/Berlin','Europe/Bratislava','Europe/Brussels','Europe/Budapest','Europe/Copenhagen','Europe/Madrid','Europe/Paris','Europe/Prague','Europe/Rome','Europe/Sarajevo','Europe/Stockholm','Europe/Vienna','Europe/Warsaw','Europe/Zagreb','Europe/Athens','Europe/Bucharest','Europe/Helsinki','Europe/Istanbul','Asia/Jerusalem','Europe/Kiev','Europe/Minsk','Europe/Riga','Europe/Sofia','Europe/Tallinn','Europe/Vilnius','Asia/Baghdad','Asia/Kuwait','Africa/Nairobi','Asia/Tehran','Europe/Moscow','Europe/Volgograd','Asia/Baku','Asia/Muscat','Asia/Tbilisi','Asia/Yerevan','Asia/Kabul','Asia/Tashkent','Asia/Kolkata','Asia/Kathmandu','Asia/Yekaterinburg','Asia/Almaty','Asia/Novosibirsk','Asia/Jakarta','Asia/Krasnoyarsk','Asia/Hong_Kong','Asia/Kuala_Lumpur','Asia/Singapore','Asia/Taipei','Asia/Ulaanbaatar','Asia/Urumqi','Asia/Irkutsk','Asia/Seoul','Asia/Tokyo','Australia/Adelaide','Australia/Darwin','Asia/Yakutsk','Australia/Brisbane','Pacific/Port_Moresby','Australia/Sydney','Asia/Vladivostok','Asia/Magadan','Pacific/Auckland','Pacific/Fiji'); [/CODE] Цитата Ссылка на сообщение Поделиться на других сайтах
Captain 625 Опубликовано: 11 ноября 2014 Рассказать Опубликовано: 11 ноября 2014 OK' Принято. Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.