diff --git a/app/plugins/newsletter/controllers/newsletters_controller.php b/app/plugins/newsletter/controllers/newsletters_controller.php index 216136cd1..784ce343e 100644 --- a/app/plugins/newsletter/controllers/newsletters_controller.php +++ b/app/plugins/newsletter/controllers/newsletters_controller.php @@ -6,6 +6,10 @@ class NewslettersController extends NewsletterAppController var $helpers = array( ); + var $components = array( + 'Email' + ); + function beforeFilter( ) { parent::beforeFilter(); @@ -193,12 +197,39 @@ function admin_edit() function admin_view( $id = null ) { - if ( !$id ) + if ( !$id && empty( $this->data )) { $this->Session->setFlash( __( 'Please select a newsletter', true ) ); $this->redirect( $this->referer() ); } + if ( !empty( $this->data ) ) + { + $addresses = explode( ',', $this->data['Newsletter']['email_addresses'] ); + if ( empty( $addresses ) ) + { + $this->Session->setFlash( __( 'Please input at least one email address for testing.', true ) ); + $this->redirect( $this->referer() ); + } + + $newsletter = $this->Newsletter->read( null, $this->data['Newsletter']['id'] ); + + foreach( $addresses as $address ) + { + $this->Email->from = 'Somebody <'.$newsletter['Newsletter']['from'].'>'; + $this->Email->to = 'Test <'.$address.'>'; + $this->Email->subject = strip_tags( $newsletter['Newsletter']['subject'] ); + $this->set( 'email', $newsletter['Template']['header'].$newsletter['Newsletter']['html'].$newsletter['Template']['footer'] ); + $this->Email->sendAs = 'both'; + $this->Email->delivery = 'mail'; + + var_dump( $this->Email->send() ); + exit; + + $this->Email->reset(); + } + } + $this->set( 'newsletter', $this->Newsletter->read( null, $id ) ); } @@ -238,11 +269,6 @@ function admin_preview( $id = null ) } - function admin_testSend( $id = null ) - { - - } - function admin_delte() { diff --git a/app/plugins/newsletter/views/newsletters/admin_view.ctp b/app/plugins/newsletter/views/newsletters/admin_view.ctp index e529d8ca8..7759e59c6 100644 --- a/app/plugins/newsletter/views/newsletters/admin_view.ctp +++ b/app/plugins/newsletter/views/newsletters/admin_view.ctp @@ -8,6 +8,7 @@ Form->create( 'Newsletter', array( 'action' => 'view' ) ); echo '

'.__( 'Enter the email addresses you would like to send to seperated by a , {comma}.', true ).'

'; + echo $this->Form->input( 'id', array( 'value' => $this->params['pass'][0] ) ); echo $this->Form->input( 'email_addresses', array( 'type' => 'textarea', 'class' => 'title', 'value' => 'dogmatic69@gmail.com,carl@php-dev.co.za' ) ); echo $this->Form->end( 'Send the test' ); ?> \ No newline at end of file diff --git a/app/views/elements/email/html/default.ctp b/app/views/elements/email/html/default.ctp new file mode 100644 index 000000000..17603cdaa --- /dev/null +++ b/app/views/elements/email/html/default.ctp @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/elements/email/html/empty b/app/views/elements/email/html/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/views/elements/email/text/default.ctp b/app/views/elements/email/text/default.ctp new file mode 100644 index 000000000..c7e423596 --- /dev/null +++ b/app/views/elements/email/text/default.ctp @@ -0,0 +1 @@ +', "\r", strip_tags( $email ) ); ?> \ No newline at end of file diff --git a/app/views/elements/email/text/empty b/app/views/elements/email/text/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/views/layouts/email/html/default.ctp b/app/views/layouts/email/html/default.ctp new file mode 100644 index 000000000..7b97cc122 --- /dev/null +++ b/app/views/layouts/email/html/default.ctp @@ -0,0 +1,6 @@ + + + + + + diff --git a/app/views/layouts/email/html/empty b/app/views/layouts/email/html/empty deleted file mode 100644 index e69de29bb..000000000 diff --git a/app/views/layouts/email/text/default.ctp b/app/views/layouts/email/text/default.ctp new file mode 100644 index 000000000..3f290130e --- /dev/null +++ b/app/views/layouts/email/text/default.ctp @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/app/views/layouts/email/text/empty b/app/views/layouts/email/text/empty deleted file mode 100644 index e69de29bb..000000000