You are here

function akamai_purge_request_list in Akamai 7.3

Displays information about submitted purge requests.

1 string reference to 'akamai_purge_request_list'
akamai_menu in ./akamai.module
Implements hook_menu().

File

./akamai.admin.inc, line 409
Administrative pages for the Akamai module.

Code

function akamai_purge_request_list() {
  $header = [
    [
      'data' => t('ID'),
    ],
    [
      'data' => t('Hostname'),
      'field' => 'hostname',
    ],
    [
      'data' => t('Paths'),
    ],
    [
      'data' => t('Status'),
      'field' => 'status',
    ],
    [
      'data' => t('Submission time'),
      'field' => 'submission_time',
      'sort' => 'DESC',
    ],
    [
      'data' => t('Estimated completion time'),
      'field' => 'check_after',
    ],
    [
      'data' => t('Completed'),
      'field' => 'completion_time',
    ],
  ];
  $query = db_select('akamai_purge_requests', 'pr')
    ->extend('PagerDefault')
    ->extend('TableSort')
    ->fields('pr', [
    'purge_id',
    'estimated_seconds',
    'check_after',
    'status',
    'submission_time',
    'completion_time',
    'hostname',
    'paths',
  ])
    ->limit(50)
    ->orderByHeader($header)
    ->orderBy('submission_time', 'DESC');
  $requests = $query
    ->execute()
    ->fetchAll();
  $rows = [];
  foreach ($requests as $request) {
    $submission_interval = format_interval(REQUEST_TIME - $request->submission_time, 1);
    $submission_string = t('@interval ago', [
      '@interval' => $submission_interval,
    ]);
    if (empty($request->completion_time)) {
      $completed_string = '';
    }
    else {
      $completed_interval = format_interval(REQUEST_TIME - $request->completion_time, 1);
      $completed_string = t('@interval ago', [
        '@interval' => $completed_interval,
      ]);
    }
    $rows[] = [
      l($request->purge_id, 'admin/reports/akamai/' . $request->purge_id),
      check_plain($request->hostname),
      count(unserialize($request->paths)),
      check_plain($request->status),
      $submission_string,
      _akamai_get_estimated_completion_string($request),
      $completed_string,
    ];
  }
  $build = [];
  $build['table'] = [
    '#theme' => 'table',
    '#header' => $header,
    '#rows' => $rows,
    '#empty' => t('No purge request data to display.'),
  ];
  $build['pager'] = [
    '#theme' => 'pager',
  ];
  return $build;
}