Тема: [4.12 corporate] - Модуль 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]

Тут надо делать проверкку на присутствие  в урл сегмента языковой версии сайта.

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

2

Re: [4.12 corporate] - Модуль auth не правильность передачи параметров

В методе activate() та же проблема!

Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png

3

Re: [4.12 corporate] - Модуль auth не правильность передачи параметров

Решение проблемы: Добавить в модуль новый метод определения языка по сегменту.

    /**
    * Метод segment - определение языка по сегменту урл адреса
    * @access public
    * @return int - номер сегмента
    */
    public function segment($n) {
        if (array_key_exists($this->uri->segment(1), $this->core->langs)) {
            $n++;
            return $this->uri->segment($n);
        }
        else{
            return $this->uri->segment($n);
        }
    }

Там где:

$email = $this->uri->segment(3);
        $key = $this->uri->segment(4);

Поменять:

$email = $this->segment(3);
$key = $this->segment(4);
Сделаю обновления вашего магазина до актуальной версии системы со вем переносом ваших товаров, просьба писать в приват.
https://novabench.com/image/742206.png