Мод Admin Userlist
-
- phpBB 1.4.2
- Сообщения: 56
- Стаж: 16 лет 7 месяцев
- Откуда: у тебя пистолет и деньги?
Re: Мод Admin Userlist
Обнаружена неприятная особенность. Если на форуме стоит активация юзеров админом, и с помощью этого мода активировать юзеров, то письмо об активации юзеру не приходит (конкретно даже не создается)
-
- Former team member
- Сообщения: 3942
- Стаж: 19 лет 10 месяцев
- Откуда: Оренбург (Южный Урал)
- Благодарил (а): 3 раза
Re: Мод Admin Userlist
Да, не создаётся. Потому что нет соответствующего кода.
Добавлено спустя 21 минуту 50 секунд:
Попробуй. Код между этих строк в admin_userlist.php
заменить на этот
Добавлено спустя 21 минуту 50 секунд:
Попробуй. Код между этих строк в admin_userlist.php
Код: Выделить всё
case 'activate':
Заменяемый код
................
................
case 'group':
Код: Выделить всё
//
// activate or deactivate the seleted users
//
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
$i = 0;
while( $i < count($user_ids) )
{
$user_id = intval($user_ids[$i]);
$sql = "SELECT user_active, user_lang, user_email, username FROM " . USERS_TABLE . "
WHERE user_id = $user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not obtain user information', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$new_status = ( $row['user_active'] ) ? 0 : 1;
$sql = "UPDATE " . USERS_TABLE . "
SET user_active = '$new_status'
WHERE user_id = $user_id";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update user status', '', __LINE__, __FILE__, $sql);
}
if ($new_status == 1)
{
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->use_template('admin_welcome_activated', $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->set_subject($lang['Account_activated_subject']);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'USERNAME' => $row['username'],
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
);
$emailer->send();
$emailer->reset();
}
unset($user_id);
$i++;
}
$message = $lang['User_status_updated'] . "<br /><br />" . sprintf($lang['Click_return_userlist'], "<a href=\"" . append_sid("admin_userlist.$phpEx") . "\">", "</a>") . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>");
message_die(GENERAL_MESSAGE, $message);
break;
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции
наш форум http://forum.aeroion.ru/cat1.html
-
- phpBB 1.4.2
- Сообщения: 56
- Стаж: 16 лет 7 месяцев
- Откуда: у тебя пистолет и деньги?
Re: Мод Admin Userlist
Небольшое добавление к моду. При удалении пользователя(ей) отсылается ему(им) письмо на e-mail с соответствующим текстом.
1. Нужно создать файл user_delete.tpl в language/lang_russian/email такого содержания:
2. Отредактировать файл admin/admin_userlist.php
Проверил на локалхосте. Ставить сразу на Ваш форум не рекомендую, еще не все протестил. Так что прошу сильно ногами не бить, если что не правильно
1. Нужно создать файл user_delete.tpl в language/lang_russian/email такого содержания:
Код: Выделить всё
Subject: Ваша учётная запись удалена
Charset: windows-1251
Здравствуйте, {USERNAME}.
Ваша учётная запись удалена с форума {SITENAME}.
{EMAIL_SIG}
Код: Выделить всё
После строк:
// delete users
$i = 0;
Вставить:
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
$emailer = new emailer($board_config['smtp_delivery']);
Заменить строку:
$sql = "SELECT u.username, g.group_id
Этой строкой:
$sql = "SELECT u.username, g.group_id, user_email
Перед строками:
$sql = "DELETE FROM " . USERS_TABLE . "
WHERE user_id = $user_id";
if( !$db->sql_query($sql) )
Вставить:
//---------------------------------------------
$emailer->from($board_config['board_email']);
$emailer->replyto($board_config['board_email']);
$emailer->use_template('user_delete', $row['user_lang']);
$emailer->email_address($row['user_email']);
$emailer->assign_vars(array(
'SITENAME' => $board_config['sitename'],
'USERNAME' => $row['username'],
'EMAIL_SIG' => (!empty($board_config['board_email_sig'])) ? str_replace('<br />', "\n", "-- \n" . $board_config['board_email_sig']) : '')
);
$emailer->send();
$emailer->reset();
//----------------------------------------------