You are here

function path_breadcrumbs_import_form_submit in Path Breadcrumbs 7.2

Same name and namespace in other branches
  1. 7.3 path_breadcrumbs_ui/path_breadcrumbs_ui.admin.inc \path_breadcrumbs_import_form_submit()

Submit callback for path breadcrumbs import form.

File

path_breadcrumbs_ui/path_breadcrumbs_ui.admin.inc, line 273
Administrative callbacks for PATH BREADCRUMBS UI module.

Code

function path_breadcrumbs_import_form_submit($form, &$form_state) {
  $code = $form_state['values']['import'];
  ctools_include('export');
  $path_breadcrumbs_raw = ctools_export_crud_import('path_breadcrumbs', $code);
  if (is_string($path_breadcrumbs_raw)) {
    form_error($form['import'], t('Unable to get an import from the code. Errors reported: @errors', array(
      '@errors' => $path_breadcrumbs_raw,
    )));
    $form_state['rebuild'] = TRUE;
    return;
  }

  // Because we get raw object from Ctools we should prepare it before saving.
  $path_breadcrumbs = path_breadcrumbs_load_prepare($path_breadcrumbs_raw);
  $path_breadcrumbs_original = path_breadcrumbs_load_by_name($path_breadcrumbs->machine_name);

  // If there is path breadcrumbs object with the same machine name,
  // delete the original so that this one writes properly.
  if (!empty($path_breadcrumbs_original)) {
    path_breadcrumbs_delete($path_breadcrumbs_original->machine_name);
  }
  if (path_breadcrumbs_save($path_breadcrumbs)) {
    if (!empty($path_breadcrumbs_original)) {
      drupal_set_message(filter_xss(t('Path breadcrumb "!name" was successfully updated.', array(
        '!name' => $path_breadcrumbs->name,
      ))));
    }
    else {
      drupal_set_message(filter_xss(t('Path breadcrumb "!name" was successfully imported.', array(
        '!name' => $path_breadcrumbs->name,
      ))));
    }
  }
  else {
    form_error($form['import'], t('Could not import path breadcrumb.'));
  }
  $form_state['redirect'] = 'admin/structure/path-breadcrumbs';
}