You are here

function password_policy_expired_list in Password Policy 7

Same name and namespace in other branches
  1. 6 password_policy.module \password_policy_expired_list()

Lists all expired accounts.

1 string reference to 'password_policy_expired_list'
password_policy_menu in ./password_policy.module
Implements hook_menu().

File

./password_policy.module, line 1085
Allows enforcing restrictions on user passwords by defining policies.

Code

function password_policy_expired_list() {
  $header[] = array(
    'data' => t('Username'),
    'field' => 'name',
  );
  $header[] = array(
    'data' => t('Blocked'),
    'field' => 'blocked',
    'sort' => 'desc',
  );
  $header[] = array(
    'data' => t('Unblocked'),
    'field' => 'unblocked',
  );
  $header[] = array(
    'data' => t('Action'),
  );
  $query = db_select('password_policy_expiration', 'p', array(
    'target' => 'slave',
  ));
  $query
    ->innerJoin('users', 'u', 'p.uid = u.uid');
  $result = $query
    ->fields('p')
    ->fields('u', array(
    'name',
  ))
    ->condition('p.blocked', 0, '>')
    ->extend('PagerDefault')
    ->extend('TableSort')
    ->limit(variable_get('password_policy_expired_account_entries', 10))
    ->orderByHeader($header)
    ->execute();
  foreach ($result as $row) {
    $entry[$row->uid]['name'] = l($row->name, 'user/' . $row->uid);
    $entry[$row->uid]['blocked'] = format_date($row->blocked, 'medium');
    $entry[$row->uid]['unblocked'] = $row->unblocked < $row->blocked ? '' : format_date($row->unblocked, 'medium');
    $entry[$row->uid]['action'] = $row->unblocked < $row->blocked ? l(t('unblock'), 'admin/people/expired/unblock/' . $row->uid, array(
      'query' => array(
        'destination' => 'admin/people/expired',
      ),
    )) : '';
  }
  if (!isset($entry)) {
    $colspan = '4';
    $entry[] = array(
      array(
        'data' => t('No entries'),
        'colspan' => $colspan,
      ),
    );
  }
  $page = theme('table', array(
    'header' => $header,
    'rows' => $entry,
  ));
  $page .= theme('pager');
  return $page;
}