function regcode_roles_get_rules in Registration codes 6.2
Same name and namespace in other branches
- 6 regcode_roles/regcode_roles.module \regcode_roles_get_rules()
- 7.2 regcode_roles/regcode_roles.module \regcode_roles_get_rules()
- 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;
}