You are here

function imagepicker_get_public_grouplist in Image Picker 7

Same name and namespace in other branches
  1. 6.2 imagepicker.functions.inc \imagepicker_get_public_grouplist()
2 calls to imagepicker_get_public_grouplist()
imagepicker_browse_public_groups_form in ./imagepicker.functions.inc
Submit public browse groups form
_imagepicker_has_public_groups in ./imagepicker.functions.inc

File

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

Code

function imagepicker_get_public_grouplist($account = FALSE, $admin = FALSE) {
  if ($account) {
    $user = $account;
  }
  else {
    global $user;
  }
  $grouplist = array(
    '0' => 'All',
  );
  $tmp = '';
  $query = db_select('imagepicker_user_groups', 'g');
  $query
    ->fields('g', array(
    'gid',
    'group_name',
    'avail_roles',
  ));
  $query
    ->condition('g.public', 1);
  $rows = $query
    ->execute();
  $rowct = 0;
  foreach ($rows as $row) {
    $tmp[$rowct]['gid'] = $row->gid;
    $tmp[$rowct]['group_name'] = $row->group_name;
    $tmp[$rowct]['avail_roles'] = $row->avail_roles;
    $rowct++;
  }

  // filter for role
  if (is_array($tmp)) {
    for ($ct = 0; $ct < $rowct; $ct++) {
      if (!$admin) {
        if ($tmp[$ct]['avail_roles'] != 'all' && imagepicker_variable_get('imagepicker_publicroles_enabled', 0)) {
          $role = $tmp[$ct]['avail_roles'];
          if (imagepicker_user_has_role($role, $user)) {
            $grouplist[$tmp[$ct]['gid']] = $tmp[$ct]['group_name'];
          }
        }
        else {
          $grouplist[$tmp[$ct]['gid']] = $tmp[$ct]['group_name'];
        }
      }
      else {
        $grouplist[$tmp[$ct]['gid']] = $tmp[$ct]['group_name'];
      }
    }
    return $grouplist;
  }
  return FALSE;
}