Данный функционал добавляем в настройки профиля пользователя возможность смены email.
Для смены email пользователю необходимо ввести старый email и новый. Далее на новый email будет получен код подтверждения который нужно ввести в настройки. При каждом запросе генерируется новый проверочный код.
После установки дополнения необходимо добавить строчку для включения данного хука, в файле system/controllers/users/manifest.php
Добавить строку: 'profile_edit_menu'
В итоге содержание файла:
<?php 'admin_dashboard_chart', 'menu_users', 'rating_vote', 'user_notify_types', 'user_privacy_types', 'user_tab_info', 'auth_login', 'user_loaded', 'wall_permissions', 'wall_after_add', 'wall_after_delete', 'sitemap_sources', 'profile_edit_menu' ) );
DONATE!!!
p.s. чуть не забыл: плюсы надо в карму ставить если дополнение вам полезно. тынц
Реклама #
DeeMon 7 лет назад #
Kreator 7 лет назад #
p.s. если чуток доработать, можно проверку сделать сразу по новой и по старой почте.
Fuze 7 лет назад #
Kreator 7 лет назад #
Еще пару-тройка советов и вариантов и соберу апдейт.
Кто установил эту версию - обновление будет "безболезненным".
Дополнение не изменяет системные файлы (кроме описанной добавленной строчки)
Владимир 7 лет назад #
Предлагаю дополнить следующим:
1. Хранить старый е-мейл в базе..
2. Ввести настройку админом времени, в течение которого нельзя повторно менять е-мейл (времени блокировки смены е-мейл). Т.е. пользователь может менять е-мейл один раз в столько-то дней (указываем в настройке).
3. Далее дополнить ещё предупреждающим оповещением (на старый мейл) в течение указанного выше времени блокировки столько-то раз (или лучше указывать дни, когда выслать это предупреждение: высылать на такой-то и такой-то день /на 2-й, 3-й и 7-й/ - указывается в настройках аналогично ). Где сообщается, что "Вы сменили е-мейл ...и т д" - здесь, если было все по желанию пользователя - письмо остается без ответа, если вопреки - пользователь должен написать ответ админу с просьбой восстановления (в письме может быть код - как вариант - админ вставляет код - по нему иденцифицируется и фиксируется откат).
Предвижу вопрос: как такое может быть, если пользователь сам подтвердил смену со старого мейла - очень просто, например, кто-то временно сел за его комп, а сейчас как правило включенный комп означает автоподключение к почте (у большинства).
4. После смены почты держать в админке пользователя сообщение "Вы сменили е-мейл" (с датой изменения и определенное время - время блокировки (см.п.2)
5. И делайте компонент с нормальными языковыми константами для возможности мультиязычности.
lakomet 7 лет назад #
3-й и 4-й пункт не понял
с 5-ым пунктом согласен
И от себя добавлю, высылать на старый адрес не код, а ссылку, переходя по которой происходит подтверждение, по типу как это сделано при регистрации и смене пароля. Ещё одна может и бредовая идея - это сделать модерируемую смену почты, т.е. модератор должен подтвердить смену(опционально).
Pocus 7 лет назад #
fincheck 7 лет назад #
lakomet 7 лет назад #
fincheck 7 лет назад #
lakomet 7 лет назад #
fincheck 7 лет назад #
lakomet 7 лет назад #
globator 7 лет назад #
globator 7 лет назад #
Dorimen 7 лет назад #
Владимир 7 лет назад #
Kreator 7 лет назад #
Алексей Т 7 лет назад #
Владимир 7 лет назад #
Kreator 7 лет назад #
За другие советы спасибо. В ближайшее время "усложнять" дополнение не планируется, в виде проверок на время и установки различного рода ограничений. Основной целью данного дополнения было внедрить данную функцию, т.к. таковой вообще не было.
Kreator 7 лет назад #
Либо перезакачать файлы с заменой (Что в принципе в данном случае одно и то же)
denis 7 лет назад #
Хотелось бы спросить как вынуть вкладку из "Ещё". Там ограничения наверное 6 вкладок. Интересно где это изменяется в базе данных, или в файлах. Шаблон стандартный
ParadoX 7 лет назад #
ParadoX 7 лет назад #
Без режима отладки поля нет...
Dorimen 7 лет назад #
Yar 6 лет назад #
Kreator 6 лет назад #
dmitriybarinov 5 лет назад #
Capitan 5 лет назад #
Yar 5 лет назад #
Олег Васильевич я 5 лет назад #