romaamor писал(а):Как его синхронизировать с часовым поясом установленному в админке ?
Так расширение как раз обновляется в полночь по Гринвичу.
В часовом поясе GMT+2 оно как раз обновится ровно в 2 часа ночи.
Вернее, расширение не обновляется само, как в принципе должно.
Оно лишь обновляет таблицу, если кто-то зайдёт на форум после нужного времени.
В файле
core/who_was_here.php
есть функция
prune()
, которая требует доделки.
Она в принципе должна вычитать текущий часовой пояс пользователя и прибавлять основной часовой пояс конференции.
Хотя в phpBB 3.1
$this->config['board_timezone']
не есть число, а
$this->config['board_dst']
и вовсе отсутствует.
Неудивительно, что расширение "ломается" в этой части кода.
Т.е. попробуйте в этом файле
Код: Выделить всё
self::$prune_timestamp = gmmktime(0, 0, 0, gmdate('m', $timestamp), gmdate('d', $timestamp), gmdate('Y', $timestamp));
self::$prune_timestamp -= ($this->config['board_timezone'] * 3600);
self::$prune_timestamp -= ($this->config['board_dst'] * 3600);
заменить на
Код: Выделить всё
self::$prune_timestamp = $this->user->get_timestamp_from_format('Y-m-d H:i:s', date('Y', $timestamp).'-'.date('m', $timestamp).'-'.date('d', $timestamp).' 00:00:00', new \DateTimeZone($this->config['board_timezone']));
Да и потом, стоит использовать cron (к тому же есть расширение для отслеживания запланированных заданий cron ;-) ).
Таким образом, расширение требует доделки, так как не полностью доработано для phpBB 3.1.