113 lines
3.6 KiB
PHP
113 lines
3.6 KiB
PHP
|
<?php
|
||
|
namespace W3TC;
|
||
|
/**
|
||
|
* W3 Forum Widget
|
||
|
*/
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Class Generic_Plugin_WidgetServices
|
||
|
*/
|
||
|
class Generic_WidgetServices {
|
||
|
function __construct() {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Dashboard setup action
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
static public function admin_init_w3tc_dashboard() {
|
||
|
$o = new Generic_WidgetServices();
|
||
|
|
||
|
add_action( 'w3tc_widget_setup', array( $o, 'wp_dashboard_setup' ), 5000 );
|
||
|
add_action( 'w3tc_network_dashboard_setup',
|
||
|
array( $o, 'wp_dashboard_setup' ), 5000 );
|
||
|
}
|
||
|
|
||
|
function wp_dashboard_setup() {
|
||
|
Util_Widget::add( 'w3tc_services',
|
||
|
'<div class="w3tc-widget-w3tc-logo"></div>' .
|
||
|
'<div class="w3tc-widget-text">' .
|
||
|
__( 'Premium Services', 'w3-total-cache' ) .
|
||
|
'</div>',
|
||
|
array( $this, 'widget_form' ),
|
||
|
null, 'normal' );
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public function load_request_types() {
|
||
|
$v = get_site_option( 'w3tc_generic_widgetservices' );
|
||
|
try {
|
||
|
$v = json_decode( $v, true );
|
||
|
if ( isset( $v['items'] ) && isset( $v['expires'] ) &&
|
||
|
$v['expires'] > time() )
|
||
|
return $v['items'];
|
||
|
} catch ( \Exception $e ) {
|
||
|
}
|
||
|
|
||
|
|
||
|
$result = wp_remote_request( W3TC_SUPPORT_SERVICES_URL,
|
||
|
array( 'method' => 'GET' ) );
|
||
|
|
||
|
if ( is_wp_error( $result ) )
|
||
|
return null;
|
||
|
|
||
|
$response_json = json_decode( $result['body'], true );
|
||
|
|
||
|
if ( is_null( $response_json ) || !isset( $response_json['items'] ) )
|
||
|
return null;
|
||
|
|
||
|
update_site_option( 'w3tc_generic_widgetservices',
|
||
|
json_encode( array(
|
||
|
'content' => $response_json,
|
||
|
'expires' => time() + 3600 * 24 * 7
|
||
|
) ) );
|
||
|
|
||
|
return $response_json['items'];
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public function widget_form() {
|
||
|
$items = $this->load_request_types();
|
||
|
|
||
|
include W3TC_DIR . '/Generic_WidgetServices_View.php';
|
||
|
}
|
||
|
|
||
|
/*
|
||
|
wp_enqueue_style( 'w3tc-widget-newrelic',
|
||
|
plugins_url( 'Extension_NewRelic_Widget_View.css', W3TC_FILE ),
|
||
|
array(), W3TC_VERSION );
|
||
|
|
||
|
if ( Util_Admin::get_current_wp_page() == 'w3tc_dashboard' )
|
||
|
add_action( 'admin_enqueue_scripts', array( $this, 'enqueue' ) );
|
||
|
|
||
|
$this->_json_request_types = array(
|
||
|
'email_support' => sprintf( __( 'Less than 15 Minute Email Support Response %s', 'w3-total-cache' ), '(M-F 9AM - 5PM EDT): $175 USD' ),
|
||
|
'phone_support' => sprintf( __( 'Less than 15 Minute Phone Support Response %s', 'w3-total-cache' ), '(M-F 9AM - 5PM EDT): $250 USD' ),
|
||
|
'plugin_config' => sprintf( __( 'Professional Plugin Configuration %s', 'w3-total-cache' ), 'Starting @ $200 USD' ),
|
||
|
'theme_config' => sprintf( __( 'Theme Performance Optimization & Plugin Configuration %s', 'w3-total-cache' ), 'Starting @ $350 USD' ),
|
||
|
'linux_config' => sprintf( __( 'Linux Server Optimization & Plugin Configuration %s', 'w3-total-cache' ), 'Starting @ $450 USD' )
|
||
|
);
|
||
|
$this->_request_types = array(
|
||
|
'email_support' => sprintf( __( 'Less than 15 Minute Email Support Response %s', 'w3-total-cache' ), '<br /><span>(M-F 9AM - 5PM EDT): $175 USD</span>' ),
|
||
|
'phone_support' => sprintf( __( 'Less than 15 Minute Phone Support Response %s', 'w3-total-cache' ), '<br /><span>(M-F 9AM - 5PM EDT): $250 USD</span>' ),
|
||
|
'plugin_config' => sprintf( __( 'Professional Plugin Configuration %s', 'w3-total-cache' ), '<br /><span>Starting @ $200 USD</span>' ),
|
||
|
'theme_config' => sprintf( __( 'Theme Performance Optimization & Plugin Configuration %s', 'w3-total-cache' ), '<br /><span>Starting @ $350 USD</span>' ),
|
||
|
'linux_config' => sprintf( __( 'Linux Server Optimization & Plugin Configuration %s', 'w3-total-cache' ), '<br /><span>Starting @ $450 USD</span>' )
|
||
|
);
|
||
|
|
||
|
function widget_form() {
|
||
|
include W3TC_INC_WIDGET_DIR . '/services.php';
|
||
|
}
|
||
|
|
||
|
public function enqueue() {
|
||
|
wp_enqueue_style( 'w3tc-widget' );
|
||
|
wp_enqueue_script( 'w3tc-metadata' );
|
||
|
wp_enqueue_script( 'w3tc-widget' );
|
||
|
}*/
|
||
|
}
|