function og_ui_add_users in Organic groups 7.2
Same name and namespace in other branches
- 7 og_ui/og_ui.admin.inc \og_ui_add_users()
Add users to group form.
1 string reference to 'og_ui_add_users'
- og_ui_menu in og_ui/
og_ui.module - Implements hook_menu().
File
- og_ui/
og_ui.admin.inc, line 131 - Admin settings for Organic groups module.
Code
function og_ui_add_users($form, &$form_state, $group_type, $gid) {
og_set_breadcrumb($group_type, $gid, array(
l(t('Group'), "{$group_type}/{$gid}/group"),
));
$group = entity_load_single($group_type, $gid);
$label = entity_label($group_type, $group);
list(, , $bundle) = entity_extract_ids($group_type, $group);
$form['group_type'] = array(
'#type' => 'value',
'#value' => $group_type,
);
$form['gid'] = array(
'#type' => 'value',
'#value' => $gid,
);
$form['og_user'] = array(
'#type' => 'fieldset',
'#title' => t('Add a group member to %group', array(
'%group' => $label,
)),
);
$form['og_user']['name'] = array(
'#type' => 'textfield',
'#title' => t('User name'),
'#autocomplete_path' => 'user/autocomplete',
'#required' => TRUE,
);
$form['og_user']['state'] = array(
'#type' => 'value',
'#value' => OG_STATE_ACTIVE,
);
// Get all the non-default roles.
if ($og_roles = og_roles($group_type, $bundle, $gid, FALSE, FALSE)) {
$form['og_user']['roles'] = array(
'#type' => 'checkboxes',
'#options' => $og_roles,
'#title' => t('Roles'),
);
}
$field_names = og_get_group_audience_fields('user', 'user', $group_type, $bundle);
$field_name = !empty($form_state['values']['field_name']) ? $form_state['values']['field_name'] : key($field_names);
if (count($field_names) > 1) {
$form['og_user']['field_name'] = array(
'#type' => 'select',
'#title' => t('Field name'),
'#options' => $field_names,
'#default_value' => $field_name,
'#description' => t('Select the field name, the group membership should be registered in.'),
'#ajax' => array(
'callback' => 'og_ui_admin_add_user_ajax_callback',
'wrapper' => 'og-ui-field-name',
),
);
}
else {
// There is only a single field name, so just pass it as a value.
$form['og_user']['field_name'] = array(
'#type' => 'value',
'#value' => $field_name,
);
}
// Add group membership form.
$values = array();
// Add group membership form. We still don't have the user or state.
$og_membership = og_membership_create($group_type, $gid, 'user', 0, $field_name, $values);
$form_state['og_membership'] = $og_membership;
$form['membership_fields'] = array(
'#prefix' => '<div id="og-ui-field-name">',
'#suffix' => '</div>',
'#tree' => TRUE,
'#parents' => array(
'membership_fields',
),
);
field_attach_form('og_membership', $og_membership, $form['membership_fields'], $form_state);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Add users'),
);
return $form;
}