You are here

function imagepicker_admin_users_list in Image Picker 7

Same name and namespace in other branches
  1. 5.2 imagepicker.module \imagepicker_admin_users_list()
  2. 6.2 imagepicker.admin.inc \imagepicker_admin_users_list()

Administration functions

1 call to imagepicker_admin_users_list()
imagepicker_admin_images in ./imagepicker.admin.inc

File

./imagepicker.admin.inc, line 928
@author Bob Hutchinson http://drupal.org/user/52366 @copyright GNU GPL

Code

function imagepicker_admin_users_list($dir, $label) {
  $max = imagepicker_variable_get('imagepicker_rows_per_page', 25);
  $header = array(
    array(
      'data' => t('Name'),
      'field' => 'u.name',
    ),
    array(
      'data' => t('Images'),
      'field' => 'ct',
    ),
    imagepicker_variable_get('imagepicker_groups_enabled', 1) ? t('Groups') : '',
    t('Quotas'),
    t('Used'),
  );
  $rowcount = 0;
  $rows = NULL;
  $countquery = db_select('users', 'u');
  $countquery
    ->addExpression('COUNT(DISTINCT u.uid)', 'ct');
  $countquery
    ->join('imagepicker', 'i', 'i.uid=u.uid');
  $countquery
    ->condition('u.status', 1);
  $query = db_select('users', 'u')
    ->extend('PagerDefault')
    ->limit($max)
    ->extend('TableSort')
    ->orderByHeader($header);
  $query
    ->setCountQuery($countquery);
  $query
    ->distinct()
    ->fields('u', array(
    'uid',
    'name',
  ))
    ->addExpression('COUNT( i.img_id)', 'ct');
  $query
    ->join('imagepicker', 'i', 'i.uid=u.uid');
  $query
    ->condition('u.status', 1)
    ->groupBy('u.uid')
    ->groupBy('u.name');
  $records = $query
    ->execute();
  foreach ($records as $row) {
    $account = user_load($row->uid);

    #$allcount = _imagepicker_user_has_img($account);
    $allcount = $row->ct;
    $groupcount = _imagepicker_user_has_groups('all', $account);
    $usedbytesprint = _imagepicker_bkmg(imagepicker_get_all_bytes($account) + 1);
    $quota = 0;
    if (imagepicker_variable_get('imagepicker_quota_enable', 1)) {
      if (imagepicker_variable_get('imagepicker_quota_byrole', 0)) {
        $roleid = imagepicker_variable_get('imagepicker_quota_role', 2);
        if (imagepicker_user_has_role($roleid, $account) && $account->uid > 1) {
          $quota = imagepicker_variable_get('imagepicker_quota_default', 0);
        }
      }
      else {
        $quota = imagepicker_variable_get('imagepicker_quota_default', imagepicker_variable_get('imagepicker_quota_default', 0), $account->uid);
      }
    }
    $row_data = array(
      check_plain($row->name),
      $allcount ? l(format_plural($allcount, '1 image', '@count images'), IMAGEPICKER_ADMIN_PATH . '/images/user/' . $row->uid . '/browse') : t('No images'),
      imagepicker_variable_get('imagepicker_groups_enabled', 1) ? $groupcount ? l(format_plural($groupcount, '1 group', '@count groups'), IMAGEPICKER_ADMIN_PATH . '/groups/user/' . $row->uid . '/browse') : t('No groups') : t('n/a'),
      imagepicker_variable_get('imagepicker_quota_enable', 1) ? l(imagepicker_get_quota_list($quota + 1), IMAGEPICKER_ADMIN_PATH . '/images/user/' . $row->uid . '/quota') : t('n/a'),
      $usedbytesprint,
    );
    $rows[] = $row_data;
    $rowcount++;
  }
  $message = t('No users found.');
  $content = theme('imagepicker_list', array(
    'header' => $header,
    'rows' => $rows,
    'max' => $max,
    'message' => $message,
    'pref' => '',
    'suff' => '',
    'label' => $label,
  ));
  return $content;
}