public function w3tc_cloudflare_save_settings()
 {
     $api = Extension_CloudFlare_SettingsForUi::api();
     $errors = Extension_CloudFlare_SettingsForUi::settings_set($api);
     if (empty($errors)) {
         Util_Admin::redirect_with_custom_messages2(array('notes' => array('cloudflare_save_done' => __('CloudFlare settings are successfully updated.', 'w3-total-cache'))));
     } else {
         Util_Admin::redirect_with_custom_messages2(array('errors' => array('cloudflare_save_error' => __('Failed to update CloudFlare settings:', 'w3-total-cache') . "<br />\n" . implode("<br />\n", $errors))));
     }
 }
 function widget_form()
 {
     $api = Extension_CloudFlare_SettingsForUi::api();
     $c = Dispatcher::config();
     $interval = $c->get_integer(array('cloudflare', 'widget_interval'));
     $v = get_transient('w3tc_cloudflare_stats');
     try {
         $key = 'dashboard-' . $interval;
         if (!isset($v[$key])) {
             if (!is_array($v)) {
                 $v = array();
             }
             $v[$key] = $api->analytics_dashboard($interval);
             set_transient('w3tc_cloudflare_stats', $v, $this->_cache_mins * 60);
         }
         $stats = $v[$key];
     } catch (\Exception $e) {
         $stats = null;
     }
     include W3TC_DIR . '/Extension_CloudFlare_Widget_View.php';
 }
 public static function w3tc_extension_page_cloudflare()
 {
     $c = Dispatcher::config();
     $api = Extension_CloudFlare_SettingsForUi::api();
     $email = $c->get_string(array('cloudflare', 'email'));
     $key = $c->get_string(array('cloudflare', 'key'));
     $zone_id = $c->get_string(array('cloudflare', 'zone_id'));
     if (empty($email) || empty($key) || empty($zone_id)) {
         $state = 'not_configured';
     } else {
         $settings = array();
         try {
             $settings = Extension_CloudFlare_SettingsForUi::settings_get($api);
             $state = 'available';
         } catch (\Exception $ex) {
             $state = 'not_available';
             $error_message = $ex->getMessage();
         }
     }
     $config = $c;
     include W3TC_DIR . '/Extension_CloudFlare_Page_View.php';
 }