Exemplo n.º 1
0
 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());
 }