/** * Runs plugin */ function run() { $cdn_engine = $this->_config->get_string('cdn.engine'); if (Cdn_Util::is_engine_fsd($cdn_engine)) { $this->run_fsd(); return; } add_filter('cron_schedules', array($this, 'cron_schedules')); if (!$this->_config->get_boolean('cdn.debug')) { add_filter('w3tc_footer_comment', array($this, 'w3tc_footer_comment')); } if (!Cdn_Util::is_engine_mirror($cdn_engine)) { add_action('delete_attachment', array($this, 'delete_attachment')); add_filter('update_attached_file', array($this, 'update_attached_file')); add_filter('wp_update_attachment_metadata', array($this, 'update_attachment_metadata')); add_action('w3_cdn_cron_queue_process', array($this, 'cron_queue_process')); add_action('w3_cdn_cron_upload', array($this, 'cron_upload')); add_action('switch_theme', array($this, 'switch_theme')); add_filter('update_feedback', array($this, 'update_feedback')); } add_filter('w3tc_admin_bar_menu', array($this, 'w3tc_admin_bar_menu')); if (is_admin()) { add_action('w3tc_config_ui_save-w3tc_cdn', array($this, 'change_canonical_header'), 0, 0); add_filter('w3tc_module_is_running-cdn', array($this, 'cdn_is_running')); } /** * Start rewrite engine */ if ($this->can_cdn()) { Util_Bus::add_ob_callback('cdn', array($this, 'ob_callback')); } if (is_admin() && Cdn_Util::can_purge($cdn_engine)) { add_filter('media_row_actions', array($this, 'media_row_actions'), 0, 2); } }
/** * Page cache tab * * @return void */ function view() { global $wp_rewrite; $feeds = $wp_rewrite->feeds; $feed_key = array_search('feed', $feeds); if ($feed_key !== false) { unset($feeds[$feed_key]); } $default_feed = get_default_feed(); $pgcache_enabled = $this->_config->get_boolean('pgcache.enabled'); $permalink_structure = get_option('permalink_structure'); $varnish_enabled = $this->_config->get_boolean('varnish.enabled'); $cdn_mirror_purge_enabled = Cdn_Util::is_engine_fsd($this->_config->get_string('cdn.engine')) && $this->_config->get_boolean('cdn.enabled'); include W3TC_INC_DIR . '/options/pgcache.php'; }
/** * CDN tab * * @return void */ function view() { $config = Dispatcher::config(); $cdn_engine = $config->get_string('cdn.engine'); if (Cdn_Util::is_engine_fsd($cdn_engine)) { do_action('w3tc_settings_cdn'); return; } $cdn_enabled = $config->get_boolean('cdn.enabled'); $cdn_mirror = Cdn_Util::is_engine_mirror($cdn_engine); $cdn_mirror_purge_all = Cdn_Util::can_purge_all($cdn_engine); $cdn_common = Dispatcher::component('Cdn_Core'); $cdn = $cdn_common->get_cdn(); $cdn_supports_header = $cdn->headers_support() == W3TC_CDN_HEADER_MIRRORING; $minify_enabled = $config->get_boolean('minify.enabled') && Util_Rule::can_check_rules() && $config->get_boolean('minify.rewrite') && (!$config->get_boolean('minify.auto') || Cdn_Util::is_engine_mirror($config->get_string('cdn.engine'))); $cookie_domain = $this->get_cookie_domain(); $set_cookie_domain = $this->is_cookie_domain_enabled(); // Required for Update Media Query String button $browsercache_enabled = $config->get_boolean('browsercache.enabled'); $browsercache_update_media_qs = $config->get_boolean('browsercache.cssjs.replace') || $config->get_boolean('browsercache.other.replace'); if (in_array($cdn_engine, array('netdna', 'maxcdn'))) { $pull_zones = array(); $authorization_key = $config->get_string("cdn.{$cdn_engine}.authorization_key"); $zone_id = $config->get_integer("cdn.{$cdn_engine}.zone_id"); $alias = $consumerkey = $consumersecret = ''; if ($authorization_key) { $keys = explode('+', $authorization_key); if (sizeof($keys) == 3) { list($alias, $consumerkey, $consumersecret) = $keys; } } $authorized = $authorization_key != '' && $alias && $consumerkey && $consumersecret; $have_zone = $zone_id != 0; if ($authorized) { require_once W3TC_LIB_NETDNA_DIR . '/NetDNA.php'; try { $api = new \NetDNA($alias, $consumerkey, $consumersecret); $pull_zones = $api->get_zones_by_url(get_home_url()); } catch (\Exception $ex) { Util_Ui::error_box('<p>There is an error with your CDN settings: ' . $ex->getMessage() . '</p>'); } } } include W3TC_INC_DIR . '/options/cdn.php'; }
function run() { $config_labels = new Cdn_ConfigLabels(); add_filter('w3tc_config_labels', array($config_labels, 'config_labels')); $c = Dispatcher::config(); $cdn_engine = $c->get_string('cdn.engine'); if ($c->get_boolean('cdn.enabled') && !Cdn_Util::is_engine_fsd($cdn_engine)) { $admin_notes = new Cdn_AdminNotes(); add_filter('w3tc_notes', array($admin_notes, 'w3tc_notes')); add_filter('w3tc_errors', array($admin_notes, 'w3tc_errors')); } // attach to actions without firing class loading at all without need if ($cdn_engine == 'cloudfront_fsd') { add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_CloudFrontFsd_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_ajax', array('\\W3TC\\Cdn_CloudFrontFsd_Popup', 'w3tc_ajax')); add_action('w3tc_settings_cdn', array('\\W3TC\\Cdn_CloudFrontFsd_Page', 'w3tc_settings_cdn')); } elseif ($cdn_engine == 'google_drive') { add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_GoogleDrive_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_settings_cdn_boxarea_configuration', array('\\W3TC\\Cdn_GoogleDrive_Page', 'w3tc_settings_cdn_boxarea_configuration')); } elseif ($cdn_engine == 'highwinds') { add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_Highwinds_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_ajax', array('\\W3TC\\Cdn_Highwinds_Popup', 'w3tc_ajax')); add_action('admin_init_w3tc_dashboard', array('\\W3TC\\Cdn_Highwinds_Widget', 'admin_init_w3tc_dashboard')); add_action('w3tc_ajax_cdn_highwinds_widgetdata', array('\\W3TC\\Cdn_Highwinds_Widget', 'w3tc_ajax_cdn_highwinds_widgetdata')); add_action('w3tc_settings_cdn_boxarea_configuration', array('\\W3TC\\Cdn_Highwinds_Page', 'w3tc_settings_cdn_boxarea_configuration')); } elseif ($cdn_engine == 'maxcdn_fsd') { add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_MaxCdnFsd_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_ajax', array('\\W3TC\\Cdn_MaxCdnFsd_Popup', 'w3tc_ajax')); add_action('w3tc_settings_cdn', array('\\W3TC\\Cdn_MaxCdnFsd_Page', 'w3tc_settings_cdn')); } elseif ($cdn_engine == 'rackspace_cdn') { add_filter('w3tc_admin_actions', array('\\W3TC\\Cdn_RackSpaceCdn_Page', 'w3tc_admin_actions')); add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_RackSpaceCdn_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_ajax', array('\\W3TC\\Cdn_RackSpaceCdn_Popup', 'w3tc_ajax')); add_action('w3tc_settings_cdn_boxarea_configuration', array('\\W3TC\\Cdn_RackSpaceCdn_Page', 'w3tc_settings_cdn_boxarea_configuration')); } elseif ($cdn_engine == 'rscf') { add_action('admin_print_scripts-performance_page_w3tc_cdn', array('\\W3TC\\Cdn_RackSpaceCloudFiles_Page', 'admin_print_scripts_w3tc_cdn')); add_action('w3tc_ajax', array('\\W3TC\\Cdn_RackSpaceCloudFiles_Popup', 'w3tc_ajax')); add_action('w3tc_settings_cdn_boxarea_configuration', array('\\W3TC\\Cdn_RackSpaceCloudFiles_Page', 'w3tc_settings_cdn_boxarea_configuration')); } add_action('w3tc_settings_general_boxarea_cdn', array($this, 'w3tc_settings_general_boxarea_cdn')); }