summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorvascopj <devnull@localhost>2011-02-13 22:30:19 +0100
committervascopj <devnull@localhost>2011-02-13 22:30:19 +0100
commitff1cfa1ae5c5440bfde35c36ecb4cdcd73cd3966 (patch)
treeb45900e1bdf43a0159c54237c92a51ccc3a2a77a
parent0ba58b81b65c2059210b921856489b5faaa81369 (diff)
Updated the post method and added the new functionality to the get method also
Updated the documentation
-rw-r--r--system/core/Input.php18
-rw-r--r--user_guide/changelog.html1
-rw-r--r--user_guide/libraries/input.html20
3 files changed, 38 insertions, 1 deletions
diff --git a/system/core/Input.php b/system/core/Input.php
index fa8080deb..1be591508 100644
--- a/system/core/Input.php
+++ b/system/core/Input.php
@@ -111,6 +111,22 @@ class CI_Input {
*/
function get($index = '', $xss_clean = FALSE)
{
+ // check if a field has been entered
+ if( empty($index) AND is_array($_GET) AND count($_GET) )
+ {
+ // no field entered - return all fields
+
+ $all_get_fields = array();
+
+ // loop through the full _GET array
+ foreach( $_GET as $key )
+ {
+ $all_get_fields[$key] = $this->_fetch_from_array($_GET, $key, $xss_clean);
+ }
+ return $all_get_fields;
+
+ }
+
return $this->_fetch_from_array($_GET, $index, $xss_clean);
}
@@ -127,7 +143,7 @@ class CI_Input {
function post($index = '', $xss_clean = FALSE)
{
// check if a field has been entered
- if( empty($index ) )
+ if( empty($index) AND is_array($_POST) AND count($_POST) )
{
// no field entered - return all fields
diff --git a/user_guide/changelog.html b/user_guide/changelog.html
index 35187efda..92513e6d6 100644
--- a/user_guide/changelog.html
+++ b/user_guide/changelog.html
@@ -120,6 +120,7 @@ Hg Tag: v2.0.0</p>
<li>Altered Email Library to allow for method chaining.</li>
<li>Added <kbd>request_headers()</kbd>, <kbd>get_request_header()</kbd> and <kbd>is_ajax_request()</kbd> to the input class.</li>
<li class="reactor">Altered <a href="libraries/user_agent.html">User agent library</a> so that <kbd>is_browser()</kbd>, <kbd>is_mobile()</kbd> and <kbd>is_robot()</kbd> can optionally check for a specific browser or mobile device.</li>
+ <li class="reactor">Altered <a href="libraries/input.html">Input library</a> so that <kbd>post()</kbd> and <kbd>get()</kbd> will return all POST and GET items (respectively) if there are no parameters passed in.</li>
</ul>
</li>
<li>Database
diff --git a/user_guide/libraries/input.html b/user_guide/libraries/input.html
index 552c49afd..4faecd768 100644
--- a/user_guide/libraries/input.html
+++ b/user_guide/libraries/input.html
@@ -132,12 +132,32 @@ else<br />
<code>$this->input->post('some_data', TRUE);</code>
+<p>To return an array of all POST items call without any parameters.</p>
+<p>To return all POST items and pass them through the XSS filter leave the first parameter blank while setting the second parameter to boolean;</p>
+<p>The function returns FALSE (boolean) if there are no items in the POST.</p>
+
+<code>
+ $this->input->post(); // returns all POST items with XSS filter
+ <br />
+ $this->input->post('', FALSE); // returns all POST items without XSS
+</code>
+
<h2>$this->input->get()</h2>
<p>This function is identical to the post function, only it fetches get data:</p>
<code>$this->input->get('some_data', TRUE);</code>
+<p>To return an array of all GET items call without any parameters.</p>
+<p>To return all GET items and pass them through the XSS filter leave the first parameter blank while setting the second parameter to boolean;</p>
+<p>The function returns FALSE (boolean) if there are no items in the GET.</p>
+
+<code>
+ $this->input->get(); // returns all GET items with XSS filter
+ <br />
+ $this->input->get('', FALSE); // returns all GET items without XSS filtering
+</code>
+
<h2>$this->input->get_post()</h2>
<p>This function will search through both the post and get streams for data, looking first in post, and then in get:</p>