Rewrote 'we' word a little, rewrote mail order to use SQL_INSERTID() instead of anoth...
[mailer.git] / inc / request-functions.php
index 353e24b4e8a6acba00e0c8fb770d44fd25022c0a..62cdacc8c3f6e065f9e550750270a5ee04e2040f 100644 (file)
@@ -16,7 +16,7 @@
  * $Author::                                                          $ *
  * -------------------------------------------------------------------- *
  * Copyright (c) 2003 - 2009 by Roland Haeder                           *
- * Copyright (c) 2009 - 2011 by Mailer Developer Team                   *
+ * Copyright (c) 2009 - 2012 by Mailer Developer Team                   *
  * For more information visit: http://mxchange.org                      *
  *                                                                      *
  * This program is free software; you can redistribute it and/or modify *
@@ -78,6 +78,7 @@ function isGetRequestElementSet ($element, $subElement = '') {
 
 // Removes an element from $_GET
 function unsetGetRequestElement ($element) {
+       unset($GLOBALS['cache_request']['get'][$element]);
        unset($GLOBALS['raw_request']['get'][$element]);
 }
 
@@ -118,6 +119,7 @@ function setGetRequestElement ($element, $value) {
 
 // Wrapper for elements in $_POST
 function postRequestElement ($element, $subElement = NULL) {
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element[' . gettype($element) . ']=' . $element . ',subElement[' . gettype($subElement) . ']=' . $subElement . ' - ENTERED!');
        // By default no element is there
        $value = NULL;
 
@@ -125,7 +127,7 @@ function postRequestElement ($element, $subElement = NULL) {
        if (isset($GLOBALS['cache_request']['post'][$element][$subElement])) {
                // Then use it
                $value = $GLOBALS['cache_request']['post'][$element][$subElement];
-               //* DEBUG: */ print $element.'/'.$subElement.'='.$value.'<br />';
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element[' . gettype($element) . ']=' . $element . ',subElement[' . gettype($subElement) . ']=' . $subElement . ',value[' . gettype($value) . ']=' . $value . ' - CACHE!');
        } elseif (isPostRequestElementSet($element)) {
                // Then use it
                $value = $GLOBALS['raw_request']['post'][$element];
@@ -134,28 +136,38 @@ function postRequestElement ($element, $subElement = NULL) {
                if ((!is_null($subElement)) && (isPostRequestElementSet($element, $subElement))) {
                        // Then use this
                        $value = SQL_ESCAPE($value[$subElement]);
-                       //* DEBUG: */ print 'sub!<br />';
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',subElement=' . $subElement . ' - SUB!');
                } elseif (!is_array($value)) {
                        // Escape it here
                        $value = SQL_ESCAPE($value);
-                       //* DEBUG: */ print 'no-array!<br />';
+                       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ' - REGULAR!');
                }
 
                // Set it in cache
-               //* DEBUG: */ print $element.'/'.$subElement.'='.$value.'<br />';
-               //* DEBUG: */ print('<pre>'.print_r($_POST,true).'</pre>');
+               //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element=' . $element . ',subElement=' . $subElement . ',value=' . $value.' - ADDED!');
                $GLOBALS['cache_request']['post'][$element][$subElement] = $value;
        } // END - if
 
        // Return value
+       //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, 'element[' . gettype($element) . ']=' . $element . ',subElement[' . gettype($subElement) . ']=' . $subElement . ',value[' . gettype($value) . ']=' . $value . ' - EXIT!');
        return $value;
 }
 
 // Checks if an element in $_POST exists
 function isPostRequestElementSet ($element, $subElement = NULL) {
+       /*
+        * Always check that $element is a string and that $subElement is NULL or
+        * a string as numerical indexes are not wanted in POST data (in this
+        * project).
+        */
+       assert(is_string($element) && ((is_null($subElement)) || (is_string($subElement))));
+
+       // Is a sub element set?
        if (is_null($subElement)) {
-               return ((isset($GLOBALS['raw_request']['post'][$element])) && (('' . $GLOBALS['raw_request']['post'][$element] . '') != ''));
+               // No, then only check $element
+               return ((isset($GLOBALS['raw_request']['post'][$element])) && ((is_array($GLOBALS['raw_request']['post'][$element])) || (('' . $GLOBALS['raw_request']['post'][$element] . '') != '')));
        } else {
+               // Yes, then check both together
                return ((isset($GLOBALS['raw_request']['post'][$element][$subElement])) && (('' . $GLOBALS['raw_request']['post'][$element][$subElement] . '') != ''));
        }
 }
@@ -163,6 +175,7 @@ function isPostRequestElementSet ($element, $subElement = NULL) {
 // Removes an element from $_POST
 function unsetPostRequestElement ($element) {
        unset($GLOBALS['raw_request']['post'][$element]);
+       unset($GLOBALS['cache_request']['post'][$element]);
 }
 
 // Getter for whole $_POST array
@@ -190,6 +203,7 @@ function countRequestPost () {
        } // END - if
 
        // Return value
+       return $count;
 }
 
 // Setter for element in $_POST
@@ -226,30 +240,40 @@ function setPostRequestElement ($element, $value) {
        $GLOBALS['cache_request']['post'][$element][null] = $value;
 }
 
-// Checks wether a form was sent. If so, the $_POST['ok'] element must be set
+// Checks whether a form was sent. If so, the $_POST['ok'] element must be set
 function isFormSent ($requestParameter = 'ok') {
        // Simply wrap it!
        return isPostRequestElementSet($requestParameter);
 }
 
-// Checks if 'content_type' is set
-function isContentTypeSet () {
-       return isset($GLOBALS['content_type']);
-}
+// Getter for request URI
+function getRequestUri () {
+       // Is it not set?
+       if (!isset($_SERVER['REQUEST_URI'])) {
+               // Return empty string
+               return '';
+       } // END - if
 
-// Setter for content type
-function setContentType ($contentType) {
-       $GLOBALS['content_type'] = (string) $contentType;
+       // Return it
+       return $_SERVER['REQUEST_URI'];
 }
 
-// Getter for content type
-function getContentType () {
-       return $GLOBALS['content_type'];
-}
+// Add all GET parameters to a string (without leading sign)
+function addAllGetRequestParameters () {
+       // Init variable
+       $return = '';
 
-// Getter for request URI
-function getRequestUri () {
-       return $_SERVER['REQUEST_URI'];
+       // Now add all parameters
+       foreach (getRequestArray() as $key => $value) {
+               // Add it secured
+               $return .= SQL_ESCAPE($key) . '=' . SQL_ESCAPE($value) . '&amp;';
+       } // END - foreach
+
+       // Remove trailing &amp;
+       $return = substr($return, 0, -5);
+
+       // Return it
+       return $return;
 }
 
 // [EOF]