You are here

function i18n_block_form_block_admin_configure_submit in Internationalization 7

Form submit handler for block configuration form.

See also

i18n_block_form_block_admin_configure_alter()

1 string reference to 'i18n_block_form_block_admin_configure_submit'
i18n_block_form_block_admin_configure_alter in i18n_block/i18n_block.module
Implements block hook_form_FORM_ID_alter().

File

i18n_block/i18n_block.module, line 261
Internationalization (i18n) submodule: Multilingual meta-blocks

Code

function i18n_block_form_block_admin_configure_submit(&$form, &$form_state) {
  $module = $form_state['values']['module'];
  $delta = $form_state['values']['delta'];

  // Update block languages
  db_delete('i18n_block_language')
    ->condition('module', $module)
    ->condition('delta', $delta)
    ->execute();
  $query = db_insert('i18n_block_language')
    ->fields(array(
    'language',
    'module',
    'delta',
  ));
  foreach (array_filter($form_state['values']['languages']) as $language) {
    $query
      ->values(array(
      'language' => $language,
      'module' => $module,
      'delta' => $delta,
    ));
  }
  $query
    ->execute();

  // Update block translation options and strings
  if (isset($form_state['values']['i18n_mode'])) {
    db_update('block')
      ->fields(array(
      'i18n_mode' => $form_state['values']['i18n_mode'],
    ))
      ->condition('module', $module)
      ->condition('delta', $delta)
      ->execute();
    i18n_block_update_strings($form_state['values'], $form_state['values']['i18n_mode']);

    // If the save and translate button was clicked, redirect to the translate
    // tab instead of the block overview.
    if ($form_state['triggering_element']['#name'] == 'save_translate') {
      $form_state['redirect'] = 'admin/structure/block/manage/' . $module . '/' . $delta . '/translate';
    }
  }
}