/**
  * 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);
         }
     }
 }
Example #2
0
 /**
  * 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;
 }