/** * Reads config from request * * @param Config $config */ function read_request($config) { $request = Util_Request::get_request(); include W3TC_DIR . '/ConfigKeys.php'; // define $keys foreach ($request as $request_key => $request_value) { if (is_array($request_value)) { array_map('stripslashes_deep', $request_value); } else { $request_value = stripslashes($request_value); } if (strpos($request_key, 'memcached_servers')) { $request_value = explode(',', $request_value); } $key = Util_Ui::config_key_from_http_name($request_key); if (is_array($key)) { $config->set($key, $request_value); } elseif (array_key_exists($key, $keys)) { $descriptor = $keys[$key]; if (isset($descriptor['type']) && $descriptor['type'] == 'array') { if (is_array($request_value)) { $request_value = implode("\n", $request_value); } $request_value = explode("\n", str_replace("\r\n", "\n", $request_value)); } $config->set($key, $request_value); } } }
/** * Returns array value * * @param string $prefix * @param array $default * @return array */ static function get_as_array($prefix, $default = array()) { $request = Util_Request::get_request(); $array = array(); foreach ($request as $key => $value) { if (strpos($key, $prefix) === 0 || strpos($key, str_replace('.', '_', $prefix)) === 0) { $array[substr($key, strlen($prefix))] = $value; } } return $array; }