Русская поддержка phpFox 3
Русская поддержка phpFox 3

Статистика записей текущего дня не учитывает часовой пояс

Давно заметил, что статистика записей за текущий день, что отображается в Админ панели, считает начало дня, не учитывая часовой пояс. Это потому что, во всех методах getSiteStatsForAdmins() (Файлы модулей: "callback.class.php"), по умолчанию нацелено на часовой пояс 0:
$today = mktime(0, 0, 0, date('m'), date('d'), date('Y'));

Из за этого статистика может быть неточной.

У меня наконец то дошли руки до этого и сейчас расскажу, как я добился, чтобы статистика записей учитывала часовой пояс.

Для определения времени с учётом часового пояса пользователя, в PHPFox есть метод: convertToGmt(), в библиотеке date (Файл: "include/library/phpfox/date/date.class.php"). Однако функция может работать только с типом переменной int, то есть принимает только цифру (Метка времени). А я хочу ей отправлять строку midnight. Для этого я слегка правлю метод convertToGmt(), добавив в начало метода:
	    // Конвертирование строки в Unix-timestamp (Например: 'midnight')
	    if (!is_numeric($time))
	    {
	   
...

Замена hreh="URL": vanity_url контролёра pages.add

После того, как мы меняем URL своей страницы, в настройках страницы, ссылка "На страницу" может привести нас на 404 ошибку.

Решение: Открыть файл: "module/pages/include/component/ajax/ajax.class.php", найти метод changeUrl, в нём перед строчкой:
					$this->alert(phpfox::getPhrase('pages.successfully_updated_your_pages_url'), phpfox::getPhrase('pages.url_updated'), 300, 150, true);

Добавить:
					$this->call('$(\'.page_section_menu_link:first\').attr(\'href\', \'' . phpfox::getService('pages')->getUrl($this->get('id'), $vals['title'], $newTitle) . '\');');

Внимание: Названия переменных могут отличаться от Ваших, меняйте на свои....