Jump to content

Как сделать пользователя не подтвержденным?

Featured Replies

Posted
comment_118768

У юзера не работает почта. Надо сделать его снова не подтвержденным, чтобы заставить его сменить почту. Как?

comment_118770

А почему просто нельзя спросить у юзера почту и сменить через АЦ? Я думаю, стандартных методов для этого не предусмотрено, а ковырять БД - стоит ли оно того..

Edited by Envy

comment_118774

Просто никак. А вообще, пользователи для валидации хранятся в таблице  core_validating.

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

1. Пользователи массово переводятся в группу "Сменить емейл" с определенными ограничениями.

2. Этим пользователям отображается уведомление на всех страницах, видное только их группе.

3. Пользователи меняют емейл и сообщают об этом в письме с этого ящика на емейл администратора.

4. Администратор руками переносит их с другую соответствующую группу.

 

comment_118777
1 час назад, slimer сказал:

У юзера не работает почта. Надо сделать его снова не подтвержденным, чтобы заставить его сменить почту. Как?

https://invisionpower.com/files/file/8317-remind-users-to-update-their-email/

  • Author
comment_118802
4 часа назад, Zero108 сказал:

Администратор руками

Тысячи!!

Redneck, да, типа того. Только тут для всех.

Собственно вопрос в каком месте в базе это дело хранится. Хук напишу, надо знать что куда записать.

4 часа назад, Zero108 сказал:

А вообще, пользователи для валидации хранятся в таблице  core_validating.

Похоже, но много полей и не ясно что для чего предназначено. И как сгенерить vid. Методом тыка не хочется.

  • Author
comment_118803
			/* Insert a record */
			\IPS\Db::i()->insert( 'core_validating', array(
				'vid'		   	=> md5( $this->members_pass_hash . \IPS\Login::generateRandomString() ),
				'member_id'	 	=> $this->member_id,
				'entry_date'	=> time(),
				'new_reg'	   	=> 1,
				'ip_address'	=> $this->ip_address,
				'spam_flag'	 	=> ( $this->members_bitoptions['bw_is_spammer'] ) ?: FALSE,
				'user_verified' => ( $validationType == 'admin' ) ?: FALSE,
				'email_sent'	=> ( $validationType != 'admin' ) ? time() : NULL,
			) );

Продвигаемся дальше...

  • Author
comment_118804

При смене почты чуть другие значения front/system/register.php

				$vid = \IPS\Login::generateRandomString();
		
				\IPS\Db::i()->insert( 'core_validating', array(
					'vid'			=> $vid,
					'member_id'		=> \IPS\Member::loggedIn()->member_id,
					'entry_date'	=> time(),
					'new_reg'		=> !$pending or $pending['new_reg'],
					'email_chg'		=> $pending and $pending['email_chg'],
					'user_verified'	=> ( \IPS\Settings::i()->reg_auth_type == 'admin' ) ?: FALSE,
					'ip_address'	=> \IPS\Request::i()->ipAddress(),
					'email_sent'	=> time(),
				) );

 

  • 4 недели спустя...
  • Author
comment_120973

Сделал хук по этому поводу. Кому интересно: https://invisionpower.com/files/file/8443-sl-force-users-to-change-email/

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.


Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.