function better_formats_get_role_default_fields in Better Formats 6
Same name and namespace in other branches
- 6.2 better_formats_defaults.admin.inc \better_formats_get_role_default_fields()
- 7 better_formats.admin_defaults.inc \better_formats_get_role_default_fields()
Builds FAPI form elements for the default format selection.
Parameters
$mode: 'node', 'comment', or 'block'. Top most level type for requested default.
$node_type: Type of node this request is for.
Return value
FAPI array for the default select field.
2 calls to better_formats_get_role_default_fields()
- better_formats_defaults_admin_form in ./
better_formats_defaults.admin.inc - Builds the form for the filters admin.
- better_formats_node_type_form in ./
better_formats.module - FAPI form to add to the content type edit form.
File
- ./
better_formats_defaults.admin.inc, line 102 - Contains FAPI and theme functions for the format defaults form.
Code
function better_formats_get_role_default_fields($mode, $node_type = '') {
$form = array();
$format_options = better_formats_get_formats_per_role();
$type = $types = $mode;
$per_node_type = variable_get('better_formats_per_node_type', FALSE);
if ($per_node_type && $node_type) {
$type = $mode . '/' . $node_type;
$types = $type . "','" . $mode;
}
// get data from db
$sql = "SELECT bf.*, role.name\n FROM {better_formats_defaults} AS bf\n INNER JOIN {role} AS role\n ON bf.rid = role.rid\n WHERE bf.type IN ('{$types}')\n ORDER BY bf.type_weight DESC, bf.weight, role.rid";
$result = db_query($sql);
$roles_set = array();
while ($role = db_fetch_object($result)) {
if (in_array($role->rid, $roles_set)) {
continue;
}
$roles_set[] = $role->rid;
$key = $mode . '-' . $role->rid;
$form[$key]['role'] = array(
'#value' => $role->name,
);
$form[$key]['format'] = array(
'#type' => 'select',
'#options' => $format_options[$role->rid],
'#default_value' => $role->format,
'#attributes' => array(
'class' => 'bf-default-formats',
),
);
$form[$key]['weight'] = array(
'#type' => 'weight',
'#delta' => 25,
'#default_value' => $role->weight,
);
}
return $form;
}