0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 2911 Просмотров
*

maggot26

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Пользователь логинится на сайте и в таблицу jos_users в поле lastvisitDate записывается дата, но почему-то на 3 часа раньше и так все время. И если посмотреть профиль пользователя, то Last Online тоже 3 часа назад. Не понимаю почему так. Использую CB.
*

maggot26

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Хотя, если логиниться с помощью mod_login, то эффект такой же...
*

Fox64

  • Захожу иногда
  • 67
  • 7 / 0
Пользователь логинится на сайте и в таблицу jos_users в поле lastvisitDate записывается дата, но почему-то на 3 часа раньше и так все время. И если посмотреть профиль пользователя, то Last Online тоже 3 часа назад. Не понимаю почему так. Использую CB.

Часовой пояс (UTC +03:00) Багдад, Москва ....
*

maggot26

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
часвой пояс выбран верно. При этом если его менять, то ничего не изменяется, все равно -3 часа.
*

Fox64

  • Захожу иногда
  • 67
  • 7 / 0
часвой пояс выбран верно. При этом если его менять, то ничего не изменяется, все равно -3 часа.

Мне кажется все-таки эксперемент был не чистым. Попробуй вновь. Поменяй часовой пояс в настройках сервера, сохрани, логинься и посмотри. Должно измениться. Иначе это бред.
« Последнее редактирование: 30.12.2009, 15:49:04 от Fox64 »
*

kharol

  • Завсегдатай
  • 1721
  • 217 / 0
Недавно ко мне обратился клиент, которому очень важна сортировка пользователей по последнему посещению сайта. Оказалось, что фильтр по дате не работает, точнее работает точно так же как сортировка по username. Оказалось, ошибка тянется еще со сборки 1.5.20
Исправить можно в файле: administrator/components/com_users/views/view.html.php
строка 96:
Код
if (!in_array($filter_order, array('a.name', 'a.username', 'a.block', 'groupname', 'a.email', 'a.lastvisitDate', 'a.id'))) {
в строке заменить a.lastvisitdate на a.lastvisitDate
Наверное просто опечатались...
Чтобы сказать "спасибо" достаточно нажать на "+"
Чтобы сделать бухгалтерскую проводку "спасибо" реквизиты: R192102130372, ЯД:41001768818003
*

Baobab

  • Новичок
  • 8
  • 0 / 0
Пользователь логинится на сайте и в таблицу jos_users в поле lastvisitDate записывается дата, но почему-то на 3 часа раньше и так все время. И если посмотреть профиль пользователя, то Last Online тоже 3 часа назад. Не понимаю почему так. Использую CB.
Мне кажется все-таки эксперемент был не чистым. Попробуй вновь. Поменяй часовой пояс в настройках сервера, сохрани, логинься и посмотри. Должно измениться. Иначе это бред.

Эта проблема существует и в последней версии Joomla 1.5.23!

Пришлось самому сегодня в нее упереться.
Как оказалось, ошибка была зарегистрирована в Joomla аж 2009-01-06 ( [#14451] Last Visit Date Incorrect ), но фикс так почему-то и не вошел в 1.5.23

Исправлять ее так:

1. Открываем
Код
../libraries/joomla/database/table/user.php
2. Ищем текст
Код
. ' SET lastvisitDate = '.$this->_db->Quote($date->toMySQL())
3. Заменяем его на
Код
. ' SET lastvisitDate = '.$this->_db->Quote(date( 'Y-m-d H:i:s'))

Теперь значение Даты и Времени в поле lastvisitDate в таблице jos_users будет соответствовать действительному.
« Последнее редактирование: 25.06.2011, 14:11:57 от Baobab »
*

fsv

  • Живу я здесь
  • 2765
  • 402 / 2
Эта проблема существует и в последней версии Joomla 1.5.23!
...............
Теперь значение Даты и Времени в поле lastvisitDate в таблице jos_users будет соответствовать действительному.

было: в менеджере пользователей в админке - соответствовало, в базе = -3 часа
стало: в таблице соответствует, но в менеджере пользователей в админке = +3 часа

?

...Исправить можно в файле: administrator/components/com_users/views/view.html.php
строка 96:
Код
if (!in_array($filter_order, array('a.name', 'a.username', 'a.block', 'groupname', 'a.email', 'a.lastvisitDate', 'a.id'))) {
в строке заменить a.lastvisitdate на a.lastvisitDate
Наверное просто опечатались...

у меня Date и было прописано с большой.
Joomla 1.5.23



« Последнее редактирование: 25.06.2011, 16:54:22 от fsv »
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

Baobab

  • Новичок
  • 8
  • 0 / 0
стало: в таблице соответствует, но в менеджере пользователей в админке = +3 часа
Для меня например Админка не показатель, т.к. мои скрипты работают напрямую с БД.
Тем не менее, в Админке у меня установлено по умолчанию:

Общие настройки -> Сервер -> Временная зона = (UTC 00:00) Время по Гринвичу: Дублин, Лондон, Лиссабон

И время совпадает и в Админке и в БД.
Хотя, в других местах, например при публикации документов, может выводиться время не серверное, а с учетом Временной зоны. Тогда нужно искать другое решение проблемы.
Естественно нужно еще где-то пытаться искать выход из этого положения. Возможно найдется более подходящее решение, но пока есть то, что есть.
« Последнее редактирование: 25.06.2011, 20:19:33 от Baobab »
*

Baobab

  • Новичок
  • 8
  • 0 / 0
А вообще-то, как мне кажется, чтобы не копать самим себе еще более глубокую яму, то наверно стоит подразумевать, что "Дата последнего визита" в БД отображается в UTC без корректировки по временной зоне.
Ну а если понадобится в собственном скрипте выводить дату и время с корректировкой по временной зоне, то для получения значения "Временная зона" можно использовать getOffset() импортируя соответствующий класс jimport( 'joomla.utilities.date' );
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вход в административный раздел - Имя пользователя и пароль не совпадают

Автор ZekMan

Ответов: 70
Просмотров: 24510
Последний ответ 16.12.2017, 20:12:04
от Aleks_El_Dia
Отключил плагин входа

Автор RayCD

Ответов: 13
Просмотров: 4410
Последний ответ 09.10.2016, 02:27:30
от SeBun
Лог входа пользователей в систему

Автор Vasja555

Ответов: 1
Просмотров: 1514
Последний ответ 04.03.2015, 22:18:18
от voland
Активация пользователя администратором для Joomla 1.5.9

Автор malalex

Ответов: 10
Просмотров: 4334
Последний ответ 09.01.2015, 21:44:55
от GSWG
как узнать IP адрес пользователя, какой раздел сейчас смотрит, что делал, что делает... и т.д.

Автор asilbeko

Ответов: 3
Просмотров: 4763
Последний ответ 22.12.2014, 06:09:23
от arturk