You are here

function regcode_roles_get_rules in Registration codes 6.2

Same name and namespace in other branches
  1. 6 regcode_roles/regcode_roles.module \regcode_roles_get_rules()
  2. 7.2 regcode_roles/regcode_roles.module \regcode_roles_get_rules()
  3. 7 regcode_roles/regcode_roles.module \regcode_roles_get_rules()

List all of the regcode rules

Parameters

$tags array Optional list of tags to get the rules for:

2 calls to regcode_roles_get_rules()
regcode_roles_get_list_markup in regcode_roles/regcode_roles.module
Return the formatted HTML list
regcode_roles_regcode_used in regcode_roles/regcode_roles.module
Implements hook_regcode_used()

File

regcode_roles/regcode_roles.module, line 207

Code

function regcode_roles_get_rules($tags = array()) {

  // Build field list
  $fields = array(
    'regcode_roles.id',
    'term_data.name',
    'role.name AS role',
    'role.rid as role_id',
  );
  if (module_exists('role_expire')) {
    $fields = array_merge($fields, array(
      'expire_duration',
      'expire_date',
    ));
  }

  // Query
  $query = 'SELECT ' . implode(', ', $fields) . '
            FROM {regcode_roles} AS regcode_roles
            LEFT JOIN {role} AS role ON (regcode_roles.role_id = role.rid)
            LEFT JOIN {term_data} AS term_data ON (regcode_roles.term_id = term_data.tid)';
  if (count($tags)) {
    $tags = implode(',', array_keys($tags));
    $res = db_query($query . " WHERE term_data.tid IN ({$tags})");
  }
  else {
    $res = db_query($query);
  }

  // Build array
  $rules = array();
  while ($row = db_fetch_array($res)) {
    $rules[] = $row;
  }
  return $rules;
}