Example #1
0
$myListTable->set_columns(array('cb' => 'Select All', 'shub_column_account' => __('Account', 'support_hub'), 'shub_column_product' => __('Product', 'support_hub'), 'shub_column_time' => __('Time', 'support_hub'), 'shub_column_from' => __('From', 'support_hub'), 'shub_column_summary' => __('Summary', 'support_hub'), 'shub_column_action' => __('Action', 'support_hub')));
/*$myListTable->set_sortable_columns( array(
		'shub_column_time'    => array(
            'shub_column_time',
            1
        ),
	) );*/
$myListTable->process_bulk_action();
// before we do the search on messages.
$this_search = $search;
if (isset($this_search['shub_status']) && $this_search['shub_status'] == -1) {
    unset($this_search['shub_status']);
}
//    SupportHub::getInstance()->load_all_messages($this_search, $order);
//    $all_messages = SupportHub::getInstance()->all_messages;
$all_messages = array_merge(SupportHubOutbox::get_failed(), SupportHubOutbox::get_pending());
$limit_pages = 2;
// get about 10 pages of data to display in WordPress.
$has_more = false;
if (count($all_messages) >= $myListTable->get_pagenum() * $myListTable->items_per_page + $limit_pages * $myListTable->items_per_page) {
    $has_more = true;
    // a flag so we can show "more" in the pagination listing.
}
// todo - hack in here some sort of cache so pagination works nicer ?
//module_debug::log(array( 'title' => 'Finished social messages', 'data' => '', ));
$myListTable->set_layout_type($layout_type);
$myListTable->set_data($all_messages);
$myListTable->prepare_items();
$myListTable->pagination_has_more = $has_more;
?>
    <form method="post" id="shub_search_form">
 public function add_menu_item()
 {
     $message_count = $this->get_unread_count();
     $menu_label = sprintf(__('Support Hub %s', 'support_hub'), $message_count > 0 ? "<span class='update-plugins count-{$message_count}' title='{$message_count}'><span class='update-count'>" . (int) $message_count . "</span></span>" : '');
     add_menu_page(__('Support Hub Inbox', 'support_hub'), $menu_label, 'edit_pages', 'support_hub_main', array($this, 'show_inbox'), 'dashicons-format-chat', "21.1");
     // hack to rmeove default submenu
     $menu_label = sprintf(__('Inbox %s', 'support_hub'), $message_count > 0 ? "<span class='update-plugins count-{$message_count}' title='{$message_count}'><span class='update-count'>" . number_format_i18n($message_count) . "</span></span>" : '');
     $page = add_submenu_page('support_hub_main', __('Support Hub Inbox', 'support_hub'), $menu_label, 'edit_pages', 'support_hub_main', array($this, 'show_inbox'));
     add_action('admin_print_styles-' . $page, array($this, 'inbox_assets'));
     add_action("load-{$page}", array($this, 'screen_options'));
     //$page = add_submenu_page('support_hub_main', __( 'Compose', 'support_hub' ), __('Compose' ,'support_hub'), 'edit_pages',  'support_hub_compose' , array($this, 'show_compose'));
     //add_action( 'admin_print_styles-'.$page, array( $this, 'inbox_assets' ) );
     //$page = add_submenu_page('support_hub_main', __( 'Sent', 'support_hub' ), __('Sent' ,'support_hub'), 'edit_pages',  'support_hub_sent' , array($this, 'show_sent'));
     //add_action( 'admin_print_styles-'.$page, array( $this, 'inbox_assets' ) );
     $pending_messages = SupportHubOutbox::get_pending();
     $failed_messages = SupportHubOutbox::get_failed();
     $outbox_message_count = count($pending_messages) + count($failed_messages);
     $menu_label = sprintf(__('Outbox %s', 'support_hub'), "<span class='update-plugins' title='{$outbox_message_count}'><span class='update-count' id='shub_menu_outbox_count' data-count='{$outbox_message_count}'>" . $outbox_message_count . "</span></span>");
     $page = add_submenu_page('support_hub_main', __('Outbox', 'support_hub'), $menu_label, 'edit_pages', 'support_hub_outbox', array($this, 'show_outbox'));
     add_action('admin_print_styles-' . $page, array($this, 'inbox_assets'));
     $page = add_submenu_page('support_hub_main', __('Dashboard', 'support_hub'), __('Dashboard', 'support_hub'), 'edit_pages', 'support_hub_dashboard', array($this, 'show_dashboard'));
     add_action('admin_print_styles-' . $page, array($this, 'inbox_assets'));
     $page = add_submenu_page('support_hub_main', __('Settings', 'support_hub'), __('Settings', 'support_hub'), 'edit_pages', 'support_hub_settings', array($this, 'show_settings'));
     add_action('admin_print_styles-' . $page, array($this, 'inbox_assets'));
     foreach ($this->message_managers as $name => $message_manager) {
         $message_manager->init_menu();
     }
 }