You are here

function _logged_in_data in Util 6.3

Same name and namespace in other branches
  1. 6.2 contribs/logged_in/logged_in.module \_logged_in_data()
  2. 7 contribs/logged_in/logged_in.module \_logged_in_data()
1 call to _logged_in_data()
_logged_in_block_view in contribs/logged_in/logged_in.module
Get the output to be displayed by the block.

File

contribs/logged_in/logged_in.module, line 126
Adds a "Logged In As" block.

Code

function _logged_in_data() {
  global $user;
  $output = NULL;
  $show_roles = variable_get('logged_in_show_roles', 0);
  $show_perms = variable_get('logged_in_show_perms', 0);
  if ($user->uid) {
    $output .= t('You are logged in as !username (@userid).', array(
      '!username' => theme('username', $user),
      '@userid' => $user->uid,
    ));
  }
  else {
    $output .= t('You are not logged in.');
  }
  if ($show_roles) {
    if ($user->uid == 1) {
      $roles = t('super-user');
    }
    else {
      $roles = implode(', ', $user->roles);
    }
    $output .= '<br />' . t('Your roles: ') . $roles;
  }
  if (!$show_perms) {
    return $output;
  }
  if ($uid == 1) {
    $perms = array(
      'all',
    );
  }
  else {
    $result = db_query("SELECT p.perm FROM {role} r INNER JOIN {permission} p ON p.rid = r.rid WHERE r.rid IN (" . db_placeholders($user->roles) . ")", array_keys($user->roles));
    $perms = array();
    while ($row = db_fetch_object($result)) {
      $perms += explode(', ', $row->perm);
    }
  }
  $perms = array_unique($perms);
  asort($perms);
  $class = count($perms) > 25 ? 'logged-in-xsmall' : 'logged-in-small';
  $output .= '<br />' . t('Your permissions: ') . "<div class=\"{$class}\">" . implode(', ', $perms) . '</div>';
  return $output;
}