Fix for 'array-to-string-conversion' bug in request-functions.php
[mailer.git] / inc / request-functions.php
index 839a2ffe71a3a0269cdc5a87a856f01f9ee81460..61fdcbb916248c35e2e08cbe6b65a7394d004d39 100644 (file)
@@ -59,8 +59,12 @@ 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, $extra="") {
+       if (empty($extra)) {
+               return (isset($_GET[$element]));
+       } else {
+               return (isset($_GET[$element][$extra]));
+       }
 }
 
 // Removes an element from $_GET
@@ -90,6 +94,11 @@ function REQUEST_GET_COUNT () {
        // Return value
 }
 
+// Setter for element in $_GET
+function REQUEST_SET_GET ($element, $value) {
+       $_GET[SQL_ESCAPE($element)] = SQL_ESCAPE($value);
+}
+
 // Wrapper for elements in $_POST
 function REQUEST_POST ($element) {
        // By default no element is there
@@ -106,8 +115,12 @@ 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, $extra="") {
+       if (empty($extra)) {
+               return (isset($_POST[$element]));
+       } else {
+               return (isset($_POST[$element][$extra]));
+       }
 }
 
 // Removes an element from $_POST
@@ -137,6 +150,29 @@ function REQUEST_POST_COUNT () {
        // Return value
 }
 
+// Setter for element in $_POST
+function REQUEST_SET_POST ($element, $value) {
+       if (is_array($element)) {
+               // Set array
+               $eval = "\$_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)) {
+               // Value is an array so set it directly
+               $_POST[SQL_ESCAPE($element)] = $value;
+       } else {
+               // Set regular entry
+               $_POST[SQL_ESCAPE($element)] = SQL_ESCAPE($value);
+       }
+}
+
 // Checks wether a form was sent. If so, the $_POST['ok'] element must be set
 function IS_FORM_SENT () {
        // Simply wrap it!