Где в библиотеке dx_auth прописана логика вывода сообщения о некорректной авторизации?
Привет.
Разбираюсь с уроками разграничения прав codeigniter (24 урок). Хочу изменить поведение обработки запросов, в частности тех, результат которых выводиться на отдельных страницах. Например, при выходе из аккаунта, выводится сообщение You have been logged out на новой странице. В данном виде это поведение не подходит для реального сайта. Поэтому, в метод logout() я поставил редирект.
При вводе некорректных данных в форму авторизации выводится форма авторизации и сообщение Username not exist. по адресу http://kinomonster.com/auth/login/ По идеи логика должна находится в методе login(), но не могу понять где, если это верно. Всю библиотеку перерыл - так и не нашел строки Username not exist. Но они где-то же прописаны!
Помогите разобраться с частью кода (в контроллере, виде, модели), который выводит сообщение о введении некорректных данных в форму авторизации.
СПАСИБО!
4 ответов
Во view Auth есть строчки:
<?php
$this->session->set_flashdata('general__error', $this->dx_auth->get_auth_error());
$this->session->set_flashdata('username__error', form_error($username['name']));
$this->session->set_flashdata('password__error', form_error($password['name']));
?>
Вот это:
$this->dx_auth->get_auth_error()
Соответственно, в libraries - Dx_auth.php есть переменная, в которую задаются ошибки при разных сценариях:
$this->_auth_error = $this->ci->lang->line('auth_login_username_not_exist');
Это переменная в файле локализации в папке language - english - dx_auth_lang.php:
$lang['auth_login_username_not_exist'] = "Логин и пароль не совпадают.";
В курсе упрощенно сделано в папке english, предполагается, что можно делать мультиязычный сайт, в котором будут сообщения об ошибках в зависимости от выбранного языка и файлов dx_auth_lang.php будет равным количеству языков, как и папок: english, russian и т.д.
Искомую строку не нашел я, слова прописаны через нижнее подчеркивание.
В последнем уроке есть исходный код, оттуда можно скачать (там Файлы есть кнопка справа) и копия базы там тоже есть.
Поделитесь советом, как вы пришли к этому пониманию?
Сначала сам писал код, потом, когда где-то что-то не понимал, скачивал исходный код из урока, анализировал и читал дополнительные материалы по ссылкам, которые даются в курсе.
Спасибо, student_Cx8W3815. Очень содержательное пояснение! Искомую строку не нашел я, слова прописаны через нижнее подчеркивание. Тяжеловато как-то осваивается курс codeigniter.
Поделитесь советом, как вы пришли к этому пониманию?
Спасибо за помощь, вероятно, и я извлеку урок из вашего метода!