" . __('View all') . '';
w3tc_add_dashboard_widget( $widget_id, $name, $w3tc_registered_widgets[$widget_id]['callback'], $w3tc_registered_widget_controls[$widget_id]['callback'] );
}
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && isset($_POST['widget_id']) ) {
check_admin_referer( 'edit-dashboard-widget_' . $_POST['widget_id'], 'dashboard-widget-nonce' );
ob_start(); // hack - but the same hack wp-admin/widgets.php uses
w3tc_dashboard_trigger_widget_control( $_POST['widget_id'] );
ob_end_clean();
}
if ( $update )
update_option( 'w3tc_dashboard_widget_options', $widget_options );
do_action('do_meta_boxes', $screen->id, 'normal', '');
do_action('do_meta_boxes', $screen->id, 'side', '');
}
function w3tc_add_dashboard_widget( $widget_id, $widget_name, $callback, $control_callback = null,$location = 'normal' , $title_image = '' ) {
$screen = get_current_screen();
global $w3tc_dashboard_control_callbacks;
if ($title_image && $title_image != 'div')
$widget_name = '
'.$widget_name;
else if ($title_image == 'div')
$widget_name = '
' . $widget_name;
if ( $control_callback && current_user_can( 'edit_dashboard' ) && is_callable( $control_callback ) ) {
$w3tc_dashboard_control_callbacks[$widget_id] = $control_callback;
if ( isset( $_GET['edit'] ) && $widget_id == $_GET['edit'] ) {
list($url) = explode( '#', add_query_arg( 'edit', false ), 2 );
$widget_name .= ' ' . __( 'Cancel' ) . '';
$callback = '_w3tc_dashboard_control_callback';
} else {
list($url) = explode( '#', add_query_arg( 'edit', $widget_id ), 2 );
$widget_name .= ' ' . __( 'Configure' ) . '';
}
}
$side_widgets = array();
$priority = 'core';
add_meta_box( $widget_id, $widget_name, $callback, $screen, $location, $priority );
}
/* Dashboard Widgets Controls */
function _w3tc_dashboard_control_callback( $dashboard, $meta_box ) {
echo '';
}
/**
* Calls widget control callback.
*
* @since 0.9.2.6
*
* @param int|bool $widget_control_id Registered Widget ID.
*/
function w3tc_dashboard_trigger_widget_control( $widget_control_id = false ) {
global $w3tc_dashboard_control_callbacks;
if ( is_scalar($widget_control_id) && $widget_control_id && isset($w3tc_dashboard_control_callbacks[$widget_control_id]) && is_callable($w3tc_dashboard_control_callbacks[$widget_control_id]) ) {
call_user_func( $w3tc_dashboard_control_callbacks[$widget_control_id], '', array( 'id' => $widget_control_id, 'callback' => $w3tc_dashboard_control_callbacks[$widget_control_id] ) );
}
}