/** * Render the admin page */ public function handle_page() { global $wpdb; require_once ABSPATH . 'wp-admin/includes/class-wp-list-table.php'; require_once dirname(__FILE__) . '/class-list-table.php'; echo '<div class="wrap">'; echo '<div>'; $query_args = array('action' => 'pantheon_clear_session', 'nonce' => wp_create_nonce('pantheon_clear_session'), 'session' => 'all'); if ($wpdb->get_var("SELECT COUNT(session_id) FROM {$wpdb->pantheon_sessions}")) { echo '<a class="button pantheon-clear-all-sessions" style="float:right; margin-top: 9px;" href="' . esc_url(add_query_arg($query_args, admin_url('admin-ajax.php'))) . '">' . esc_html__('Clear All', 'pantheon-sessions') . '</a>'; } echo '<h2>' . esc_html__('Pantheon Sessions', 'pantheon-sessions') . '</h2>'; if (isset($_GET['message']) && in_array($_GET['message'], array('delete-all-session', 'delete-session'))) { if ('delete-all-session' === $_GET['message']) { $message = __('Cleared all sessions.', 'pantheon-sessions'); } else { if ('delete-session' === $_GET['message']) { $message = __('Session cleared.', 'pantheon-sessions'); } } echo '<div id="message" class="updated"><p>' . esc_html($message) . '</p></div>'; } echo '</div>'; $wp_list_table = new List_Table(); $wp_list_table->prepare_items(); $wp_list_table->display(); echo '</div>'; add_action('admin_footer', array($this, 'action_admin_footer')); }