You are here

function widgets_set_form_submit in Widgets 7

Submit handler for saving an widget set.

1 string reference to 'widgets_set_form_submit'
widgets_set_form in ./widgets.admin.inc
Form builder; Edit an widget set name and elements order.

File

./widgets.admin.inc, line 407
Administration pages for widget settings.

Code

function widgets_set_form_submit($form, &$form_state) {

  // Update the widget set name if it has changed.
  $set = $form_state['widgets_set'];
  if (isset($form_state['values']['name']) && $set['name'] != $form_state['values']['name']) {
    $set['name'] = $form_state['values']['name'];
  }

  // Update widget element weights.
  if (!empty($form_state['values']['elements'])) {
    foreach ($form_state['values']['elements'] as $wid => $element_data) {
      if (isset($set['elements'][$wid])) {
        $element = $set['elements'][$wid];
        $element['weight'] = $element_data['weight'];
        widgets_element_save($element);
      }
    }
  }
  $set['data'] = $form_state['values']['data'];
  widgets_set_save($set);
  if ($form_state['values']['op'] == t('Update set')) {
    drupal_set_message(t('Changes to the set have been saved.'));
  }
  widgets_clear_widgets_cache($set['data']['cache']['cid0']);
  $form_state['redirect'] = 'admin/structure/widgets/sets/edit/' . $set['name'];
}