Тема: [Решение] - Модуль auth не правильность передачи параметров
При использовании данного модуля на сайте где используеться несколько языков при сбросе пароля возникает ошибка, так как сегменты меняються по счёту. А именно код:
// Методд сброса пароля
public function reset_password() {
// Получение эл. почты и ключа из сегментов урл.
$email = $this->uri->segment(3);
$key = $this->uri->segment(4);
// Сброс пароля
if ($this->dx_auth->reset_password($email, $key)) {
// Сброс пароя выполнен удачно
$data['auth_message'] = lang('Забытый вами пароль заменён на новый. Для входа в свой профиль используйте новый пароль, который был прислан Вам на эл. почту.', 'auth');
// Добавление сообщения об ошибке в шаблон
$this->template->assign('auth_message', $data['auth_message']);
} else {
// Сообщение об ошибке сброса пароля
$data['auth_message_error'] = lang('Ошибка сброса пароля. Возможные причины: не указана эл. почта, отсутствует URL адрес сброса пароля или переданы неправильные параметры.', 'auth');
// Добавление сообщения об ошибке в шаблон
$this->template->assign('auth_message_error', $data['auth_message_error']);
}
// Вывод шаблона
if ($this->input->server('HTTP_X_REQUESTED_WITH') != 'XMLHttpRequest') {
$this->template->show('reset_password');
} else {
$this->template->display('reset_password');
}
}
Ошибка, работает только с языком сайта что установлен по дефалту:
[b] // Получение эл. почты и ключа из сегментов урл.
$email = $this->uri->segment(3);
$key = $this->uri->segment(4);[/b]
Тут надо делать проверкку на присутствие в урл сегмента языковой версии сайта.