function openlayers_maps_ui::edit_execute_form in Openlayers 7.2
Implements ctools_export_ui::edit_execute_form().
This is hacky, but since CTools Export UI uses drupal_goto() we have to effectively change the plugin to modify the redirect path dynamically.
Overrides ctools_export_ui::edit_execute_form
File
- modules/
openlayers_ui/ plugins/ export_ui/ openlayers_maps_ui.class.php, line 590
Class
- openlayers_maps_ui
- @file
Code
function edit_execute_form(&$form_state) {
$output = parent::edit_execute_form($form_state);
if (!empty($form_state['executed'])) {
$clicked = $form_state['clicked_button']['#value'];
if (t('Save and edit') == $clicked) {
// We always want to redirect back to this page when adding an item,
// but we want to preserve the destination so we can be redirected back
// to where we came from after clicking "Save".
$options = array();
if (!empty($_GET['destination'])) {
$options['query']['destination'] = $_GET['destination'];
unset($_GET['destination']);
}
// Sets redirect path and options.
$op = $form_state['op'];
$name = $form_state['values']['name'];
$path = 'add' != $op ? current_path() : 'admin/structure/openlayers/maps/list/' . $name . '/edit';
$this->plugin['redirect'][$op] = array(
$path,
$options,
);
}
}
return $output;
}