Merge pull request #1074 from mikedfunk/feature/all_flashdata

Feature/all flashdata
diff --git a/system/libraries/Session.php b/system/libraries/Session.php
index 0c8d465..3a80c16 100644
--- a/system/libraries/Session.php
+++ b/system/libraries/Session.php
@@ -469,6 +469,29 @@
 	{
 		return $this->userdata;
 	}
+	
+	// --------------------------------------------------------------------------
+	
+	/**
+	 * Fetch all flashdata
+	 * 
+	 * @return	array
+	 */
+	public function all_flashdata()
+	{
+		$out = array();
+		
+		// loop through all userdata
+		foreach ($this->all_userdata() as $key => $val)
+		{	
+			// if it contains flashdata, add it
+			if (strpos($key, 'flash:old:') !== FALSE)
+			{
+				$out[$key] = $val;
+			}
+		}
+		return $out;
+	}
 
 	// --------------------------------------------------------------------
 
diff --git a/user_guide_src/source/changelog.rst b/user_guide_src/source/changelog.rst
index 5dcf54d..6d596a4 100644
--- a/user_guide_src/source/changelog.rst
+++ b/user_guide_src/source/changelog.rst
@@ -92,6 +92,7 @@
    -  Minor speed optimizations and method & property visibility declarations in the Calendar Library.
    -  Removed SHA1 function in the :doc:`Encryption Library <libraries/encryption>`.
    -  Added $config['csrf_regeneration'] to the CSRF protection in the :doc:`Security library <libraries/security>`, which makes token regeneration optional.
+   -  Added all_flashdata() method to session class. Returns an associative array of only flashdata.
    -  Allowed for setting table class defaults in a config file.
    -  Form Validation library now allows setting of error delimiters in the config file via $config['error_prefix'] and $config['error_suffix'].
    -  Added function error_array() to return all error messages as an array in the Form_validation class.
diff --git a/user_guide_src/source/libraries/sessions.rst b/user_guide_src/source/libraries/sessions.rst
index ef32f5d..e8332ee 100644
--- a/user_guide_src/source/libraries/sessions.rst
+++ b/user_guide_src/source/libraries/sessions.rst
@@ -209,6 +209,10 @@
 To read a flashdata variable::
 
 	$this->session->flashdata('item');
+	
+An array of all flashdata can be retrieved as follows::
+
+	$this->session->all_flashdata();
 
 
 If you find that you need to preserve a flashdata variable through an