]> git.mxchange.org Git - mailer.git/blobdiff - inc/request-functions.php
Several double->single convertions, fix for missing constant '_MYSQL_PREFIX' which...
[mailer.git] / inc / request-functions.php
index 0066994f26757168c63a4fbe8aef21bde6e2f150..bf045e11feb4ab76c248045395363b71abc972ba 100644 (file)
  * -------------------------------------------------------------------- *
  * Kurzbeschreibung  : Spezialle Funktionen fuer die Anfragebehandlung  *
  * -------------------------------------------------------------------- *
- *                                                                      *
+ * $Revision::                                                        $ *
+ * $Date::                                                            $ *
+ * $Tag:: 0.2.1-FINAL                                                 $ *
+ * $Author::                                                          $ *
+ * Needs to be in all Files and every File needs "svn propset           *
+ * svn:keywords Date Revision" (autoprobset!) at least!!!!!!            *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2008 by Roland Haeder                           *
  * For more information visit: http://www.mxchange.org                  *
@@ -33,7 +38,7 @@
 
 // Some security stuff...
 if (!defined('__SECURITY')) {
-       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), "/inc") + 4) . "/security.php";
+       $INC = substr(dirname(__FILE__), 0, strpos(dirname(__FILE__), '/inc') + 4) . '/security.php';
        require($INC);
 } // END - if
 
