summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Barnes <eric@ericlbarnes.com>2012-07-30 14:10:05 +0200
committerEric Barnes <eric@ericlbarnes.com>2012-07-30 14:10:05 +0200
commit4df0be86a3ee120e307d6140a9106e77a4962bb0 (patch)
tree901d005b951e11b17973fe2f3e4171dda04340b3
parentb92c44bba729575a92c80313174d45191cae582e (diff)
parent5f441eaedf5fecbad29131c5d44e3c2d53c4c4b5 (diff)
Merge pull request #1672 from alexbilbie/alexbilbie-email-clear
Automatically clear email parameters if send was successful
-rw-r--r--system/libraries/Email.php20
-rw-r--r--user_guide_src/source/changelog.rst4
-rw-r--r--user_guide_src/source/libraries/email.rst8
3 files changed, 28 insertions, 4 deletions
diff --git a/system/libraries/Email.php b/system/libraries/Email.php
index fdb9be4da..196a4b36c 100644
--- a/system/libraries/Email.php
+++ b/system/libraries/Email.php
@@ -1238,7 +1238,7 @@ class CI_Email {
*
* @return bool
*/
- public function send()
+ public function send($auto_clear = TRUE)
{
if ($this->_replyto_flag === FALSE)
{
@@ -1257,11 +1257,25 @@ class CI_Email {
if ($this->bcc_batch_mode && count($this->_bcc_array) > $this->bcc_batch_size)
{
- return $this->batch_bcc_send();
+ $result = $this->batch_bcc_send();
+
+ if ($result && $auto_clear)
+ {
+ $this->clear();
+ }
+
+ return $result;
}
$this->_build_message();
- return $this->_spool_email();
+ $result = $this->_spool_email();
+
+ if ($result && $auto_clear)
+ {
+ $this->clear();
+ }
+
+ return $result;
}
// --------------------------------------------------------------------
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 7f428e5db..4d69c4dc3 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -176,7 +176,9 @@ Release Date: Not Released
- Allowed for setting table class defaults in a config file.
- Added a Wincache driver to the :doc:`Caching Library <libraries/caching>`.
- Added a Redis driver to the :doc:`Caching Library <libraries/caching>`.
- - Added dsn (delivery status notification) option to the :doc:`Email Library <libraries/email>`.
+ - :doc:`Email library <libraries/email>` changes include:
+ - Added dsn (delivery status notification) option.
+ - Successfully sent emails will automatically clear the parameters.
- Renamed method _set_header() to set_header() and made it public to enable adding custom headers in the :doc:`Email Library <libraries/email>`.
- Added an "index" parameter to the data() method in the :doc:`Upload Library <libraries/file_uploading>`.
- :doc:`Pagination Library <libraries/pagination>` changes include:
diff --git a/user_guide_src/source/libraries/email.rst b/user_guide_src/source/libraries/email.rst
index c5fa68004..f56bc2ff5 100644
--- a/user_guide_src/source/libraries/email.rst
+++ b/user_guide_src/source/libraries/email.rst
@@ -226,6 +226,14 @@ success or failure, enabling it to be used conditionally::
// Generate error
}
+This function will automatically clear all parameters if the request was
+ successful. To stop this behaviour pass FALSE::
+
+ if ($this->email->send(FALSE))
+ {
+ // Parameters won't be cleared
+ }
+
$this->email->attach()
----------------------