/** * Constructor */ public function __construct(MC4WP_MailChimp $mailchimp) { $this->log = new MC4WP_Logger(); $this->mailchimp = $mailchimp; $this->integrations = mc4wp_get_integrations(); foreach ($this->integrations as $integration) { $this->log_counts[$integration->slug] = 0; } //Set parent defaults parent::__construct(array('singular' => __('Log', 'mailchimp-for-wp'), 'plural' => __('Log Items', 'mailchimp-for-wp'), 'ajax' => false)); $this->process_bulk_action(); $this->prepare_items(); }
/** * @return array */ public function query() { $datasets = array(); $lines = array(); $day_counts = $this->get_total_day_counts(); // everything $datasets['all'] = array('label' => __('Any sign-up method', 'mailchimp-for-wp'), 'data' => array_map(array($this, 'format_graph_data'), $day_counts, array_keys($day_counts)), 'total_count' => array_sum($day_counts)); $lines['global'] = array(__("General"), 'all'); // forms $forms = mc4wp_get_forms(); $lines['forms'] = array(__("Sign-Up Forms", 'mailchimp-for-wp')); foreach ($forms as $form) { $day_counts = $this->get_day_counts_for_form($form->ID); $dataset = array('label' => $form->ID . ' | ' . $form->name, 'data' => array_map(array($this, 'format_graph_data'), $day_counts, array_keys($day_counts)), 'total_count' => array_sum($day_counts)); $datasets["form-" . $form->ID] = $dataset; $lines['forms'][] = "form-" . $form->ID; } // integrations $integrations = mc4wp_get_integrations(); $lines['integrations'] = array(__('Integrations', 'mailchimp-for-wp')); foreach ($integrations as $integration) { $day_counts = $this->get_day_counts_for_type($integration->slug); $dataset = array('label' => $integration->name, 'data' => array_map(array($this, 'format_graph_data'), $day_counts, array_keys($day_counts)), 'total_count' => array_sum($day_counts)); $datasets["{$integration->slug}"] = $dataset; $lines['integrations'][] = $integration->slug; } $this->lines = $lines; $this->datasets = $datasets; }