function node_gallery_api_item_edit_form in Node Gallery 7
Gallery Item edit form.
1 call to node_gallery_api_item_edit_form()
- node_gallery_api_manage_items_form in ./
node_gallery_api.pages.inc - Displays the content for our "Manage Images" tab, which is a VBO view.
File
- ./
node_gallery_api.pages.inc, line 522 - Node Gallery module.
Code
function node_gallery_api_item_edit_form($form_values, $image, $relationship_type, &$entire_form_state) {
module_load_include('inc', 'node', 'node.pages');
$form_state = array(
'values' => $form_values,
'build_info' => array(
'args' => array(
$image,
),
),
'method' => 'post',
);
$display_fields = $relationship_type->settings['manage_items']['items_fields'];
$form = drupal_retrieve_form($image->type . '_node_form', $form_state);
drupal_prepare_form($image->type . "_node_form", $form, $form_state);
// Keep all fields that are added to form state, as some are retrieved from
// form state during validation and submit (such as for Taxonomy auto-complete
// fields) and need to be accessible at all times.
if (isset($form_state['field'])) {
$entire_form_state['field'] = isset($entire_form_state['field']) ? array_merge($form_state['field'], $entire_form_state['field']) : $form_state['field'];
}
$item_form = array();
$display_fields['#node'] = '#node';
foreach (array_values($display_fields) as $field_name) {
if (!empty($field_name) && !empty($form[$field_name])) {
$item_form[$field_name] = $form[$field_name];
}
}
$item_form += (array) node_gallery_api_get_item_form_value_items($form);
node_gallery_api_set_item_form_default_values($item_form, $image, $relationship_type);
$item_form = node_gallery_api_flatten_item_edit_form($item_form);
foreach (element_children($item_form) as $key) {
$element =& $item_form[$key];
if (isset($element['#theme']) && $element['#theme'] == 'content_multiple_values') {
// We need to override several properties for multi-value fields.
$nid = $item_form['#node']->nid;
$fieldname = $element['#field_name'];
$field_name_css = str_replace('_', '-', $fieldname);
$item_form[$key]['#prefix'] = '<div id="' . $field_name_css . '-items-' . $nid . '">';
$item_form[$key][$fieldname . '_add_more-' . $nid] = $item_form[$key][$fieldname . '_add_more'];
$item_form[$key][$fieldname . '_add_more-' . $nid]['#ahah']['wrapper'] = $field_name_css . '-items-' . $nid;
// Change the path of the AHAH call.
$item_form[$key][$fieldname . '_add_more-' . $nid]['#ahah']['path'] = 'node-gallery/json/js_add_more/' . $image->type . '/' . $fieldname;
$item_form[$key][$fieldname . '_add_more-' . $nid]['#name'] = $fieldname . '_add_more-' . $nid;
unset($item_form[$key][$fieldname . '_add_more']);
$item_form[$key]['#theme'] = 'node_gallery_content_multiple_values';
}
}
return $item_form;
}