@@ -42,10 +47,16 @@ function REQUEST_GET ($element) {
        // By default no element is there
        $value = null;
 
-       // Is the element there?
-       if (REQUEST_ISSET_GET($element)) {
-               // Then use it
-               $value = $_GET[$element];
+       // Is the element cached or there?
+       if (isset($GLOBALS['cache_request']['request_get'][$element])) {
+               // Then use the cache
+               $value = $GLOBALS['cache_request']['request_get'][$element];
+       } elseif (REQUEST_ISSET_GET($element)) {
+               // Then get it directly
+               $value = SQL_ESCAPE($GLOBALS['raw_request']['get'][$element]);
+
+               // Store it in cache
+               $GLOBALS['cache_request']['request_get'][$element] = $value;
        } // END - if
 
        // Return value
@@ -53,18 +64,22 @@ function REQUEST_GET ($element) {
 }
 
 // Checks if an element in $_GET exists
-function REQUEST_ISSET_GET ($element) {
-       return (isset($_GET['element']));
+function REQUEST_ISSET_GET ($element, $subElement = '') {
+       if (empty($subElement)) {
+               return ((isset($GLOBALS['raw_request']['get'][$element])) && (!empty($GLOBALS['raw_request']['get'][$element])));
+       } else {
+               return ((isset($GLOBALS['raw_request']['get'][$element][$subElement])) && (!empty($GLOBALS['raw_request']['get'][$element][$subElement])));
+       }
 }
 
 // Removes an element from $_GET
 function REQUEST_UNSET_GET ($element) {
-       unset($_GET[$element]);
+       unset($GLOBALS['raw_request']['get'][$element]);
 }
 
 // Getter for whole $_GET array
 function REQUEST_GET_ARRAY () {
-       return $_GET;
+       return $GLOBALS['raw_request']['get'];
 }
 
 // Counts entries in $_GET or returns false if not an array
@@ -84,15 +99,43 @@ function REQUEST_GET_COUNT () {
        // Return value
 }
 
+// Setter for element in $_GET
+function REQUEST_SET_GET ($element, $value) {
+       // Escape both
+       $element = SQL_ESCAPE($element);
+       $value   = SQL_ESCAPE($value);
+
+       // Set in $_GET
+       $GLOBALS['raw_request']['get'][$element] = $value;
+
+       // Update cache
+       $GLOBALS['cache_request']['request_get'][$element] = $value;
+}
+
 // Wrapper for elements in $_POST
-function REQUEST_POST ($element) {
+function REQUEST_POST ($element, $subElement=null) {
        // By default no element is there
        $value = null;
 
-       // Is the element there?
-       if (REQUEST_ISSET_POST($element)) {
+       // Is the element in cache?
+       if (isset($GLOBALS['cache_request']['request_post'][$element][$subElement])) {
                // Then use it
-               $value = $_POST[$element];
+               $value = $GLOBALS['cache_request']['request_post'][$element][$subElement];
+       } elseif (REQUEST_ISSET_POST($element)) {
+               // Then use it
+               $value = $GLOBALS['raw_request']['post'][$element];
+
+               // Is $subElement set?
+               if ((!is_null($subElement)) && (REQUEST_ISSET_POST($element, $subElement))) {
+                       // Then use this
+                       $value = SQL_ESCAPE($value[$subElement]);
+               } elseif (!is_array($value)) {
+                       // Escape it here
+                       $value = SQL_ESCAPE($value);
+               }
+
+               // Set it in cache
+               $GLOBALS['cache_request']['request_post'][$element][$subElement] = $value;
        } // END - if
 
        // Return value
@@ -100,18 +143,27 @@ function REQUEST_POST ($element) {
 }
 
 // Checks if an element in $_POST exists
-function REQUEST_ISSET_POST ($element) {
-       return (isset($_POST['element']));
+function REQUEST_ISSET_POST ($element, $subElement=null) {
+       if (is_null($subElement)) {
+               return ((isset($GLOBALS['raw_request']['post'][$element])) && (!empty($GLOBALS['raw_request']['post'][$element])));
+       } else {
+               return ((isset($GLOBALS['raw_request']['post'][$element][$subElement])) && (!empty($GLOBALS['raw_request']['post'][$element][$subElement])));
+       }
 }
 
 // Removes an element from $_POST
 function REQUEST_UNSET_POST ($element) {
-       unset($_POST[$element]);
+       unset($GLOBALS['raw_request']['post'][$element]);
 }
 
 // Getter for whole $_POST array
 function REQUEST_POST_ARRAY () {
-       return $_POST;
+       return $GLOBALS['raw_request']['post'];
+}
+
+// Setter for whole $_POST array
+function REQUEST_SET_POST_ARRAY (array $POST) {
+       $GLOBALS['raw_request']['post'] = $POST;
 }
 
 // Counts entries in $_POST or returns false if not an array
@@ -131,11 +183,51 @@ function REQUEST_POST_COUNT () {
        // Return value
 }
 
+// Setter for element in $_POST
+function REQUEST_SET_POST ($element, $value) {
+       // Is $element or $value an array?
+       if (is_array($element)) {
+               // Set array
+               $eval = "\$GLOBALS['raw_request']['post']['";
+
+               // Add all entries
+               $eval .= implode("']['", $element);
+
+               // Finish eval() command
+               $eval .= sprintf("'] = \"%s\";", SQL_ESCAPE($value));
+
+               // And run it
+               eval($eval);
+       } elseif (is_array($value)) {
+               // Escape element
+               $element = SQL_ESCAPE($element);
+
+               // Value is an array so set it directly
+               $GLOBALS['raw_request']['post'][$element] = $value;
+       } else {
+               // Escape both
+               $element = SQL_ESCAPE($element);
+               $value   = SQL_ESCAPE($value);
+
+               // Set regular entry
+               $GLOBALS['raw_request']['post'][$element] = $value;
+       }
+
+       // Update cache
+       $GLOBALS['cache_request']['request_post'][$element] = $value;
+}
+
 // Checks wether a form was sent. If so, the $_POST['ok'] element must be set
-function IS_FORM_SENT () {
+function isFormSent () {
        // Simply wrap it!
        return REQUEST_ISSET_POST('ok');
 }
 
+// Initialize the request elements
+function initRequest () {
+       $GLOBALS['raw_request']['get']  = $_GET;
+       $GLOBALS['raw_request']['post'] = $_POST;
+}
+
 //
 ?>