Приветствую! У меня есть страница, на которой кнопочка, нажимая на которую, отсылается запрос AJAX'ом. Файл, который запрашивается подгружает ядро Joomla! и создает классы БД и пользователя (getDBO && getUser). Дык вот, если нажать эту кнопочку через, например, 1 час без обновления страницы, вызываемый AJAX'ом скрипт выдает, что нет авторизации, хотя на странице написано имя пользователя (естесственно, мы же не обновляли страницу!). А если обновить саму страницу, то авторизация "возвращается". Что это? Кэш? Как сделать, чтобы в таких случаях простоя не слетала авторизация в ядре жумлы? Код иницализации ядра в том скрипте: Код (PHP): // load Joomla core define( '_JEXEC', 1 ); define( 'DS', DIRECTORY_SEPARATOR ); define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..'.DS.'..'.DS.'..' )); require_once ( JPATH_BASE .DS.'includes'.DS.'defines.php' ); require_once ( JPATH_BASE .DS.'includes'.DS.'framework.php' ); $mainframe =& JFactory::getApplication('site'); $mainframe->initialise(); $db =& JFactory::getDBO(); $user =& JFactory::getUser(); Код (PHP): define( 'JPATH_BASE', realpath(dirname(__FILE__).DS.'..'.DS.'..'.DS.'..' )); DS.'..'.DS.'..'.DS.'..' - есть /../../.. ибо у меня скрипт находится на 3 уровня глубже корня сайта.
Здравствуйте. Думаю, что дело кроется во времени авторизации. При заходе на сайт вы поставили флажок запомнить меня, а при обращении AJAXом это не учитывается, а время бездействия вышло... P.S. Я скорее всего ошибаюсь. Надеюсь знающие люди меня поправят.
Как я понял, при галочке "запомнить меня" куки пишутся на более долгое время. Но сама джумла, обычным заходом через браузер "помнит" последнего авторизованного пользователя, а через АЯКС "забывает". Значит для инициализации Joomla! через скрипт нужно что-то дописать. Но что и где?
Тема более чем актуальна! Разве никто не знает причин? Код инициализации движка скопирован полностью с жомтубовского ajax файла, НО там работает без сбоев, а у меня во такие пироги. Как хоть найти то проблемное место?
Попробуйте покопаться и поэкспериментировать в настройках сайта через админ панель - там есть настройки авторизации, и самое главное, настройки длительности авторизованности.