Hello RS team,
I use RSEvents Pro and i set it up to force people to log in before to register to an event. But people were redirected to standard location after login. I was asked to improve this so i checked the view.html.php file and found this :
// If the Force login option is enabled and the current user is not logged in redirect the user
if ($this->config->must_login && $user->get('id') == 0) {
if ($this->config->modal == 0) {
$app->enqueueMessage(JText::_('COM_RSEVENTSPRO_PLEASE_LOGIN'));
$app->redirect(rseventsproHelper::route('index.php?option=com_rseventspro&layout=show&id='.rseventsproHelper::sef($this->event->id,$this->event->name),false,rseventsproHelper::itemid($this->event->id)));
} else {
echo rseventsproHelper::redirect(true,JText::_('COM_RSEVENTSPRO_PLEASE_LOGIN'),rseventsproHelper::route('index.php?option=com_rseventspro&layout=show&id='.rseventsproHelper::sef($this->event->id,$this->event->name),false,rseventsproHelper::itemid($this->event->id)),false,true);
return;
}
}
I modified it by:
// If the Force login option is enabled and the current user is not logged in redirect the user
if ($this->config->must_login && $user->get('id') == 0) {
$currentUrl = JUri::getInstance();
$encodedUrl = base64_encode($currentUrl->toString());
$loginUrl = JRoute::_('index.php?option=com_users&view=login&return=' . $encodedUrl);
if ($this->config->modal == 0) {
$app->enqueueMessage(JText::_('COM_RSEVENTSPRO_PLEASE_LOGIN'));
$app->redirect($loginUrl);
} else {
echo rseventsproHelper::redirect(true,JText::_('COM_RSEVENTSPRO_PLEASE_LOGIN'),rseventsproHelper::route('index.php?option=com_rseventspro&layout=show&id='.rseventsproHelper::sef($this->event->id,$this->event->name),false,rseventsproHelper::itemid($this->event->id)),false,true);
return;
}
}
And it works pretty well.
But when i read your code, i can see "$app->redirect(rseventsproHelper::route('index.php?..." which look like you already consider redirecting people after login.
Can you tell me why my method works and not yours ? Did i missed something in configuration ?
Is there a way to make it persistent even if i update my component ?
Thanks a lot,
Regards,
Bruntho