' . __( 'Page Cache: Hits', 'w3-total-cache' ) . '
',
array( $this, 'page_cache_widget_form' ),
null,
'normal'
);
Util_Widget::add(
'w3tc_object_cache',
'' . __( 'Object Cache: Hits', 'w3-total-cache' ) . '
',
array( $this, 'object_cache_widget_form' ),
null,
'normal'
);
Util_Widget::add(
'w3tc_database_cache',
'' . __( 'Database Cache: Hits', 'w3-total-cache' ) . '
',
array( $this, 'database_cache_widget_form' ),
null,
'normal'
);
}
/**
* Web Requests widget content.
*
* @since X.X.X
*
* @return void
*/
public function page_cache_widget_form() {
$chart = self::get_chart_content(
array(
'chart_id' => 'page_cache_chart',
'setting_key' => 'pgcache.enabled',
'cache_enable_label' => __( 'Enable PageCache', 'w3-total-cache' ),
'cache_enable_url' => Util_Ui::admin_url( 'admin.php?page=w3tc_general#page_cache' ),
)
);
echo wp_kses( $chart, self::get_allowed_tags() );
}
/**
* Object Cache widget content.
*
* @since X.X.X
*
* @return void
*/
public function object_cache_widget_form() {
$chart = self::get_chart_content(
array(
'chart_id' => 'object_cache_chart',
'setting_key' => 'objectcache.enabled',
'cache_enable_label' => __( 'Enable ObjectCache', 'w3-total-cache' ),
'cache_enable_url' => Util_Ui::admin_url( 'admin.php?page=w3tc_general#object_cache' ),
)
);
echo wp_kses( $chart, self::get_allowed_tags() );
}
/**
* Database widget content.
*
* @since X.X.X
*
* @return void
*/
public function database_cache_widget_form() {
$chart = self::get_chart_content(
array(
'chart_id' => 'database_cache_chart',
'setting_key' => 'dbcache.enabled',
'cache_enable_label' => __( 'Enable DBCache', 'w3-total-cache' ),
'cache_enable_url' => Util_Ui::admin_url( 'admin.php?page=w3tc_general#database_cache' ),
)
);
echo wp_kses( $chart, self::get_allowed_tags() );
}
/**
* Get button link allowed tags.
*
* @since X.X.X
*
* @param array $chart_config Chart configuration array.
*
* @return string
*/
public static function get_chart_content( $chart_config ) {
$config = Dispatcher::config();
$chart_id = $chart_config['chart_id'];
$chart_content = '';
if ( ! Util_Environment::is_w3tc_pro( $config ) ) {
$chart_id .= '_ad';
$chart_content = '';
} elseif ( ! $config->get_boolean( 'stats.enabled' ) ) {
$chart_id .= '_enable';
$chart_content = Util_Ui::button_link( __( 'Enable Statistics', 'w3-total-cache' ), Util_Ui::admin_url( 'admin.php?page=w3tc_general#stats' ), false, 'button-primary' );
} elseif ( ! $config->get_boolean( $chart_config['setting_key'] ) ) {
$chart_id .= '_subenable';
$chart_content = Util_Ui::button_link( $chart_config['cache_enable_label'], $chart_config['cache_enable_url'], false, 'button-primary' );
}
return '' . $chart_content . '
';
}
/**
* Get button link allowed tags.
*
* @since X.X.X
*
* @return array
*/
public static function get_allowed_tags() {
return array(
'div' => array(
'id' => array(),
),
'input' => array(
'type' => array(),
'name' => array(),
'class' => array(),
'value' => array(),
'onclick' => array(),
'data-src' => array(),
),
);
}
}