array( 'avg_period' => 30, 'series_count' => 19, ), '2' => array( 'avg_period' => 30, 'series_count' => 19, ), '3' => array( 'avg_period' => 30, 'series_count' => 19, ), '4' => array( 'avg_period' => 30, 'series_count' => 19, ), '5' => array( 'avg_period' => 30, 'series_count' => 19, ), '10' => array( 'avg_period' => 30, 'series_count' => 19, ), '15' => array( 'avg_period' => 30, 'series_count' => 19, ), '30' => array( 'avg_period' => 60, 'series_count' => 25, ), '60' => array( 'avg_period' => 60, 'series_count' => 25, ), ); add_action( 'wp_dashboard_setup', array( $this, 'setup_dashboard_widget' ) ); } // end __construct public function setup_dashboard_widget() { if ( self::$api_instance->check_credentials_health() ) { wp_add_dashboard_widget( 'adminlabs', esc_attr__( 'AdminLabs', 'adminlabs' ), array( $this, 'show_dashboard_widget' ) ); } } // end setup_dashboard_widget public function show_dashboard_widget() { $account_details = self::$api_instance->call_api( 'account', null, true ); $monitors = get_option( 'adminlabs_monitors' ); if ( ! empty( $monitors ) ) { foreach ( $monitors as $key => $monitor ) { $monitor_details = explode( '|', $monitor ); $monitors[ $key ] = array( 'id' => $monitor_details[0], 'name' => $monitor_details[1], 'interval' => $monitor_details[2], ); } $default_monitor = reset( $monitors ); $default_monitor_settings = self::$graph_interval_settings[ $default_monitor['interval'] ]; $scans = self::$api_instance->call_api( "monitors/{$default_monitor['id']}/scans", null, true ); $scans = AdminLabs_Tools::count_scan_averages( $scans, $default_monitor_settings['avg_period'] ); $scans = array_slice( $scans, -$default_monitor_settings['series_count'], $default_monitor_settings['series_count'], true ); $outages = self::$api_instance->call_api( "monitors/{$default_monitor['id']}/outages/", null, true ); } if ( $account_details['funds'] < 2 ) : ?>
transfer more funds to keep monitors running.', 'adminlabs' ), 'https://dashboard.adminlabs.com/settings/billing' ) ?>
Monitor: %s', 'adminlabs' ), $default_monitor['name'] ) ?>
Account balance: %s$', 'adminlabs' ), round( $account_details['funds'], 2 ) ) ?>