- added email template for "forgot password" function, fixes #354

This commit is contained in:
Michael Kaufmann (d00p)
2010-08-17 06:19:57 +00:00
parent 40ba41497b
commit 015f51f8d3
6 changed files with 53 additions and 7 deletions

View File

@@ -55,7 +55,8 @@ $available_templates = array(
'new_reply_ticket_by_customer',
'new_reply_ticket_by_staff',
'new_database_by_customer',
'new_ftpaccount_by_customer'
'new_ftpaccount_by_customer',
'password_reset'
);
$file_templates = array(
'index_html'

View File

@@ -221,14 +221,14 @@ if($action == 'forgotpwd')
{
$loginname = validate($_POST['loginname'], 'loginname');
$email = validateEmail($_POST['loginemail'], 'email');
$sql = "SELECT `customerid`, `firstname`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_CUSTOMERS . "`
$sql = "SELECT `adminid`, `customerid`, `firstname`, `name`, `company`, `email`, `loginname`, `def_language` FROM `" . TABLE_PANEL_CUSTOMERS . "`
WHERE `loginname`='" . $db->escape($loginname) . "'
AND `email`='" . $db->escape($email) . "'";
$result = $db->query($sql);
if($db->num_rows() == 0)
{
$sql = "SELECT `adminid`, `name`, `email`, `loginname` FROM `" . TABLE_PANEL_ADMINS . "`
$sql = "SELECT `adminid`, `name`, `email`, `loginname`, `def_language` FROM `" . TABLE_PANEL_ADMINS . "`
WHERE `loginname`='" . $db->escape($loginname) . "'
AND `email`='" . $db->escape($email) . "'";
$result = $db->query($sql);
@@ -280,13 +280,26 @@ if($action == 'forgotpwd')
$rstlog = FroxlorLogger::getInstanceOf(array('loginname' => 'password_reset'), $db, $settings);
$rstlog->logAction(USR_ACTION, LOG_WARNING, "Password for user '" . $user['loginname'] . "' has been reset!");
$replace_arr = array(
'SALUTATION' => getCorrectUserSalutation($user),
'USERNAME' => $user['loginname'],
'PASSWORD' => $password
);
$body = strtr($lng['pwdreminder']['body'], array('%s' => $user['firstname'] . ' ' . $user['name'], '%p' => $password));
$def_language = ($user['def_language'] != '') ? $user['def_language'] : $settings['panel']['standardlanguage'];
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$user['adminid'] . '\' AND `language`=\'' . $db->escape($def_language) . '\' AND `templategroup`=\'mails\' AND `varname`=\'password_reset_subject\'');
$mail_subject = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $lng['pwdreminder']['subject']), $replace_arr));
$result = $db->query_first('SELECT `value` FROM `' . TABLE_PANEL_TEMPLATES . '` WHERE `adminid`=\'' . (int)$user['adminid'] . '\' AND `language`=\'' . $db->escape($def_language) . '\' AND `templategroup`=\'mails\' AND `varname`=\'password_reset_mailbody\'');
$mail_body = html_entity_decode(replace_variables((($result['value'] != '') ? $result['value'] : $body), $replace_arr));
$_mailerror = false;
try {
$mail->Subject = $lng['pwdreminder']['subject'];
$mail->AltBody = $body;
$mail->MsgHTML(str_replace("\\n", "<br />", $body));
$mail->Subject = $mail_subject;
$mail->AltBody = $mail_body;
$mail->MsgHTML(str_replace("\\n", "<br />", $mail_body));
$mail->AddAddress($user['email'], $user['firstname'] . ' ' . $user['name']);
$mail->Send();
} catch(phpmailerException $e) {

View File

@@ -320,7 +320,7 @@ $lng['admin']['templates']['mailbody'] = 'Mail body';
$lng['admin']['templates']['createcustomer'] = 'Welcome mail for new customers';
$lng['admin']['templates']['pop_success'] = 'Welcome mail for new email accounts';
$lng['admin']['templates']['template_replace_vars'] = 'Variables to be replaced in the template:';
$lng['admin']['templates']['SALUTATION'] = 'Replaced with a correct salutation';
$lng['admin']['templates']['SALUTATION'] = 'Replaced with a correct salutation (name or company)';
$lng['admin']['templates']['FIRSTNAME'] = 'Replaced with the customers firstname.';
$lng['admin']['templates']['NAME'] = 'Replaced with the customers name.';
$lng['admin']['templates']['COMPANY'] = 'Replaces with the customers company name';
@@ -1495,5 +1495,6 @@ $lng['serversettings']['awstats_awstatspath'] = 'Path to AWStats \'awstats.pl\''
// ADDED IN FROXLOR 0.9.12-svn6
$lng['extras']['htpasswdauthname'] = 'Authentication reason (AuthName)';
$lng['extras']['directoryprotection_edit'] = 'edit directory protection';
$lng['admin']['templates']['forgotpwd'] = 'Notification-mails for password-reset';
?>

View File

@@ -1478,5 +1478,6 @@ $lng['serversettings']['awstats_awstatspath'] = 'Pfad zu AWStats \'awstats.pl\''
// ADDED IN FROXLOR 0.9.12-svn6
$lng['extras']['htpasswdauthname'] = 'Authentifizierungs-Grund (AuthName)';
$lng['extras']['directoryprotection_edit'] = 'Verzeichnisschutz bearbeiten';
$lng['admin']['templates']['forgotpwd'] = 'Benachrichtigungs-Mails bei Zur&uuml;cksetzen des Passworts';
?>

View File

@@ -80,6 +80,21 @@ $header
<td class="field_name">{$lng['admin']['templates']['EMAIL_PASSWORD']}</td>
</tr>
</if>
<tr>
<td class="field_display_border_left" colspan="2"><b>{$lng['admin']['templates']['forgotpwd']}</b></td>
</tr>
<tr>
<td class="field_name_border_left"><i>{SALUTATION}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['SALUTATION']}</td>
</tr>
<tr>
<td class="field_name_border_left"><i>{USERNAME}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['USERNAME']}</td>
</tr>
<tr>
<td class="field_name_border_left"><i>{PASSWORD}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['PASSWORD']}</td>
</tr>
<tr>
<td class="field_display_border_left" colspan="2"><b>{$lng['admin']['templates']['trafficninetypercent']}</b></td>
</tr>

View File

@@ -82,6 +82,21 @@ $header
<td class="field_name">{$lng['admin']['templates']['EMAIL_PASSWORD']}</td>
</tr>
</if>
<tr>
<td class="field_display_border_left" colspan="2"><b>{$lng['admin']['templates']['forgotpwd']}</b></td>
</tr>
<tr>
<td class="field_name_border_left"><i>{SALUTATION}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['SALUTATION']}</td>
</tr>
<tr>
<td class="field_name_border_left"><i>{USERNAME}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['USERNAME']}</td>
</tr>
<tr>
<td class="field_name_border_left"><i>{PASSWORD}</i>:</td>
<td class="field_name">{$lng['admin']['templates']['PASSWORD']}</td>
</tr>
<tr>
<td class="field_display_border_left" colspan="2"><b>{$lng['admin']['templates']['trafficninetypercent']}</b></td>
</tr>