diff --git a/_config.php b/_config.php index 98e96b2..eed5db5 100644 --- a/_config.php +++ b/_config.php @@ -1,13 +1,5 @@ 'ConfirmNewsletterSignup' -)); - if(method_exists('LeftAndMain', 'require_javascript')) { LeftAndMain::require_javascript('blog/javascript/bbcodehelp.js'); } diff --git a/code/BlogEntry.php b/code/BlogEntry.php index 06b5f33..2bab80c 100644 --- a/code/BlogEntry.php +++ b/code/BlogEntry.php @@ -140,15 +140,6 @@ class BlogEntry extends Page { return $this->getParent()->Link('post')."/".$this->ID."/"; } - /** - * Return the NewsletterSignupForm from the parent (BlogHolder). - */ - function NewsletterSignupForm() { - if(isset($this->Parent->ID) && $this->Parent->NewsletterSignupForm()) { - return $this->Parent->NewsletterSignupForm(); - } - } - /** * Call this to enable WYSIWYG editing on your blog entries. * By default the blog uses BBCode diff --git a/code/BlogHolder.php b/code/BlogHolder.php index d9e484b..dd69676 100644 --- a/code/BlogHolder.php +++ b/code/BlogHolder.php @@ -17,8 +17,7 @@ class BlogHolder extends Page { ); static $has_one = array( - "SideBar" => "WidgetArea", - 'Newsletter' => 'NewsletterType' + "SideBar" => "WidgetArea" ); static $allowed_children = array( @@ -50,22 +49,9 @@ class BlogHolder extends Page { "12 MONTH" => "Last year's entries", ))); - // Add a dropdown to display all newsletter types. - if($groups = $this->getNewsletters()) { - $groupsMap = $groups->toDropdownMap('ID', 'Title'); - $fields->addFieldToTab('Root.Content.Main', new DropdownField('NewsletterID', 'Subscription newsletter type', $groupsMap, '', '', '(Select one)')); - } - return $fields; } - /** - * Get all newsletter type instances. - */ - function getNewsletters() { - return DataObject::get('NewsletterType'); - } - /** * The DataObject of blog entries */ @@ -116,16 +102,6 @@ class BlogHolder extends Page { return isset($_GET['tag']) ? $_GET['tag'] : false; } - /** - * Return a new instance of NewsletterSignupForm. - * If there is no related Newsletter, then don't show it. - */ - function NewsletterSignupForm() { - if($this->Newsletter() && $this->Newsletter()->ID) { - return new NewsletterSignupForm($this, 'NewsletterSignupForm'); - } - } - /** * A simple form for creating blog entries */ diff --git a/code/BlogRole.php b/code/BlogRole.php deleted file mode 100755 index a22ba17..0000000 --- a/code/BlogRole.php +++ /dev/null @@ -1,40 +0,0 @@ - array( - 'Hash' => 'Varchar(32)', - 'GroupCode' => 'Varchar(255)' - ), - ); - } - - /** - * These fields are used for the newsletter subscription form. - */ - function subscribeFields() { - return new FieldSet( - new TextField('FirstName', 'Your first name'), - new TextField('Surname', 'Your surname'), - new EmailField('Email', 'Your email') - ); - } - - /** - * These are the required fields for the newsletter subscription form. - */ - function subscribeRequiredFields() { - return new RequiredFields(array( - 'FirstName', - 'Email' - )); - } - -} - -?> diff --git a/code/ConfirmNewsletterSignup.php b/code/ConfirmNewsletterSignup.php deleted file mode 100755 index da3f86f..0000000 --- a/code/ConfirmNewsletterSignup.php +++ /dev/null @@ -1,79 +0,0 @@ -Error: No member identification was given.

"; - } else { - // Check if a member exists with the hash given from ID param. - if(!$member = DataObject::get_one('Member', "Hash = '$hash'")) { - $content = "

Error: Member does not exist by given parameters.

"; - } else { - // Check if a group was passed in and exists. - if($groupCode = $member->GroupCode) { - // Check if the member is in this group. - if($group = DataObject::get_one('Group', "Code = '$groupCode'")) { - if($member->inGroup($group->ID)) { - $content = "

$member->Email is already signed up.

"; - } else { - // Member is not in the group, so add the member to the group. - $member->Groups()->add($group); - - // Send an email welcoming the member. - $email = new ConfirmNewsletterSignup_Email(); - $email->to = $member->Email; - $email->from = Email::getAdminEmail(); - $email->subject = 'Welcome to the mailing list'; - $email->populateTemplate(array( - 'Member' => $member - )); - $email->send(); - - $content = "

$member->Email has been signed up successfully. A welcome email has been sent.

