Привет, формумчане.
На одном сайте (joomla 3.0.3) установлен PWeb AJAX Popup Contact Form
3.2.22Работает замечательно. Но я решил поработать над скокостью загрузки страниц. Включил плагин "Система-кеш" и форма перестает отправлять сообщения. Причем не сразу, а через минут 15, т.е. видимо после создания файлов кеша.
Вылетают ошибки: "
Недопустимый маркер. Обновите страницу и попробуйте еще раз" и еще какая-то, уже не могу отловить.
Начал копать. Хотел сначала обновиться. Joomla корректно не обновляется - сайт падает. Пробовал как через панель, так и накатыванием файлов сверху.
Пробовал обновить модуль - оказывается для Joomla 3.0.3 выше PWeb 3.2.22 ставить тоже нельзя - падает (на оф. сайте модуля написано)
Копаю дальше. Нашел код, где вылетает эта ошибка: /modules/mod_pwebcontact/
helper.php строка 1270 (примерно)
(MOD_PWEBCONTACT_TOKEN_ERR="Недопустимый маркер. Обновите страницу и попробуйте еще раз")
код:
public static function checkToken()
{
$response = true;
try {
$app = JFactory::getApplication();
$token = JSession::getFormToken();
if (!($app->input->post->get($token, '', 'alnum') || $app->input->get->get($token, '', 'alnum')))
{
$session = JFactory::getSession();
if ($session->isNew())
{
// session has expired or cookies are blocked
$response = array('status' => 308, 'msg' => JText::_('MOD_PWEBCONTACT_COOKIES_ERR'));
}
else
{
$response = array('status' => 302, 'msg' => JText::_('MOD_PWEBCONTACT_TOKEN_ERR')); // на этой ветке вылетает
}
}
} catch (Exception $e) {
$response = array('status' => 302, 'msg' => JText::_('MOD_PWEBCONTACT_JOOMLA_ERR'), 'debug' => array($e->getMessage().' in '.$e->getFile().' on line '.$e->getLine()));
}
return $response;
}
Пробовал разные варианты настроки модуля (включал/отключал подключение бутстрап скриптов и стилей, тестил в режиме debug).
И что самое неудобное - после очистки кеша форма работает минут 20, что меня несколько раз вводило в заблуждение.
В итоге я нашел два решения, оба меня не устраивают:
1. Не включать плагин "система-кеш"
2. закоментить тело функции и возвращать просто "true"
Остановился пока что на втором варианте. Но неизвестно к чему это приведет.
Кто силен в этом модуле подскажите почему он нестабильно работает при включенном плагине "система-кеш"?
п.с. обновить ни Joomla, ни модуль я не могу - сайт падает.