From fd0ec1c47fdcf13a34e621c4c31103406532600b Mon Sep 17 00:00:00 2001
From: Sean Harvey
Date: Fri, 4 May 2012 22:27:41 +1200
Subject: [PATCH 1/2] API CHANGE Removed Member_SignupEmail, use your own
custom sign up Email class instead.
---
security/Member.php | 50 ---------------------------------------------
1 file changed, 50 deletions(-)
diff --git a/security/Member.php b/security/Member.php
index 0558c28d6..0a0074477 100644
--- a/security/Member.php
+++ b/security/Member.php
@@ -479,9 +479,6 @@ class Member extends DataObject implements TemplateGlobalProvider {
*/
function sendInfo($type = 'signup', $data = null) {
switch($type) {
- case "signup":
- $e = Member_SignupEmail::create();
- break;
case "changePassword":
$e = Member_ChangePasswordEmail::create();
break;
@@ -1484,53 +1481,6 @@ class Member_ProfileForm extends Form {
}
}
-/**
- * Class used as template to send an email to new members
- * @package framework
- * @subpackage security
- */
-class Member_SignupEmail extends Email {
- protected $from = ''; // setting a blank from address uses the site's default administrator email
- protected $subject = '';
- protected $body = '';
-
- function __construct() {
- parent::__construct();
- $this->subject = _t('Member.EMAILSIGNUPSUBJECT', "Thanks for signing up");
- $this->body = '
- ' . _t('Member.GREETING','Welcome') . ', $FirstName.
- ' . _t('Member.EMAILSIGNUPINTRO1','Thanks for signing up to become a new member, your details are listed below for future reference.') . '
-
- ' . _t('Member.EMAILSIGNUPINTRO2','You can login to the website using the credentials listed below') . ':
-
- - ' . _t('Member.EMAIL') . '$Email
- - ' . _t('Member.PASSWORD') . ':$Password
-
-
-
- ' . _t('Member.CONTACTINFO','Contact Information') . '
-
- - ' . _t('Member.NAME','Name') . ': $FirstName $Surname
- <% if Phone %>
- - ' . _t('Member.PHONE','Phone') . ': $Phone
- <% end_if %>
-
- <% if Mobile %>
- - ' . _t('Member.MOBILE','Mobile') . ': $Mobile
- <% end_if %>
-
- - ' . _t('Member.ADDRESS','Address') . ':
-
- $Number $Street $StreetType
- $Suburb
- $City $Postcode
-
-
-
- ';
- }
-}
-
/**
From d4154dae9e7b1133bcebdb88a91e238046c8207f Mon Sep 17 00:00:00 2001
From: Sean Harvey
Date: Sat, 5 May 2012 10:03:17 +1200
Subject: [PATCH 2/2] API CHANGE Deprecate Member::sendInfo(), use
Member_ChangePasswordEmail and Member_ForgotPasswordEmail class directly
instead.
---
security/Member.php | 7 ++++++-
security/MemberLoginForm.php | 13 +++++++------
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/security/Member.php b/security/Member.php
index 0a0074477..4d494aca2 100644
--- a/security/Member.php
+++ b/security/Member.php
@@ -478,6 +478,8 @@ class Member extends DataObject implements TemplateGlobalProvider {
* @param array $data Additional data to pass to the email (can be used in the template)
*/
function sendInfo($type = 'signup', $data = null) {
+ Deprecation::notice('3.0', 'Please use Member_ChangePasswordEmail or Member_ForgotPasswordEmail directly instead');
+
switch($type) {
case "changePassword":
$e = Member_ChangePasswordEmail::create();
@@ -644,7 +646,10 @@ class Member extends DataObject implements TemplateGlobalProvider {
&& $this->record['Password']
&& Member::$notify_password_change
) {
- $this->sendInfo('changePassword');
+ $e = Member_ChangePasswordEmail::create();
+ $e->populateTemplate($this);
+ $e->setTo($this->Email);
+ $e->send();
}
// The test on $this->ID is used for when records are initially created.
diff --git a/security/MemberLoginForm.php b/security/MemberLoginForm.php
index 538824453..6da3d6948 100644
--- a/security/MemberLoginForm.php
+++ b/security/MemberLoginForm.php
@@ -258,12 +258,13 @@ JS
if($member) {
$member->generateAutologinHash();
- $member->sendInfo(
- 'forgotPassword',
- array(
- 'PasswordResetLink' => Security::getPasswordResetLink($member->AutoLoginHash)
- )
- );
+ $e = Member_ForgotPasswordEmail::create();
+ $e->populateTemplate($member);
+ $e->populateTemplate(array(
+ 'PasswordResetLink' => Security::getPasswordResetLink($member->AutoLoginHash)
+ ));
+ $e->setTo($member->Email);
+ $e->send();
$this->controller->redirect('Security/passwordsent/' . urlencode($data['Email']));
} elseif($data['Email']) {