В плагине «СМС подтверждение регистрации для Joomla» используется 2 сессии, по которым можно определить подтвердил ли пользователь свой номер.
Сессия "smsfox_phone" - устанавливается после того, как пользователь ввел корректный номер телефона.
Сессия "smsfox_code" - устанавливается после того, как пользователь подтвердил свой номер (ввел корректный код из СМС).
Чтобы подружить плагины "Переадресация регистрации и авторизации на JoomShopping" и «СМС подтверждение регистрации для Joomla» нужно сделать следующее.
1) Перед редиректом нужно проверить на существование сессии и если она есть тогда редиректить.
В файле root_your_site/plugins/system/jshopping_registration_redirect/jshopping_registration_redirect.php в событии "onAfterDispatch" нужно добавить условие, т.е. так:
(приблизительные строки 33-38)
...
function onAfterDispatch()
{
// ext. for smsfox_reg
$smsSession =& JFactory::getSession();
if (!$smsSession->get('smsfox_code', false)) {
return;
}
...
2) Чтобы пользователь не попал на страницу регистрации (
www.example.com/index.php/component/jshopping/user/register) без подтверждения номера нужно также проверить сессию.
В файле root_your_site/components/com_jshopping/contrlollers/user.php в контроллере "register()" нужно добавить условие, т.е. так:
(приблизительные строки 163-168)
...
function register(){
$smsSession =& JFactory::getSession();
if (!$smsSession->get('smsfox_code', false)) {
JError::raiseError(403, JText::_('Access Forbidden'));
return;
}
...
Должно получиться следующее, сначала идет подтверждение номера мобильного телефона плагином "smsfox_reg", затем после подтверждения плагин "jshopping_registration_redirect" редиректит на страницу регистрации компонента "com_jshopping". Далее уже пользователь регистрируется через компонент "com_jshopping".