"; - } - } - } - } - } - - // Render these variables into the template. Pass in the message from previous logic. - $this->customise(array( - 'Content' => $content - )); - - // Render with a chosen template. - return $this->renderWith(array( - 'ConfirmNewsletterSignup_member', - 'Page' - )); - } - -} - -class ConfirmNewsletterSignup_Email extends Email_Template { - - protected $ss_template = 'ConfirmNewsletterSignup_Email'; - -} - -?> \ No newline at end of file diff --git a/code/NewsletterSignupForm.php b/code/NewsletterSignupForm.php deleted file mode 100755 index 961120c..0000000 --- a/code/NewsletterSignupForm.php +++ /dev/null @@ -1,107 +0,0 @@ -controller) { - if($controller instanceof BlogHolder) { - if($controller->Newsletter()) { - return $controller->Newsletter()->Group()->Code; - } - } - } - } - - /** - * Create the NewsletterSignupForm. - * Take the fields and required fields from the extension role. - */ - function __construct($controller, $name) { - $member = singleton('Member'); - - $fields = $member->subscribeFields(); - - $validator = $member->subscribeRequiredFields(); - - $actions = new FieldSet( - new FormAction('subscribe', 'Subscribe') - ); - - parent::__construct($controller, $name, $fields, $actions, $validator); - } - - /** - * NewsletterSignupForm action. - * Requires that the email address be submitted in the form. - * - * Checks if there is a member in the system by submitted email, and checks if - * that member has already signed up. If member has, then form gives message and - * redirects back. If not, then it carries on with the process. - */ - function subscribe($data, $form) { - $SQL_email = $data['Email']; - - // Check if there is a current member of given email in data. Check if in group. - if($member = DataObject::get_one('Member', "`Member`.`Email` = '$SQL_email'")) { - if($groupCode = $this->get_group_code()) { - if($group = DataObject::get_one('Group', "Code = '$groupCode'")) { - if($member->inGroup($group->ID)) { - $form->sessionMessage('You are already subscribed.', 'warning'); - Director::redirectBack(); - return false; - } - } - } - } else { - // Create a new member, as this is a new subscriber. - $member = new Member(); - } - - // Save the data into the member. - $form->saveInto($member); - - // Hash the email of the subscriber and microtime, write the member. - $member->Hash = md5(microtime() . $member->Email); - - // If there is a group code found, add it to a field on the member for - // later use (when a member confirms to be added). - if($groupCode = $this->get_group_code()) { - $member->GroupCode = $groupCode; - } - - // Write the member to the database. - $member->write(); - - // Create an array with data to populate in the email. - $populateArray = array(); - $populateArray['Member'] = $member; - // If there is a group, populate a confirm link. - if($this->get_group_code()) { - $populateArray['ConfirmLink'] = Director::absoluteBaseURL() . 'confirm-subscription/member/' . $member->Hash; - } - - // Send off a confirmation email to the subscriber. - $email = new NewsletterSignupForm_Email(); - $email->to = $member->Email; - $email->from = Email::getAdminEmail(); - $email->subject = 'Thank you for subscribing'; - $email->populateTemplate($populateArray); - $email->send(); - - // Display message, and redirect back. - $form->sessionMessage('You have been sent an email to confirm your subscription.', 'good'); - Director::redirectBack(); - } -} - -class NewsletterSignupForm_Email extends Email_Template { - - protected $ss_template = 'NewsletterSignupForm_Email'; - -} - -?> \ No newline at end of file diff --git a/templates/Layout/ConfirmNewsletterSignup_member.ss b/templates/Layout/ConfirmNewsletterSignup_member.ss deleted file mode 100755 index e1db78a..0000000 --- a/templates/Layout/ConfirmNewsletterSignup_member.ss +++ /dev/null @@ -1,8 +0,0 @@ -
-
-

Confirm newsletter signup

- $Content -
-
- - diff --git a/templates/email/ConfirmNewsletterSignup_Email.ss b/templates/email/ConfirmNewsletterSignup_Email.ss deleted file mode 100755 index fcdd44c..0000000 --- a/templates/email/ConfirmNewsletterSignup_Email.ss +++ /dev/null @@ -1,14 +0,0 @@ - - - - $Subject - - -

$Subject

- -

Hello $Member.FirstName,

- -

Welcome to the mailing list.

- - \ No newline at end of file diff --git a/templates/email/NewsletterSignupForm_Email.ss b/templates/email/NewsletterSignupForm_Email.ss deleted file mode 100755 index 3fc45a7..0000000 --- a/templates/email/NewsletterSignupForm_Email.ss +++ /dev/null @@ -1,19 +0,0 @@ - - - - $Subject - - -

$Subject

- -

Hello $Member.FirstName,

- -

This email confirms you signed up to the site.

- - <% if ConfirmLink %> -

Please visit this link to confirm you would like to sign up:

-

$ConfirmLink

- <% end_if %> - - \ No newline at end of file