Симпатичный шаблон письма восстановления пароля
Сделал тут на досуге шаблон письма восстановления пароля и решил поделиться им с вами :)
Письмо примет следующий вид:
Установка
В папке с шаблоном создать папку email и в ней файл lostpassword.tpl с содержимым:
Открыть файл engine/modules/lostpassword.php
Для DLE 10.6 и младше
Найти строку (вторую):
$mail = new dle_mail( $config );
Заменить на:
$mail = new dle_mail( $config, true );
Найти и удалить строки:
$row = $db->super_query( "SELECT template FROM " . PREFIX . "_email where name='lost_mail' LIMIT 0,1" );
$row['template'] = stripslashes( $row['template'] );
Найти и строки:
$row['template'] = str_replace( "{%username%}", $lostname, $row['template'] );
$row['template'] = str_replace( "{%lostlink%}", $link, $row['template'] );
$row['template'] = str_replace( "{%ip%}", $_SERVER['REMOTE_ADDR'], $row['template'] );
$mail->send( $lostmail, $lang['lost_subj'], $row['template'] );
Заменить на:
$tpl->load_template("email/lostpassword.tpl");
$tpl->set('{login}', $lostname);
$tpl->set('{site-link}', "<a href=\"{$config['http_home_url']}\">{$config['http_home_url']}</a>" );
$tpl->set('{lost-link}', $lostlink );
$tpl->set('{ip-link}', $iplink );
$tpl->set('{ip}', get_ip());
$tpl->compile('email_lostpassword');
$tpl->clear();
$mail->send( $lostmail, $lang['lost_subj'], $tpl->result['email_lostpassword'] );
Для DLE 11 и старше
Найти и удалить строки:
$row = $db->super_query( "SELECT * FROM " . PREFIX . "_email where name='lost_mail' LIMIT 0,1" );
$mail = new dle_mail( $config, $row['use_html'] );
$row['template'] = stripslashes( $row['template'] );
Ниже найти строки:
if( $row['use_html'] ) {
$link = $lang['lost_password']."<br />".$lostlink."<br /><br />".$lang['lost_ip']."<br />".$iplink;
} else {
$link = $lang['lost_password']."\n".$lostlink."\n\n".$lang['lost_ip']."\n".$iplink;
}
$db->query( "DELETE FROM " . USERPREFIX . "_lostdb WHERE lostname='$userid'" );
$db->query( "INSERT INTO " . USERPREFIX . "_lostdb (lostname, lostid) values ('$userid', '$lostid')" );
$row['template'] = str_replace( "{%username%}", $lostname, $row['template'] );
$row['template'] = str_replace( "{%lostlink%}", $link, $row['template'] );
$row['template'] = str_replace( "{%ip%}", get_ip(), $row['template'] );
$mail->send( $lostmail, $lang['lost_subj'], $row['template'] );
Заменить на:
$mail = new dle_mail( $config, true );
$tpl->load_template("email/lostpassword.tpl");
$tpl->set('{login}', $row['name']);
$tpl->set('{site-link}', "<a href=\"$slink\">$slink</a>" );
$tpl->set('{lost-link}', $lostlink );
$tpl->set('{ip-link}', $iplink );
$tpl->set('{ip}', get_ip());
$tpl->compile('email_lostpassword');
$tpl->clear();
$mail->send( $lostmail, $lang['lost_subj'], $tpl->result['email_lostpassword'] );
Версия DLE: пожалуй любая, кроме совсем уж древних
Автор: Sander
С уважением,
Олег Александрович a.k.a. Sander