/**
  * Get the emails report
  *
  * @param array $fields unused
  * @param array $filter
  * @param int $page
  * @return array
  * @since 4.1
  */
 public function get_emails_report($fields = null, $filter = array(), $page = 1)
 {
     // check user permissions
     $check = $this->validate_request();
     if (is_wp_error($check)) {
         return $check;
     }
     $args = array('type' => 'emails', 'page' => $page, 'limit' => !empty($filter['limit']) ? absint($filter['limit']) : get_option('posts_per_page'));
     $email_reports = FUE_Reports::get_reports($args);
     $total_rows = Follow_Up_Emails::instance()->wpdb->get_var("SELECT FOUND_ROWS()");
     $report_data = array();
     foreach ($email_reports as $email_report) {
         $sent = FUE_Reports::count_email_sends($email_report->email_id);
         $opened = FUE_Reports::count_event_occurences($email_report->email_id, 'open');
         $clicked = FUE_Reports::count_event_occurences($email_report->email_id, 'click');
         $email = new FUE_Email($email_report->email_id);
         $report = array('email' => $email_report->email_name, 'email_trigger' => $email_report->email_trigger, 'num_sent' => $sent, 'num_opens' => $opened, 'num_clicks' => $clicked);
         $report_data[] = $report;
     }
     // set the pagination data
     $query = array('page' => $page, 'single' => count($report_data) == 1, 'total' => $total_rows, 'total_pages' => ceil($total_rows / $args['limit']));
     $this->server->add_pagination_headers($query);
     return array('emails' => apply_filters('fue_api_report_response', $report_data, $email_reports, $fields, $this->server));
 }
Example #2
0
                </thead>
                <tbody id="the_list">
                    <?php 
if (empty($email_reports)) {
    ?>
                        <tr scope="row">
                            <th colspan="5"><?php 
    _e('No reports available', 'follow_up_emails');
    ?>
</th>
                        </tr><?php 
} else {
    foreach ($email_reports as $report) {
        $sent = FUE_Reports::count_email_sends($report->email_id);
        $opened = FUE_Reports::count_event_occurences($report->email_id, 'open');
        $clicked = FUE_Reports::count_event_occurences($report->email_id, 'click');
        $meta = '';
        $email_row = new FUE_Email($report->email_id);
        ?>
<tr scope="row">
                                <th scope="row" class="check-column">
                                    <input id="cb-select-106" type="checkbox" name="email_id[]" value="<?php 
        echo $report->email_id;
        ?>
">
                                    <div class="locked-indicator"></div>
                                </th>
                                <td class="post-title column-title">
                                    <strong><?php 
        echo stripslashes($report->email_name);
        ?>