You are here

function webform_localization_i18n_string_locale_translate_edit_form_submit in Webform Localization 7.4

Submit handler for translations form.

1 string reference to 'webform_localization_i18n_string_locale_translate_edit_form_submit'
webform_localization_form_i18n_string_locale_translate_edit_form_alter in ./webform_localization.module
Implements hook_form_FORM_ID_alter().

File

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

Code

function webform_localization_i18n_string_locale_translate_edit_form_submit($form, &$form_state) {
  foreach ($form_state['values'] as $key => $value) {
    if (preg_match("/translations-(.*)/", $key, $lid)) {
      foreach ($value as $lang => $translation) {
        $existing = db_query("SELECT translation FROM {locales_target} WHERE lid = :lid AND language = :language", array(
          ':lid' => $lid[1],
          ':language' => $lang,
        ))
          ->fetchField();
        if (!empty($translation)) {
          if (!empty($existing)) {
            db_update('locales_target')
              ->fields(array(
              'translation' => $translation,
              'i18n_status' => I18N_STRING_STATUS_CURRENT,
            ))
              ->condition('lid', $lid[1])
              ->condition('language', $lang)
              ->execute();
          }
          else {
            db_insert('locales_target')
              ->fields(array(
              'lid' => $lid[1],
              'translation' => $translation,
              'language' => $lang,
            ))
              ->execute();
          }
        }
      }
    }
  }
}