$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(); } }