';
return;
}
gosmtp_pro_reports_charts();
$date = gosmtp_optget('date');
$custom_start = gosmtp_optget('start-date');
$custom_end = gosmtp_optget('end-date');
$search = gosmtp_optget('search_email_reports');
$multiselect = gosmtp_optget('multiselect');
$all_data = array();
$logger = new GOSMTP\Logger();
// Appropriate date setup
if($date == 'custom_date'){
$start = $custom_start;
$end = $custom_end;
if($start != '' && $end == ''){
$end = date("Y-m-d");
}
}else if($date == 'all' || $date == ''){
$start = '';
$end = '';
}else{
$start = date('Y-m-d', strtotime('-'.$date.' days'));
$end = date("Y-m-d");
}
// Assign all data in option array
$options = array(
'interval' => array(
'start' => $start,
'end' => $end
),
'search' => $search,
'multiselect' => $multiselect,
'pagination' => false,
);
$email_logs = $logger->get_logs('records', 0, $options);
// TODO: Get only records as paged
$mails = gosmtp_group_by($email_logs);
// Pagination
$perpage = 10;
$curpage = (int) gosmtp_optget('paged', 1);
$records_ct = count($mails);
$tpages = ceil($records_ct / $perpage);
$offset = ($curpage - 1) * $perpage;
$args = array(
'base' => '%_%',
'format' => '?paged=%#%',
'total' => $tpages,
'current' => $curpage,
'show_all' => false,
'end_size' => 1,
'mid_size' => 2,
'prev_next' => true,
'type' => 'array',
'add_args' => false
);
// Set limit value
$limit = array(
'perpage' => $perpage,
'offset' => $offset,
);
$pages = paginate_links( $args );
$table_cols = array(
'subject' => __('Subject'),
'from' => __('From'),
'to' => __('To'),
'resent_count' => __('Resent'),
'retries' => __('Retry'),
'sent' => __('Sent'),
'failed' => __('Failed'),
'total' => __('Total')
);
?>