1
0
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:
Paul S. Owen
2003-10-12 15:29:18 +00:00
parent 90ad130d48
commit 9da094fec2
13 changed files with 217 additions and 193 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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);

View File

@@ -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'])

View File

@@ -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');
}
}