You are here

function role_watchdog_history in Role Watchdog 6

Same name and namespace in other branches
  1. 6.2 role_watchdog.pages.inc \role_watchdog_history()
  2. 7.2 role_watchdog.pages.inc \role_watchdog_history()
  3. 7 role_watchdog.pages.inc \role_watchdog_history()

Display tab page from menu callback.

Parameters

$account: User object.

2 string references to 'role_watchdog_history'
role_watchdog_menu in ./role_watchdog.module
Implementation of hook_menu().
role_watchdog_update_6120 in ./role_watchdog.install
Update from 6.x-1.x to 6.x-1.2. Cleanup setting.

File

./role_watchdog.pages.inc, line 14
User page callbacks for the role_watchdog module.

Code

function role_watchdog_history($account) {
  $output = '';
  $rows = $rows2 = array();
  $roles = user_roles();
  $header = array(
    array(
      'data' => t('Date'),
      'style' => 'width: 25%;',
    ),
    array(
      'data' => t('Role'),
      'style' => 'width: 30%;',
    ),
    array(
      'data' => t('Change'),
      'style' => 'width: 15%;',
    ),
    array(
      'data' => t('User'),
      'style' => 'width: 30%;',
    ),
  );
  $history_query = 'SELECT rw.rid, rw.action, rw.uid, rw.stamp, u.name FROM {role_watchdog} rw INNER JOIN {users} u USING (uid) WHERE rw.aid=%d ORDER BY rw.stamp DESC';
  $items_per_page = variable_get('role_watchdog_pager', 50);
  $result = pager_query($history_query, $items_per_page, 0, "SELECT COUNT(*) from {role_watchdog} rw WHERE rw.aid=%d", $account->uid);
  $rows = _role_watchdog_history_rows($result, $roles, array(
    t('removed by'),
    t('added by'),
    t('requested by'),
    t('approved for'),
  ));
  if (sizeof($rows)) {
    $output .= '<h3>' . t('Role History') . '</h3>' . theme('table', $header, $rows, array(
      'style' => 'width: 99%;',
    ));
    if ($pager = theme('pager', NULL, $items_per_page, 0)) {
      $output .= $pager;
    }
  }
  return $output ? $output : t('No role history found.');
}