Предлагать смену пароля при первом входе. Как?

Started by Suntechnic, December 09, 2014, 08:49:54 PM

Previous topic - Next topic

Suntechnic

Сабж.
Пользователи регистрируются админом и приглашаются на форум. Как при первом входе предложить им сменить пароль?
Есть мод?
Если нет, подскажите:
1 Как детектировать первый вход?
2 Где в SMF принято складывать свой кастомный функционал? Есть какой-то файл который инклюдится всегда и не затирается обновлениями?

digger

Quote
2 Где в SMF принято складывать свой кастомный функционал? Есть какой-то файл который инклюдится всегда и не затирается обновлениями?
Изучайте хуки http://wiki.simplemachines.org/smf/Integration_hooks
В /Sources/ кладите свой файл и хуком подключайте в загрузку.

Suntechnic

Простите, не уверен что могу разобраться. Можно пример? Куда размещать саму функцию хука?

digger

Quote from: Suntechnic on December 11, 2014, 03:50:31 AM
Простите, не уверен что могу разобраться. Можно пример? Куда размещать саму функцию хука?
Любой мод работающий на хуках скачайте и используйте в качестве примера.

Suntechnic

В том-то и проблема, что я не пойму какой.
Несколько скачал первых попавшихся, но даже не понял используют они хуки или нет.

Вот есть вызов call_integration_hook('integrate_register', array(&$regOptions, &$theme_vars)); в Subs-Members.php.
Это как я понимаю инициализация события на которое я должен подписаться.
Как мне туда врезаться? Где подписаться на этот вызов?

Suntechnic

Мне по  сути сейчас надо задавать real_name при регистрации.
Я пока тупо врезался так (ибо время не ждет):
if (isset($_POST['real_name'])) {
$regOptions['register_vars']['real_name'] = $_POST['real_name'];
}

сразу после call_integration_hook('integrate_register', array(&$regOptions, &$theme_vars));

Теперь бы понять как по человечески это оформить...

digger

Возьмите этот пример, там все понятно должно быть http://custom.simplemachines.org/mods/index.php?mod=3456
В hooks.php вешаются функции-обработчики на нужные хуки и подключаются свои файлы.
Через integrate_pre_include подключается свой файл с функциями-обработчиками.
Для регистрации вам нужен хук integrate_register, когда он сработает в функцию обработчик передастся массив &$regOptions и можно будет его значениями там манипулировать.

digger

И можно было просто средствами админки отключить опцию "Разрешить пользователям изменять отображаемое имя", а вместо нее добавить дополнительное поле профиля "ФИО" и для него уже можно штатными средствами задать, как и где его отображать, требовать при регистрации и прочее.

Suntechnic

О, Спасибо!!! Теперь ясно.
Где тут в карму можно плюсовать?

Suntechnic

Quote from: digger on December 11, 2014, 05:01:29 AM
И можно было просто средствами админки отключить опцию "Разрешить пользователям изменять отображаемое имя", а вместо нее добавить дополнительное поле профиля "ФИО" и для него уже можно штатными средствами задать, как и где его отображать, требовать при регистрации и прочее.
Не, в том-то и проблема, что мне была нужна возможность устанавливать имя при регистрации. Запрещать изменение не надо было.

Но пока я все это сделал, клиент уже этого не хочет. Он хочет при регистрации задавать имя которое будет только улетать пользователю в уведомлении, но не будет отображаться на форуме... Вот думаю.

Advertisement: