Пропустить

Отправляем email юзеру при удалении его аккаунта

Форум для авторов модов для phpBB 3.0.x. Здесь можно попросить помощи в разработке у коллег.
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 06.10.2009 11:42

у меня есть необходимость в данной возможности, и сделал я вот что:
1. создал файл user_deleted.txt в language/ru/email примерно такого содержания:
Subject: Ваша учётная запись была удалена

Здравствуйте, {USERNAME}.

Ваша учётная запись на конференции «{SITENAME}» была удалена, бла-бла-бла. Вы можете связаться с администратором конференции для уточнения подробностей по адресу:

{CONTACT_EMAIL}

{EMAIL_SIG}

2. в файле includes/acp/acp_users.php после строк (примерно 194я)
if (confirm_box(true))
						{
вставляю
if ($config['email_enable'])
							{
								include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);
								$email_template = 'user_deleted';
								$messenger = new messenger(false);

								$messenger->template($email_template, $user_row['user_lang']);

								$messenger->to($user_row['user_email'], $user_row['username']);

								$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
								$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
								$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
								$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);

								$messenger->assign_vars(array(
									'USERNAME'		=> htmlspecialchars_decode($user_row['username']),
									'CONTACT_EMAIL' => $config['board_contact'],
								));

								$messenger->send(NOTIFY_EMAIL);
							}

В результате должно получиться что при удалении пользователя из "Обзора" в админском разделе (там где чекбокс "удалить пользователя") ему отправится вышеописанный email.
Пробовал все это дело на локалхосте на денвере, вроде отсылается, но через раз. закономерности пока не нашел. И не повлияет ли эта модификация на отправку письма об активации (на форуме стоит активация админом) если буду активировать юзера из "Обзора", т.е. из acp_users.php?
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 08.10.2009 10:47

похоже гуру в эту ветку не заглядывают...
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 13.10.2009 10:59

up
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 19.10.2009 15:02

up
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение nissin » 19.10.2009 15:43

я бы перенёс отправку е-майл после строки:
							user_delete($delete_type, $user_id, $user_row['username']);

На активацию не повлияет.
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 20.10.2009 9:35

nissin писал(а):я бы перенёс отправку е-майл после строки

а в таком случае не получится что мы сначала удалим пользователя, а потом будем отправлять e-mail? т.е. отправлять уже будет некому
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение nissin » 20.10.2009 11:07

Не получится.
Данные сохранятся в $user_row.
Всё повторяется. nurlan.info
Аватара пользователя
nissin
Поддержка
Поддержка
 
Сообщения: 1381
Зарегистрирован: 16.12.2007 15:01
Откуда: Павлодар
Благодарил (а): 1 раз.
Поблагодарили: 124 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 20.10.2009 12:26

nissin
ок. спасибо за помощь!
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Drims » 20.10.2009 14:36

Проверил, работает хорошо! Доволен :) За что и спасибо.

Drims
phpBB 1.2.0
 
Сообщения: 11
Зарегистрирован: 06.10.2009 23:42
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение Stass » 29.10.2009 17:30

Так. чтобы все завершить и доделать до конца нужно еще отредактировать и файл includes/acp/acp_inactive.php
135я строка. заменяем
foreach ($mark as $user_id)
							{
								user_delete('retain', $user_id, $user_affected[$user_id]);
							}
на
// *Email deleted user* start
							include_once($phpbb_root_path . 'includes/functions_messenger.' . $phpEx);

							$messenger = new messenger();
							// *Email deleted user* end
							foreach ($mark as $user_id)
							{
								// *Email deleted user* start
								$messenger->template('user_deleted', $user_row['user_lang']);

								$messenger->to($user_row['user_email'], $user_row['username']);

								$messenger->headers('X-AntiAbuse: Board servername - ' . $config['server_name']);
								$messenger->headers('X-AntiAbuse: User_id - ' . $user->data['user_id']);
								$messenger->headers('X-AntiAbuse: Username - ' . $user->data['username']);
								$messenger->headers('X-AntiAbuse: User IP - ' . $user->ip);

								$messenger->assign_vars(array(
									'USERNAME'		=> htmlspecialchars_decode($user_row['username']),
									'CONTACT_EMAIL' => $config['board_contact'],
								));
								$messenger->send(NOTIFY_EMAIL);
								// *Email deleted user* end
								
								user_delete('retain', $user_id, $user_affected[$user_id]);
							}
							
							// *Email deleted user* start
							$messenger->save_queue();
							// *Email deleted user* end
Теперь все по-людски.
Аватара пользователя
Stass
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 21.08.2008 13:56
Откуда: у тебя пистолет и деньги?
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Отправляем email юзеру при удалении его аккаунта

Сообщение romeo_piter » 28.12.2011 22:25

При использовании этой доработки при удалении неактивированных пользователей из админки (пользователи и группы ----- неактивированные пользователи ) вылетает ошибочка:

[phpBB Debug] PHP Notice: in file /includes/acp/acp_inactive.php on line ***: Undefined variable: user_row

Кто использует, есть такое?

romeo_piter
phpBB 2.0.15
 
Сообщения: 477
Зарегистрирован: 02.04.2009 17:28
Благодарил (а): 63 раз.
Поблагодарили: 8 раз.


Вернуться в Для авторов (phpBB 3.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы