/** * Check * @throws FilesystemOperationException * @throws FileOperationException */ public function update_ip_ranges() { w3_require_once(W3TC_INC_DIR . '/functions/http.php'); $ip4_diff = $ip6_diff = false; $response = w3_http_get(W3TC_CLOUDFLARE_IP4_URL); $extensions_settings = $this->_config->get_array('extensions.settings', array()); if (!is_wp_error($response)) { $ip4_data = $response['body']; $ip4_data = explode("\n", $ip4_data); $ip4_data_old = w3tc_get_extension_config('cloudflare', 'ips.ip4', $this->_config, array()); if ($ip4_diff = array_diff($ip4_data, $ip4_data_old)) { $extensions_settings['cloudflare']['ips.ip4'] = $ip4_data; $this->_config->set('extensions.settings', $extensions_settings); } } $response = w3_http_get(W3TC_CLOUDFLARE_IP6_URL); if (!is_wp_error($response)) { $ip6_data = $response['body']; $ip6_data = explode("\n", $ip6_data); $ip6_data_old = w3tc_get_extension_config('cloudflare', 'ips.ip6', $this->_config, array()); if ($ip6_diff = array_diff($ip6_data, $ip6_data_old)) { $extensions_settings['cloudflare']['ips.ip6'] = $ip6_data; $this->_config->set('extensions.settings', $extensions_settings); } } if ($ip4_diff || $ip6_diff) { try { $this->_config->save(); $this->_config->refresh_cache(); } catch (Exception $ex) { } } }