function profile2_form in Profile 2 7
Same name and namespace in other branches
- 7.2 contrib/profile2_page.inc \profile2_form()
The profile edit form.
1 string reference to 'profile2_form'
- profile2_page_forms in contrib/
profile2_page.module - Implements hook_forms().
File
- contrib/
profile2_page.inc, line 34 - Adds separate pages for viewing and editing profiles.
Code
function profile2_form($form, &$form_state, $profile) {
global $user;
if (empty($form_state['profiles'])) {
$form_state['profiles'][$profile->type] = $profile;
}
// Prevent invoking the same hooks twice, so tell profile2_attach_form() to
// skip invoking the hooks.
$form_state['profile2_skip_hook'] = TRUE;
profile2_attach_form($form, $form_state);
// If using edit title mode, add a field for the title and validate function.
$type = profile2_get_types($profile->type);
if (!empty($type->data['edit_label'])) {
$form['title'] = array(
'#type' => 'textfield',
'#title' => t('Title'),
'#description' => t('Enter a title for this profile'),
'#required' => TRUE,
'#default_value' => $profile->label,
'#maxlength' => 255,
'#weight' => -5,
);
$form['#validate'][] = 'profile2_form_validate';
}
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#weight' => 40,
);
if (user_access('administer profiles') || $user->uid === $profile->uid && user_access("delete own {$profile->type} profile")) {
$delete_button_label = t('Delete profile');
}
if (empty($profile->is_new) && !empty($delete_button_label)) {
$form['actions']['delete'] = array(
'#type' => 'submit',
'#value' => $delete_button_label,
'#weight' => 45,
'#limit_validation_errors' => array(),
'#submit' => array(
'profile2_form_submit_delete',
),
);
}
$form['#submit'][] = 'profile2_form_submit';
return $form;
}