/**
  * Returns the array of view options for this campaign.
  *
  * @param   array       $views
  * @return  array
  * @access  public
  * @since   1.0.0
  */
 public function view_options($views)
 {
     $current = isset($_GET['post-status']) ? $_GET['post-status'] : '';
     $statuses = charitable_get_valid_donation_statuses();
     $donations = new Charitable_Donations();
     $status_count = $donations->count_by_status();
     $views = array();
     $views['all'] = sprintf('<a href="%s"%s>%s <span class="count">(%s)</span></a>', esc_url(remove_query_arg(array('post_status', 'paged'))), 'all' === $current || '' == $current ? ' class="current"' : '', __('All', 'charitable'), $donations->count_all());
     foreach ($statuses as $status => $label) {
         $views[$status] = sprintf('<a href="%s"%s>%s <span class="count">(%s)</span></a>', esc_url(add_query_arg(array('post_status' => $status, 'paged' => false))), $current === $status ? ' class="current"' : '', $label, isset($status_count[$status]) ? $status_count[$status]->num_donations : 0);
     }
     return $views;
 }
 /**
  * Return the status counts, taking into account any current filters.
  *
  * @return  array
  * @access  protected
  * @since   1.4.0
  */
 protected function get_status_counts()
 {
     if (!isset($this->status_counts)) {
         $args = array();
         if (isset($_GET['s']) && strlen($_GET['s'])) {
             $args['s'] = $_GET['s'];
         }
         if (isset($_GET['start_date']) && strlen($_GET['start_date'])) {
             $args['start_date'] = $this->get_parsed_date($_GET['start_date']);
         }
         if (isset($_GET['end_date']) && strlen($_GET['end_date'])) {
             $args['end_date'] = $this->get_parsed_date($_GET['end_date']);
         }
         $status_counts = Charitable_Donations::count_by_status($args);
         foreach (charitable_get_valid_donation_statuses() as $key => $label) {
             $count = array_key_exists($key, $status_counts) ? $status_counts[$key]->num_donations : 0;
             $this->status_counts[$key] = $count;
         }
     }
     return $this->status_counts;
 }
 /**
  * Get the donation counts. 
  *
  * @return  void
  * @access  protected
  * @since   1.0.0     
  */
 protected function prepare_donation_counts()
 {
     $counts = Charitable_Donations::count_by_status();
     foreach ($this->donation_statuses as $status_key => $label) {
         $this->status_counts[$status_key] = isset($counts[$status_key]) ? $counts[$status_key]->num_donations : 0;
     }
     $this->total_count = array_sum($this->status_counts);
 }
 /**
  * Get the donation counts. 
  *
  * @return  void
  * @access  protected
  * @since   1.0.0     
  */
 protected function prepare_donation_counts()
 {
     $args = array();
     if (!empty($_GET['start_date'])) {
         $args['start_date'] = $this->get_parsed_date($_GET['start_date']);
     }
     if (!empty($_GET['end_date'])) {
         $args['end_date'] = $this->get_parsed_date($_GET['end_date']);
     }
     if (isset($_GET['s'])) {
         $args['s'] = urldecode($_GET['s']);
     }
     $counts = Charitable_Donations::count_by_status($args);
     foreach ($this->donation_statuses as $status_key => $label) {
         $this->status_counts[$status_key] = isset($counts[$status_key]) ? $counts[$status_key]->num_donations : 0;
     }
     $this->total_count = array_sum($this->status_counts);
 }