function views_bulk_operations_form_submit in Views Bulk Operations (VBO) 6
Same name and namespace in other branches
- 5 views_bulk_operations.module \views_bulk_operations_form_submit()
- 6.3 views_bulk_operations.module \views_bulk_operations_form_submit()
- 7.3 views_bulk_operations.module \views_bulk_operations_form_submit()
Form submit function for views_bulk_operations_form().
1 string reference to 'views_bulk_operations_form_submit'
- views_bulk_operations_form in ./
views_bulk_operations.module - Form implementation for main VBO multistep form.
File
- ./
views_bulk_operations.module, line 714 - Allows operations to be performed on items selected in a view.
Code
function views_bulk_operations_form_submit($form, &$form_state) {
$form_id = $form_state['values']['form_id'];
$plugin = $form['#plugin'];
$view = $plugin->view;
$view_id = _views_bulk_operations_view_id($view);
$view_name = $view->name;
$form_state['storage']['step'] = $step = $form_state['values']['step'];
switch ($step) {
case VBO_STEP_VIEW:
$form_state['storage']['selection'] = _views_bulk_operations_get_selection($plugin, $form_state, $form_id);
$form_state['storage']['selectall'] = $form_state['values']['objects']['selectall'];
$form_state['storage']['operation'] = $operation = $plugin
->get_operation_info($form_state['values']['operation']);
$_SESSION['vbo_values'][$view_name][$view_id]['operation'] = $operation['key'];
if (!$operation['configurable'] && !empty($operation['options']['skip_confirmation'])) {
break;
// Go directly to execution
}
return;
case VBO_STEP_SINGLE:
$form_state['storage']['selection'] = _views_bulk_operations_get_selection($plugin, $form_state, $form_id);
$form_state['storage']['selectall'] = $form_state['values']['objects']['selectall'];
$form_state['storage']['operation'] = $operation = $plugin
->get_operation_info($form_state['values']['operation']);
$_SESSION['vbo_values'][$view_name][$view_id]['operation'] = $operation['key'];
if ($operation['configurable']) {
$form_state['storage']['operation_arguments'] = _views_bulk_operations_action_submit($operation, $form, $form_state);
}
if (!empty($operation['options']['skip_confirmation'])) {
break;
// Go directly to execution
}
return;
case VBO_STEP_CONFIG:
$operation = $form_state['storage']['operation'];
$form_state['storage']['operation_arguments'] = _views_bulk_operations_action_submit($operation, $form, $form_state);
if (!empty($operation['options']['skip_confirmation'])) {
break;
// Go directly to execution
}
return;
case VBO_STEP_CONFIRM:
break;
}
// Clean up unneeded SESSION variables.
unset($_SESSION['vbo_values'][$view->name]);
// Execute the VBO.
$objects = _views_bulk_operations_get_selection_full($plugin, $form_state);
$operation = $form_state['storage']['operation'];
$operation_arguments = array();
if ($operation['configurable']) {
$operation_arguments = $form_state['storage']['operation_arguments'];
}
_views_bulk_operations_execute($view, $objects, $operation, $operation_arguments, array(
'execution_type' => $plugin->options['execution_type'],
'display_result' => $plugin->options['display_result'],
'max_performance' => $plugin->options['max_performance'],
'settings' => $operation['options']['settings'],
));
// Clean up the form.
$query = drupal_query_string_encode($_GET, array(
'q',
));
$form_state['redirect'] = array(
'path' => $view
->get_url(),
'query' => $query,
);
unset($form_state['storage']);
}