0byt3m1n1
Path:
/
home1
/
aserty
/
www
/
ourhomebedroom.com
/
wp-content
/
plugins
/
w3-total-cache
/
[
Home
]
File: Extension_FragmentCache_Plugin_Admin.php
<?php namespace W3TC; class Extension_FragmentCache_Plugin_Admin { private $_config = null; /** * Called from outside, to get extension's details */ static public function w3tc_extensions( $extensions, $config ) { $requirements = array(); if ( !Util_Environment::is_w3tc_pro( $config ) ) $requirements[] = 'Available after <a href="#" class="button-buy-plugin">upgrade</a>'; $extensions['fragmentcache'] = array ( 'name' => 'Fragment Cache', 'author' => 'W3 EDGE', 'description' => 'Caching of page fragments.', 'author_uri' => 'https://www.w3-edge.com/', 'extension_uri' => 'https://www.w3-edge.com/', 'extension_id' => 'fragmentcache', 'settings_exists' => true, 'version' => '1.0', 'enabled' => empty( $requirements ), 'requirements' => implode( ', ', $requirements ), 'active_frontend_own_control' => true, 'path' => 'w3-total-cache/Extension_FragmentCache_Plugin.php' ); return $extensions; } function __construct() { $this->_config = Dispatcher::config(); } /** * Runs plugin */ function run() { add_filter( 'w3tc_objectcache_addin_required', array( $this, 'w3tc_objectcache_addin_required' ) ); add_action( 'w3tc_environment_fix_on_event', array( '\W3TC\Extension_FragmentCache_Environment', 'fix_on_event' ), 10, 2 ); add_action( 'w3tc_deactivate_extension_fragmentcache', array( '\W3TC\Extension_FragmentCache_Environment', 'deactivate_extension' ) ); add_filter( 'w3tc_admin_menu', array( $this, 'w3tc_admin_menu' ) ); add_filter( 'w3tc_admin_bar_menu', array( $this, 'w3tc_admin_bar_menu' ) ); add_filter( 'w3tc_extension_plugin_links_fragmentcache', array( $this, 'w3tc_extension_plugin_links' ) ); add_action( 'w3tc_settings_page-w3tc_fragmentcache', array( $this, 'w3tc_settings_page_w3tc_fragmentcache' ) ); add_action( 'admin_init_w3tc_general', array( '\W3TC\Extension_FragmentCache_GeneralPage', 'admin_init_w3tc_general' ) ); add_action( 'w3tc_config_save', array( $this, 'w3tc_config_save' ), 10, 1 ); add_filter( 'w3tc_usage_statistics_summary_from_history', array( $this, 'w3tc_usage_statistics_summary_from_history' ), 10, 2 ); } public function w3tc_objectcache_addin_required( $addin_required ) { if ( $this->_config->is_extension_active_frontend( 'fragmentcache' ) ) return true; return $addin_required; } public function w3tc_extension_plugin_links( $links ) { $links = array(); $links[] = '<a class="edit" href="' . esc_attr( Util_Ui::admin_url( 'admin.php?page=w3tc_fragmentcache' ) ) . '">'. __( 'Settings' ).'</a>'; return $links; } public function w3tc_admin_menu( $menu ) { $menu['w3tc_fragmentcache'] = array( 'page_title' => __( 'Fragment Cache', 'w3-total-cache' ), 'menu_text' => '<span class="w3tc_menu_item_pro">' . __( 'Fragment Cache', 'w3-total-cache' ) . '</span>', 'visible_always' => false, 'order' => 1100 ); return $menu; } public function w3tc_admin_bar_menu( $menu_items ) { if ( $this->_config->is_extension_active_frontend( 'fragmentcache' ) ) { $menu_items['20510.fragmentcache'] = array( 'id' => 'w3tc_flush_fragmentcache', 'parent' => 'w3tc_flush', 'title' => __( 'Fragment Cache: All Fragments', 'w3-total-cache' ), 'href' => wp_nonce_url( network_admin_url( 'admin.php?page=w3tc_dashboard&w3tc_flush_fragmentcache' ), 'w3tc' ) ); } return $menu_items; } public function w3tc_settings_page_w3tc_fragmentcache() { $v = new Extension_FragmentCache_Page(); $v->render_content(); } public function w3tc_config_save( $config ) { // frontend activity $engine = $config->get_string( array( 'fragmentcache', 'engine' ) ); $is_frontend_active = ( !empty( $engine ) && Util_Environment::is_w3tc_pro( $config ) ); $config->set_extension_active_frontend( 'fragmentcache', $is_frontend_active ); } public function w3tc_usage_statistics_summary_from_history( $summary, $history ) { // memcached servers $c = Dispatcher::config(); if ( $c->get_string( array( 'fragmentcache', 'engine' ) ) == 'memcached' ) { $summary['memcached_servers']['fragmentcache'] = array( 'servers' => $c->get_array( array( 'fragmentcache', 'memcached.servers' ) ), 'username' => $c->get_string( array( 'fragmentcache', 'memcached.username' ) ), 'password' => $c->get_string( array( 'fragmentcache', 'memcached.password' ) ), 'name' => __( 'Fragment Cache', 'w3-total-cache' ) ); } elseif ( $c->get_string( array( 'fragmentcache', 'engine' ) ) == 'redis' ) { $summary['redis_servers']['fragmentcache'] = array( 'servers' => $c->get_array( array( 'fragmentcache', 'redis.servers' ) ), 'username' => $c->get_boolean( array( 'fragmentcache', 'redis.username' ) ), 'dbid' => $c->get_integer( array( 'fragmentcache', 'redis.dbid' ) ), 'password' => $c->get_string( array( 'fragmentcache', 'redis.password' ) ), 'name' => __( 'Fragment Cache', 'w3-total-cache' ) ); } // counters $fragmentcache_calls_total = Util_UsageStatistics::sum( $history, 'fragmentcache_calls_total' ); $fragmentcache_calls_hits = Util_UsageStatistics::sum( $history, 'fragmentcache_calls_hits' ); $summary['fragmentcache'] = array( 'calls_total' => Util_UsageStatistics::integer( $fragmentcache_calls_total ), 'calls_per_second' => Util_UsageStatistics::value_per_period_seconds( $fragmentcache_calls_total, $summary ), 'hit_rate' => Util_UsageStatistics::percent( $fragmentcache_calls_total, $fragmentcache_calls_total ) ); return $summary; } }