Ejemplo n.º 1
0
Pre-header Action Hook: load-invoice_page_wpi_spc 
WPI Page Var: $wpi_settings['pages']['spc']
*/
include 'class-wpi-object-list-table.php';
$post_type = 'wpi_object';
$post_type_object = get_post_type_object($post_type);
if (!current_user_can($post_type_object->cap->edit_posts)) {
    wp_die(__('Cheatin’ uh?'));
}
$wp_list_table = new WPI_Object_List_Table();
$pagenum = $wp_list_table->get_pagenum();
$parent_file = "admin.php?page=wpi_main";
$submenu_file = "admin.php?page=wpi_main";
$post_new_file = "admin.php?page=wpi_page_manage_invoice";
$doaction = $wp_list_table->current_action();
$wp_list_table->prepare_items();
$total_pages = $wp_list_table->get_pagination_arg('total_pages');
if ($pagenum > $total_pages && $total_pages > 0) {
    wp_redirect(add_query_arg('paged', $total_pages));
    exit;
}
$title = $post_type_object->labels->name;
?>
 <div class="wrap">
    <?php 
screen_icon();
?>
    <h2><?php 
_e('Sales Log', WPI);
?>
</h2>
  /**
   * Function for displaying WPI Data Table rows
   *
   * Ported from WP-CRM
   *
   * @since 3.0
   *
   */
  function wpi_list_table() {
    global $wpi_settings;

    include WPI_Path . '/core/ui/class_wpi_object_list_table.php';

    //** Get the paramters we care about */
    $sEcho = $_REQUEST['sEcho'];
    $per_page = $_REQUEST['iDisplayLength'];
    $iDisplayStart = $_REQUEST['iDisplayStart'];
    $iColumns = $_REQUEST['iColumns'];
    $sColumns = $_REQUEST['sColumns'];
    $order_by = $_REQUEST['iSortCol_0'];
    $sort_dir = $_REQUEST['sSortDir_0'];
    $current_screen = $wpi_settings['pages']['main'];

    //** Parse the serialized filters array */
    parse_str($_REQUEST['wpi_filter_vars'], $wpi_filter_vars);
    $wpi_search = $wpi_filter_vars['wpi_search'];

    $sColumns = explode("," , $sColumns);

    //* Init table object */
    $wp_list_table = new WPI_Object_List_Table(array(
      "ajax" => true,
      "per_page" => $per_page,
      "iDisplayStart" => $iDisplayStart,
      "iColumns" => $iColumns,
      "current_screen" => $current_screen
    ));

    if ( in_array( $sColumns[$order_by], $wp_list_table->get_sortable_columns() ) ) {
      $wpi_search['sorting'] = array(
        'order_by' => $sColumns[$order_by],
        'sort_dir' => $sort_dir
      );
    }

    $wp_list_table->prepare_items($wpi_search);

    if ( $wp_list_table->has_items() ) {
      foreach ( $wp_list_table->items as $count => $item ) {
        $data[] = $wp_list_table->single_row( $item );
      }
    } else {
      $data[] = $wp_list_table->no_items();
    }

    return json_encode(array(
      'sEcho' => $sEcho,
      'iTotalRecords' => count($wp_list_table->all_items),
      // @TODO: Why iTotalDisplayRecords has $wp_list_table->all_items value ? Maxim Peshkov
      'iTotalDisplayRecords' =>count($wp_list_table->all_items),
      'aaData' => $data
    ));
  }