/** * Clean input variables. * @param $data mixed request parameter(s) * @return mixed cleaned request parameter(s) */ function prepInput(&$data) { if (!is_array($data)) { $data = urldecode($data); } else { foreach ($data as $k => $v) { if (is_array($data[$k])) { OAIUtils::prepInput($data[$k]); } else { $data[$k] = urldecode($v); } } } return $data; }
/** * Constructor. * Initializes object and parses user input. * @param $config OAIConfig repository configuration */ function OAI($config) { $this->config = $config; // Initialize parameters from GET or POST variables $this->params = array(); if (isset($GLOBALS['HTTP_RAW_POST_DATA']) && !empty($GLOBALS['HTTP_RAW_POST_DATA'])) { OAIUtils::parseStr($GLOBALS['HTTP_RAW_POST_DATA'], $this->params); } else { if (!empty($_SERVER['QUERY_STRING'])) { OAIUtils::parseStr($_SERVER['QUERY_STRING'], $this->params); } else { $this->params = array_merge($_GET, $_POST); } } // Clean input variables OAIUtils::prepInput($this->params); // Encode data with gzip, deflate, or none, depending on browser support ob_start('ob_gzhandler'); }