From 8005f9b0d1843ce7da170b850b209565eb4a1f87 Mon Sep 17 00:00:00 2001 From: nao-pon Date: Wed, 15 Jan 2014 20:24:35 +0900 Subject: [PATCH] [php:connector] Remove null & stripslashes applies on "magic_quotes_gpc" --- php/elFinderConnector.class.php | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/php/elFinderConnector.class.php b/php/elFinderConnector.class.php index 0c4a0ce97..577155bbf 100644 --- a/php/elFinderConnector.class.php +++ b/php/elFinderConnector.class.php @@ -90,7 +90,7 @@ class elFinderConnector { $args['debug'] = isset($src['debug']) ? !!$src['debug'] : false; - $this->output($this->elFinder->exec($cmd, $args)); + $this->output($this->elFinder->exec($cmd, $this->input_filter($args))); } /** @@ -130,4 +130,24 @@ class elFinderConnector { } + /** + * Remove null & stripslashes applies on "magic_quotes_gpc" + * + * @param mixed $args + * @return mixed + * @author Naoki Sawada + */ + private function input_filter($args) { + static $magic_quotes_gpc = NULL; + + if ($magic_quotes_gpc === NULL) + $magic_quotes_gpc = (version_compare(PHP_VERSION, '5.4', '<') && get_magic_quotes_gpc()); + + if (is_array($args)) { + return array_map(array(& $this, 'input_filter'), $args); + } + $res = str_replace("\0", '', $args); + $magic_quotes_gpc && ($res = stripslashes($res)); + return $res; + } }// END class