You are here

function _webform_localization_webform_configure_form_submit in Webform Localization 7.4

Same name and namespace in other branches
  1. 7 webform_localization.module \_webform_localization_webform_configure_form_submit()

Handle specific localization options in Webform Configure Form.

1 string reference to '_webform_localization_webform_configure_form_submit'
webform_localization_form_webform_configure_form_alter in ./webform_localization.module
Implements hook_form_FORM_ID_alter().

File

./webform_localization.module, line 620
Webform localization module.

Code

function _webform_localization_webform_configure_form_submit($form, &$form_state) {
  $webform_properties = $form_state['values']['webform_properties'];
  foreach ($webform_properties as $key => $value) {
    if (!is_string($value)) {
      unset($webform_properties[$key]);
    }
  }
  if (count($webform_properties) == 0) {
    $webform_properties = '';
  }
  else {
    $webform_properties = serialize($webform_properties);
  }
  if ($form_state['values']['single_webform'] > 0) {
    $form_state['values']['single_webform'] = $form_state['values']['nid'];
  }
  $webform_localization_options = array(
    'nid' => $form_state['values']['nid'],
    'expose_strings' => $form_state['values']['expose_strings'],
    'sync_components' => $form_state['values']['sync_components'],
    'sync_roles' => $form_state['values']['sync_roles'],
    'sync_emails' => $form_state['values']['sync_emails'],
    'single_webform' => $form_state['values']['single_webform'],
    'webform_properties' => $webform_properties,
  );
  $prev_options = webform_localization_get_config($form_state['values']['nid']);
  if (isset($prev_options['no_persistent'])) {
    drupal_write_record('webform_localization', $webform_localization_options);
  }
  else {
    drupal_write_record('webform_localization', $webform_localization_options, array(
      'nid',
    ));
  }
  module_load_include('inc', 'webform_localization', 'includes/webform_localization.sync');
  webform_localization_webform_properties_sync($form_state['values']['nid']);
  $webform_localization_options = webform_localization_get_config($form_state['values']['nid']);
  if ($webform_localization_options['sync_roles']) {
    webform_localization_roles_sync($form_state['values']['nid']);
  }
  if ($webform_localization_options['expose_strings']) {
    module_load_include('inc', 'webform_localization', 'includes/webform_localization.i18n');
    webform_localization_update_translation_strings($form_state['values']);
  }
}