From d83d147ed012a1c0999c619aad76146bb34ac3bf Mon Sep 17 00:00:00 2001 From: nanosimbiot Date: Wed, 5 Dec 2012 22:17:42 +0000 Subject: [PATCH] r481 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit фикс рассылки писем об активации, если активация одобряется администратором git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@481 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293 --- upload/config.php | 4 +- upload/includes/ucp/usercp_activate.php | 4 +- upload/includes/ucp/usercp_register.php | 64 ++++++++++++++++++----- upload/includes/ucp/usercp_sendpasswd.php | 2 +- 4 files changed, 57 insertions(+), 17 deletions(-) diff --git a/upload/config.php b/upload/config.php index 30d89131b..c6def124a 100644 --- a/upload/config.php +++ b/upload/config.php @@ -56,8 +56,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do // Increase number of revision after update $bb_cfg['tp_version'] = '2.5 pre-stable'; -$bb_cfg['tp_release_date'] = '5-12-2012'; -$bb_cfg['tp_release_state'] = 'R480'; +$bb_cfg['tp_release_date'] = '6-12-2012'; +$bb_cfg['tp_release_state'] = 'R481'; // Database $charset = 'utf8'; diff --git a/upload/includes/ucp/usercp_activate.php b/upload/includes/ucp/usercp_activate.php index 01923f31f..b6b353bc2 100644 --- a/upload/includes/ucp/usercp_activate.php +++ b/upload/includes/ucp/usercp_activate.php @@ -39,7 +39,7 @@ if ( $row = DB()->sql_fetchrow($result) ) } } - $sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . DB()->escape($row['user_newpasswd']) . "', user_newpasswd = ''" : ''; + $sql_update_pass = ( $row['user_newpasswd'] != '' ) ? ", user_password = '" . md5(md5($row['user_newpasswd'])) . "', user_newpasswd = ''" : ''; $sql = "UPDATE " . BB_USERS . " SET user_active = 1, user_actkey = ''" . $sql_update_pass . " @@ -64,7 +64,7 @@ if ( $row = DB()->sql_fetchrow($result) ) $emailer->assign_vars(array( 'SITENAME' => $bb_cfg['sitename'], 'USERNAME' => $row['username'], - 'PASSWORD' => $password_confirm, + 'PASSWORD' => $row['user_newpasswd'], 'EMAIL_SIG' => (!empty($bb_cfg['board_email_sig'])) ? str_replace('
', "\n", "-- \n" . $bb_cfg['board_email_sig']) : '') ); $emailer->send(); diff --git a/upload/includes/ucp/usercp_register.php b/upload/includes/ucp/usercp_register.php index 5aaeede3a..523c08030 100644 --- a/upload/includes/ucp/usercp_register.php +++ b/upload/includes/ucp/usercp_register.php @@ -822,21 +822,61 @@ if ($submit && !$errors) if ($bb_cfg['require_activation'] == USER_ACTIVATION_ADMIN) { - $emailer->from($bb_cfg['board_email']); - $emailer->replyto($bb_cfg['board_email']); + $sql = "SELECT user_email, user_lang, usr_opt + FROM ". BB_USERS ." + WHERE user_level = " . ADMIN; - $emailer->email_address($email); - $emailer->use_template('admin_activate', $user_lang); - $emailer->set_subject($lang['NEW_ACCOUNT_SUBJECT']); + if ( !($result = DB()->sql_query($sql)) ) + { + message_die(GENERAL_ERROR, 'Could not select Administrators', '', __LINE__, __FILE__, $sql); + } - $emailer->assign_vars(array( - 'USERNAME' => html_entity_decode($username), - 'EMAIL_SIG' => str_replace('
', "\n", "-- \n" . $bb_cfg['board_email_sig']), + while ($row = DB()->sql_fetchrow($result)) + { + if(bf($to_userdata['user_opt'], 'user_opt', 'notify_pm')) + { + $active_admin = true; - 'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $new_user_id . '&act_key=' . $db_data['user_actkey']) - )); - $emailer->send(); - $emailer->reset(); + $emailer->from($bb_cfg['board_email']); + $emailer->replyto($bb_cfg['board_email']); + + $emailer->email_address(trim($row['user_email'])); + $emailer->use_template("admin_activate", $row['user_lang']); + $emailer->set_subject($lang['NEW_ACCOUNT_SUBJECT']); + + $emailer->assign_vars(array( + 'USERNAME' => html_entity_decode($username), + 'EMAIL_SIG' => str_replace('
', "\n", "-- \n" . $bb_cfg['board_email_sig']), + + 'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $new_user_id . '&act_key=' . $db_data['user_actkey']) + )); + + $emailer->send(); + $emailer->reset(); + } + } + + if(empty($active_admin)) + { + $emailer->from($bb_cfg['board_email']); + $emailer->replyto($bb_cfg['board_email']); + + $emailer->email_address($bb_cfg['board_email']); + $emailer->use_template("admin_activate", $row['user_lang']); + $emailer->set_subject($lang['NEW_ACCOUNT_SUBJECT']); + + $emailer->assign_vars(array( + 'USERNAME' => html_entity_decode($username), + 'EMAIL_SIG' => str_replace('
', "\n", "-- \n" . $bb_cfg['board_email_sig']), + + 'U_ACTIVATE' => make_url('profile.php?mode=activate&' . POST_USERS_URL . '=' . $new_user_id . '&act_key=' . $db_data['user_actkey']) + )); + + $emailer->send(); + $emailer->reset(); + } + + DB()->sql_freeresult($result); } } diff --git a/upload/includes/ucp/usercp_sendpasswd.php b/upload/includes/ucp/usercp_sendpasswd.php index b670fa408..300318547 100644 --- a/upload/includes/ucp/usercp_sendpasswd.php +++ b/upload/includes/ucp/usercp_sendpasswd.php @@ -37,7 +37,7 @@ if ( isset($_POST['submit']) ) $user_password = make_rand_str(8); $sql = "UPDATE " . BB_USERS . " - SET user_newpasswd = '" . md5(md5($user_password)) . "', user_actkey = '$user_actkey' + SET user_newpasswd = '$user_password', user_actkey = '$user_actkey' WHERE user_id = " . $row['user_id']; if ( !DB()->sql_query($sql) ) {