public static function config_key_from_http_name($http_key) { $a = explode('___', $http_key); if (count($a) == 2) { $a[0] = Util_Ui::config_key_from_http_name($a[0]); $a[1] = Util_Ui::config_key_from_http_name($a[1]); return $a; } return str_replace('__', '.', $http_key); }
/** * 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); } } }
public function w3tc_config_overloaded_enable($http_key) { $c = Dispatcher::config(); $key = Util_Ui::config_key_from_http_name($http_key); $c->set($key, true); $c->save(); Util_Admin::redirect(array()); }