Хочу публично обсудить одну "проблему".
В моем компоненте есть функция импорта данных из CSV файла.
При этом, не вдаваясь в лишние подробности, автоматически добавляются зарегистрированные пользователи, т.е. вносятся записи в таблицу #_users Joomla.
И дело в том что мне не совсем нравиться как это сделано сейчас.
Может быть у форумчан есть идеи или наработанные решения, как лучше добавлять данные в таблицу users !?
Сейчас сделано так.
- логин пользователя получаем из поля CSV файла "лицевой счет" убирая пробелы и символы <>"'%;()&. Сейчас правда еще убираю и русские буквы - но это не нужно, исправлю.
Тут вроде все логично.
- пароль = логин
Здесь я заметил следующее. Сама таблица users, по-моему мнению достаточно странна. В нее можно добавить две абсолютно одинаковые записи с одинаковыми user, username, email и password! В ней нет полей типа UNIQUE INDEX.
Надо сказать что регистрацию пользователей самостоятельно - я отмел с самого начала. Доступ к функциям компонента (т.е. логин и пароль), пользователь получает только через управляющую компанию (короче как в банке
).
Вот тут возникает делема. При записи таблицы напрямую, пароль может состоять даже из одной цифры. Заметил что при добавлении пользователя через админ-панель стандартным способом мы должны ввести пароль не менее 6ти символом.
Так же при прямой записи в таблицу, пароль можно вообще не вводить. Однако в этом случае через стандартную форму "Login Form" войти не получиться, так как в ней поле password должно быть заполнено обязательно, иначе выдает ошибку.
Как лучше заполнять поле пароль?
Либо оставить как есть пароль=логин в начальный момент? Либо генерить к примеру 8 значный пароль и писать сгенеренные при импорте пароли в файл. А когда пользователь обращается в управляющую компанию - ему выдается логин и пароль из этого файла?
- email = <логин>@test.ru
Но поле при прямой записи в таблицу можно вообще не заполнять.
Снова замечу что при стандартном вводе пользователя через админ-панель, поле email обязательно для заполнения.
Как лучше сделать? Оставлять поле email не заполненным?
Тут нужно учесть что, так как в дальнейшем планируется сделать функцию просмотра истории платежей и т.п - а это личная информация, то функцию отправки пароля на email (если забыл) Я также отмел. По-моему мнению пароль в случае если его забыли, должен восстанавливаться только администратором сайта при обращении собственника в управляющую компанию.
И при таком подходе логично не генерить email автоматом.