aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/request
diff options
context:
space:
mode:
authorTristan Darricau <github@nicofuma.fr>2014-11-12 11:44:56 +0100
committerTristan Darricau <github@nicofuma.fr>2014-11-16 16:45:19 +0100
commit0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4 (patch)
treec8e5bc0ca0d0f646b37d392d9bd67f6215dec7e4 /phpBB/phpbb/request
parent526a97db7cea84ab54b7d283c888ada58a310bc4 (diff)
downloadforums-0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4.tar
forums-0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4.tar.gz
forums-0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4.tar.bz2
forums-0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4.tar.xz
forums-0dfe1d0d8b007ec7b7cae0715cfb2e5f4e33bad4.zip
[ticket/13280] Output escaping for the symfony request object
PHPBB3-13280
Diffstat (limited to 'phpBB/phpbb/request')
-rw-r--r--phpBB/phpbb/request/request.php23
-rw-r--r--phpBB/phpbb/request/request_interface.php10
2 files changed, 33 insertions, 0 deletions
diff --git a/phpBB/phpbb/request/request.php b/phpBB/phpbb/request/request.php
index ea9854894c..f0f2f7e2a2 100644
--- a/phpBB/phpbb/request/request.php
+++ b/phpBB/phpbb/request/request.php
@@ -416,4 +416,27 @@ class request implements \phpbb\request\request_interface
{
return $this->input[$super_global];
}
+
+ /**
+ * {@inheritdoc}
+ */
+ public function escape($var, $multibyte)
+ {
+ if (is_array($var))
+ {
+ $result = array();
+ foreach ($var as $key => $value)
+ {
+ $this->type_cast_helper->set_var($key, $key, gettype($key), $multibyte);
+ $result[$key] = $this->escape($value, $multibyte);
+ }
+ $var = $result;
+ }
+ else
+ {
+ $this->type_cast_helper->set_var($var, $var, 'string', $multibyte);
+ }
+
+ return $var;
+ }
}
diff --git a/phpBB/phpbb/request/request_interface.php b/phpBB/phpbb/request/request_interface.php
index 3236f73990..47b3b3a4ed 100644
--- a/phpBB/phpbb/request/request_interface.php
+++ b/phpBB/phpbb/request/request_interface.php
@@ -142,4 +142,14 @@ interface request_interface
* @return array The original array of the requested super global.
*/
public function get_super_global($super_global = \phpbb\request\request_interface::REQUEST);
+
+ /**
+ * Escape a string variable.
+ *
+ * @param mixed $value The contents to fill with
+ * @param bool $multibyte Indicates whether string values may contain UTF-8 characters.
+ * Default is false, causing all bytes outside the ASCII range (0-127) to be replaced with question marks.
+ * @return string|array
+ */
+ public function escape($value, $multibyte);
}