コード例 #1
0
 public function get_views()
 {
     $all_status = array(MS_Model_Invoice::STATUS_PAID => __('Paid', 'membership2'), MS_Model_Invoice::STATUS_NEW => __('Draft', 'membership2'), MS_Model_Invoice::STATUS_DENIED => __('Denied', 'membership2'));
     $views = array();
     $orig_status = '';
     if (isset($_REQUEST['status'])) {
         $orig_status = $_REQUEST['status'];
     }
     $_REQUEST['status'] = 'default';
     $args = $this->get_query_args();
     $_REQUEST['status'] = $orig_status;
     $base_url = esc_url_raw(remove_query_arg(array('status', 'msg')));
     $count = MS_Model_Invoice::get_invoice_count($args);
     $views['all'] = array('url' => $base_url, 'label' => __('Default', 'membership2'), 'count' => $count);
     $url = esc_url_raw(add_query_arg('status', 'open', $base_url));
     $args = $this->get_query_args();
     $args['meta_query']['status']['value'] = array(MS_Model_Invoice::STATUS_BILLED, MS_Model_Invoice::STATUS_PENDING);
     $args['meta_query']['status']['compare'] = 'IN';
     $count = MS_Model_Invoice::get_invoice_count($args);
     $views['open'] = array('url' => $url, 'label' => __('Billed or Pending', 'membership2'), 'count' => $count);
     foreach ($all_status as $status => $desc) {
         $args = $this->get_query_args();
         $args['meta_query']['status']['value'] = $status;
         $count = MS_Model_Invoice::get_invoice_count($args);
         if ($count) {
             $status_url = esc_url_raw(add_query_arg(array('status' => $status), remove_query_arg(array('msg'))));
         } else {
             $status_url = false;
             $desc .= ' (0)';
             if (MS_Model_Invoice::STATUS_DENIED != $status) {
                 $desc .= ' |';
             }
             $count = false;
         }
         $views[$status] = array('url' => $status_url, 'label' => $desc, 'count' => $count);
     }
     return apply_filters('ms_helper_listtable_billing_views', $views);
 }
コード例 #2
0
 public function get_views()
 {
     $all_status = MS_Model_Invoice::get_status_types();
     $views = array();
     $args = $this->get_query_args();
     if (isset($args['meta_query']) && isset($args['meta_query']['status'])) {
         unset($args['meta_query']['status']);
     }
     $url = esc_url_raw(remove_query_arg(array('status', 'msg')));
     $count = MS_Model_Invoice::get_invoice_count($args);
     $views['all'] = array('url' => $url, 'label' => __('All', MS_TEXT_DOMAIN), 'count' => $count);
     $url = esc_url_raw(add_query_arg('status', 'open', remove_query_arg(array('status', 'msg'))));
     $args = $this->get_query_args();
     $args['meta_query']['status']['value'] = array(MS_Model_Invoice::STATUS_BILLED, MS_Model_Invoice::STATUS_PENDING);
     $args['meta_query']['status']['compare'] = 'IN';
     $count = MS_Model_Invoice::get_invoice_count($args);
     $views['open'] = array('url' => $url, 'label' => __('Billed or Pending', MS_TEXT_DOMAIN), 'count' => $count);
     foreach ($all_status as $status => $desc) {
         if ('billed' == $status) {
             continue;
         }
         if ('pending' == $status) {
             continue;
         }
         $args = $this->get_query_args();
         $args['meta_query']['status']['value'] = $status;
         $count = MS_Model_Invoice::get_invoice_count($args);
         $status_url = esc_url_raw(add_query_arg(array('status' => $status), remove_query_arg(array('msg'))));
         $views[$status] = array('url' => $status_url, 'label' => $desc, 'count' => $count);
     }
     return apply_filters('ms_helper_listtable_billing_views', $views);
 }