function flexiform_manage_form_fields_form_submit in Flexiform 7
Submit handler for the flexiform_manage_form_fields_form
File
- ./
flexiform.admin.inc, line 1114 - Model type editing UI.
Code
function flexiform_manage_form_fields_form_submit($form, &$form_state) {
$form_values = $form_state['values']['fields'];
$flexiform = $form_state['#flexiform'];
$elements = $form_state['#elements'];
$element_path = '';
foreach ($form_values as $element_namespace => $values) {
if (in_array($element_namespace, $form['#elements'])) {
$element = $elements[$element_namespace];
$element
->setWeight($values['weight']);
$flexiform
->updateElement($element);
}
}
// Add an element to the form.
$settings = array();
if (!empty($form_values['_add_element']['field'])) {
$values = $form_values['_add_element'];
$settings['element_name'] = $values['field'];
$settings['entity_namespace'] = $values['entity'];
$element = FlexiformElement::createElement($flexiform, $settings);
$element
->setWeight($values['weight']);
$element
->setLabel($values['label']);
$flexiform
->addElement($element);
// Send the User to the Instance Settings page
}
// Sort out additional settings.
$flexiform->settings['redirect'] = $form_state['values']['additional_settings']['redirect'];
$flexiform->settings['buttons'] = $form_state['values']['additional_settings']['buttons'];
$flexiform->settings['ajax'] = $form_state['values']['additional_settings']['ajax'];
if (module_exists('honeypot')) {
$flexiform->settings['honeypot'] = $form_state['values']['additional_settings']['honeypot'];
}
$flexiform
->save();
drupal_set_message(t('Your settings have been saved'));
}