You are here

function devel_mail_logger_list in Devel Mail Logger 7

List all mails logged.

_state

Parameters

$form:

Return value

array

1 string reference to 'devel_mail_logger_list'
devel_mail_logger_menu in ./devel_mail_logger.module
Implements hook_menu().

File

./devel_mail_logger.admin.inc, line 9

Code

function devel_mail_logger_list($form, $form_state) {
  $form = array();
  $form['delete'] = array(
    '#type' => 'submit',
    '#value' => t('Delete debug mails'),
    '#submit' => array(
      'devel_mail_logger_delete_mails',
    ),
  );
  $form['send'] = array(
    '#type' => 'submit',
    '#value' => t('Send test mail'),
    '#submit' => array(
      'devel_mail_logger_send_test_mail',
    ),
  );
  $header = array(
    'title' => array(
      'data' => t('Date'),
      'field' => 'dml.timestamp',
    ),
    'city' => array(
      'data' => t('To'),
      'field' => 'dml.to',
    ),
    'subject' => array(
      'data' => t('Subject'),
      'field' => 'dml.subject',
    ),
    array(
      'data' => t('Operations'),
      'colspan' => 2,
    ),
  );
  $query = db_select('devel_mail_logger', 'dml');
  $count_query = clone $query;
  $count_query
    ->addExpression('COUNT(dml.id)');
  $query = $query
    ->extend('PagerDefault')
    ->extend('TableSort');
  $query
    ->fields('dml')
    ->limit(25)
    ->orderByHeader($header)
    ->setCountQuery($count_query);
  $records = $query
    ->execute();
  $header = array(
    t('Date'),
    t('To'),
    t('Subject'),
    array(
      'data' => t('Operations'),
      'colspan' => 2,
    ),
  );
  $rows = array();
  foreach ($records as $rec) {
    $row = array();
    $row[] = date('Y-m-d H:i', $rec->timestamp);
    $row[] = $rec->recipient;
    $row[] = $rec->subject;
    $row[] = l(t('view'), 'admin/reports/devel_mail_logger/mail/' . $rec->id . '/view');
    $row[] = l(t('send'), 'admin/reports/devel_mail_logger/mail/' . $rec->id . '/send');
    $rows[] = $row;
  }
  $form['pager_table'] = array(
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
  );
  $form['pager_pager'] = array(
    '#theme' => 'pager',
  );
  return $form;
}