mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-08 17:56:52 +02:00
Updated the various "users of emailer", fixed issue(!) of jabber using the email address as the uid, blah fixes, blah, blah di blah yakety smackety
git-svn-id: file:///svn/phpbb/trunk@4583 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -20,8 +20,8 @@ function login_apache(&$username, &$password)
|
||||
|
||||
if ($php_auth_user && $php_auth_pw)
|
||||
{
|
||||
$sql = "SELECT user_id, username, user_password, user_email, user_active
|
||||
FROM " . USERS_TABLE . "
|
||||
$sql = ' user_id, username, user_password, user_passchg, user_email, user_active
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username = '" . $db->sql_escape($username) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
|
@@ -14,8 +14,8 @@ function login_db(&$username, &$password)
|
||||
{
|
||||
global $db, $config;
|
||||
|
||||
$sql = "SELECT user_id, username, user_password, user_email, user_active
|
||||
FROM " . USERS_TABLE . "
|
||||
$sql = 'SELECT user_id, username, user_password, user_passchg, user_email, user_active
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username = '" . $db->sql_escape($username) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
|
@@ -34,8 +34,8 @@ function login_ldap(&$username, &$password)
|
||||
{
|
||||
@ldap_close($ldap);
|
||||
|
||||
$sql = "SELECT user_id, username, user_password, user_email, user_active
|
||||
FROM " . USERS_TABLE . "
|
||||
$sql ='SELECT user_id, username, user_password, user_passchg, user_email, user_active
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE username = '" . $db->sql_escape($username) . "'";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
|
@@ -19,6 +19,18 @@ class messenger
|
||||
|
||||
var $tpl_msg = array();
|
||||
|
||||
function messenger()
|
||||
{
|
||||
global $config;
|
||||
|
||||
if (preg_match('#^[c-z]:\\\#i', getenv('PATH')) && !$config['smtp_delivery'] && phpversion() < '4.3')
|
||||
{
|
||||
// We are running on windows, force delivery to use our smtp functions since php's are broken by default
|
||||
$config['smtp_delivery'] = 1;
|
||||
$config['smtp_host'] = @ini_get('SMTP');
|
||||
}
|
||||
}
|
||||
|
||||
// Resets all the data (address, template file, etc etc to default
|
||||
function reset()
|
||||
{
|
||||
@@ -47,6 +59,13 @@ class messenger
|
||||
// $this->addresses['bcc'][$pos]['name'] = trim($realname);
|
||||
}
|
||||
|
||||
function im($address, $realname = '')
|
||||
{
|
||||
$pos = sizeof($this->addresses['im']);
|
||||
$this->addresses['im'][$pos]['uid'] = trim($address);
|
||||
$this->addresses['im'][$pos]['name'] = trim($realname);
|
||||
}
|
||||
|
||||
function replyto($address)
|
||||
{
|
||||
$this->replyto = trim($address);
|
||||
@@ -305,17 +324,12 @@ class messenger
|
||||
}
|
||||
|
||||
$addresses = array();
|
||||
foreach ($this->addresses as $type => $address_ary)
|
||||
foreach ($this->addresses['im'] as $type => $uid_ary)
|
||||
{
|
||||
foreach ($address_ary as $which_ary)
|
||||
{
|
||||
$addresses[] = $which_ary['email'];
|
||||
}
|
||||
$addresses[] = $uid_ary['uid'];
|
||||
}
|
||||
$addresses = array_unique($addresses);
|
||||
|
||||
$subject = sprintf($user->lang['IM_JABBER_SUBJECT'], $user->data['username'], $config['server_name']);
|
||||
|
||||
if (!$use_queue)
|
||||
{
|
||||
include_once($phpbb_root_path . 'includes/functions_jabber.'.$phpEx);
|
||||
|
@@ -23,10 +23,12 @@ class ucp_register extends module
|
||||
trigger_error($user->lang['UCP_REGISTER_DISABLE']);
|
||||
}
|
||||
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
$confirm_id = (!empty($_POST['confirm_id'])) ? $_POST['confirm_id'] : 0;
|
||||
$coppa = (isset($_REQUEST['coppa'])) ? ((!empty($_REQUEST['coppa'])) ? 1 : 0) : false;
|
||||
$agreed = (!empty($_POST['agreed'])) ? 1 : 0;
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
|
||||
$confirm_id = (!empty($_POST['confirm_id'])) ? $_POST['confirm_id'] : 0;
|
||||
|
||||
$error = $data = array();
|
||||
|
||||
//
|
||||
@@ -215,14 +217,22 @@ class ucp_register extends module
|
||||
|
||||
if ($config['email_enable'])
|
||||
{
|
||||
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
|
||||
$emailer = new emailer();
|
||||
|
||||
$emailer->template($email_template, $lang);
|
||||
$emailer->replyto($config['board_contact']);
|
||||
$emailer->to($email, $username);
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
|
||||
$emailer->assign_vars(array(
|
||||
$messenger = new messenger();
|
||||
|
||||
$messenger->template($email_template, $lang);
|
||||
$messenger->subject($subject);
|
||||
|
||||
$messenger->replyto($user->data['board_contact']);
|
||||
$messenger->to($email, $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(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'WELCOME_MSG' => sprintf($user->lang['Welcome_subject'], $config['sitename']),
|
||||
'USERNAME' => $username,
|
||||
@@ -234,7 +244,7 @@ class ucp_register extends module
|
||||
|
||||
if ($coppa)
|
||||
{
|
||||
$emailer->assign_vars(array(
|
||||
$messenger->assign_vars(array(
|
||||
'FAX_INFO' => $config['coppa_fax'],
|
||||
'MAIL_INFO' => $config['coppa_mail'],
|
||||
'EMAIL_ADDRESS' => $email,
|
||||
@@ -242,27 +252,27 @@ class ucp_register extends module
|
||||
);
|
||||
}
|
||||
|
||||
$emailer->send();
|
||||
$emailer->reset();
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
|
||||
// TODO
|
||||
// Email admins with user management permissions
|
||||
if ($config['require_activation'] == USER_ACTIVATION_ADMIN)
|
||||
{
|
||||
$emailer->use_template('admin_activate', $config['default_lang']);
|
||||
$emailer->replyto($config['board_contact']);
|
||||
$emailer->to($config['board_contact']);
|
||||
$messenger->use_template('admin_activate', $config['default_lang']);
|
||||
$messenger->replyto($config['board_contact']);
|
||||
$messenger->to($config['board_contact']);
|
||||
|
||||
$emailer->assign_vars(array(
|
||||
$messenger->assign_vars(array(
|
||||
'USERNAME' => $username,
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => generate_board_url() . "/ucp.$phpEx?mode=activate&k=$user_actkey")
|
||||
);
|
||||
|
||||
$emailer->send();
|
||||
$emailer->reset();
|
||||
$messenger->send(NOTIFY_EMAIL);
|
||||
}
|
||||
|
||||
$messenger->queue->save();
|
||||
}
|
||||
|
||||
if ($config['require_activation'] == USER_ACTIVATION_NONE || !$config['email_enable'])
|
||||
|
@@ -21,68 +21,69 @@ class ucp_remind extends module
|
||||
|
||||
if ($submit)
|
||||
{
|
||||
$username = (!empty($_POST['username'])) ? trim($_POST['username']) : '';
|
||||
$email = (!empty($_POST['email'])) ? trim($_POST['email']) : '';
|
||||
$username = request_var('username', '');
|
||||
$email = request_var('email', '');
|
||||
|
||||
$sql = 'SELECT user_id, username, user_email, user_active, user_lang
|
||||
$sql = 'SELECT user_id, username, user_email, user_jabber, user_notify_type, user_active, user_lang
|
||||
FROM ' . USERS_TABLE . "
|
||||
WHERE user_email = '" . $db->sql_escape($email) . "'
|
||||
AND username = '" . . $db->sql_escape($username) . "'";
|
||||
if ($result = $db->sql_query($sql))
|
||||
AND username = '" . $db->sql_escape($username) . "'";
|
||||
if (!($result = $db->sql_query($sql)))
|
||||
{
|
||||
if ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
if (!$row['user_active'])
|
||||
{
|
||||
trigger_error($lang['ACCOUNT_INACTIVE']);
|
||||
}
|
||||
|
||||
$server_url = generate_board_url();
|
||||
$username = $row['username'];
|
||||
|
||||
$user_actkey = gen_rand_string(10);
|
||||
$key_len = 54 - strlen($server_url);
|
||||
$key_len = ($str_len > 6) ? $key_len : 6;
|
||||
$user_actkey = substr($user_actkey, 0, $key_len);
|
||||
$user_password = gen_rand_string(false);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_newpasswd = '" . md5($user_password) . "', user_actkey = '$user_actkey'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
include($phpbb_root_path . 'includes/emailer.'.$phpEx);
|
||||
$emailer = new emailer();
|
||||
|
||||
$emailer->use_template('user_activate_passwd', $row['user_lang']);
|
||||
$emailer->to($row['user_email']);
|
||||
|
||||
$emailer->assign_vars(array(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'USERNAME' => $username,
|
||||
'PASSWORD' => $user_password,
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => $server_url . "/ucp.$phpEx?mode=activate&k=$user_actkey")
|
||||
);
|
||||
$emailer->send();
|
||||
$emailer->reset();
|
||||
|
||||
meta_refresh(3, "index.$phpEx$SID");
|
||||
|
||||
$message = $lang['PASSWORD_UPDATED'] . '<br /><br />' . sprintf($lang['RETURN_INDEX'], '<a href="' . "index.$phpEx$SID" . '">', '</a>');
|
||||
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
trigger_error($lang['NO_EMAIL']);
|
||||
}
|
||||
trigger_error($user->lang['NO_USER']);
|
||||
}
|
||||
else
|
||||
|
||||
if (!($row = $db->sql_fetchrow($result)))
|
||||
{
|
||||
trigger_error('Could not obtain user information for sendpassword', E_USER_ERROR);
|
||||
trigger_error($lang['NO_EMAIL']);
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if (!$row['user_active'])
|
||||
{
|
||||
trigger_error($lang['ACCOUNT_INACTIVE']);
|
||||
}
|
||||
|
||||
$server_url = generate_board_url();
|
||||
$username = $row['username'];
|
||||
|
||||
$key_len = 54 - strlen($server_url);
|
||||
$key_len = ($str_len > 6) ? $key_len : 6;
|
||||
$user_actkey = substr(gen_rand_string(10), 0, $key_len);
|
||||
$user_password = gen_rand_string(8);
|
||||
|
||||
$sql = 'UPDATE ' . USERS_TABLE . "
|
||||
SET user_newpasswd = '" . $db->sql_escape(md5($user_password)) . "', user_actkey = '" . $db->sql_escape($user_actkey) . "'
|
||||
WHERE user_id = " . $row['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
include_once($phpbb_root_path . 'includes/functions_messenger.'.$phpEx);
|
||||
|
||||
$messenger = new messenger();
|
||||
|
||||
$messenger->template('user_activate_passwd', $row['user_lang']);
|
||||
$messenger->subject($subject);
|
||||
|
||||
$messenger->replyto($user->data['user_email']);
|
||||
$messenger->to($row['user_email'], $row['username']);
|
||||
$messenger->im($row['user_jabber'], $row['username']);
|
||||
|
||||
$messenger->assign_vars(array(
|
||||
'SITENAME' => $config['sitename'],
|
||||
'USERNAME' => $username,
|
||||
'PASSWORD' => $user_password,
|
||||
'EMAIL_SIG' => str_replace('<br />', "\n", "-- \n" . $config['board_email_sig']),
|
||||
|
||||
'U_ACTIVATE' => "$server_url/ucp.$phpEx?mode=activate&k=$user_actkey")
|
||||
);
|
||||
|
||||
$messenger->send($row['user_notify_type']);
|
||||
$messenger->queue->save();
|
||||
|
||||
meta_refresh(3, "index.$phpEx$SID");
|
||||
|
||||
$message = $user->lang['PASSWORD_UPDATED'] . '<br /><br />' . sprintf($user->lang['RETURN_INDEX'], '<a href="' . "index.$phpEx$SID" . '">', '</a>');
|
||||
trigger_error($message);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -93,6 +94,8 @@ class ucp_remind extends module
|
||||
'USERNAME' => $username,
|
||||
'EMAIL' => $email)
|
||||
);
|
||||
|
||||
$this->display($user->lang['UCP_REMIND'], 'ucp_remind.html');
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user