You are here

function _context_ui_rebuild_from_input in Context 7.3

Handle the complex job of rebuilding a Context from submission data in the case of a validation error.

Parameters

$context: The context object to modify.

$input: A form submission values

$conditions: The full list of condition plugins

$reactions: The full list of reaction plugins

Return value

A context object

1 call to _context_ui_rebuild_from_input()
context_ui_form in context_ui/export_ui/context_export_ui.class.php
Generates the omnibus context definition editing form.

File

context_ui/export_ui/context_export_ui.class.php, line 227

Code

function _context_ui_rebuild_from_input($context, $input, $conditions, $reactions) {
  $condition_defaults = array();
  foreach ($conditions as $condition) {
    if ($plugin = context_get_plugin('condition', $condition)) {
      $condition_defaults[$condition] = array(
        'values' => $plugin
          ->condition_form($context),
        'options' => $plugin
          ->options_form($context),
      );
    }
  }
  $input['conditions']['plugins'] = array_merge($condition_defaults, $input['conditions']['plugins']);
  $reaction_defaults = array();
  foreach ($reactions as $reaction) {
    if ($plugin = context_get_plugin('reaction', $reaction)) {
      $reaction_defaults[$reaction] = $plugin
        ->options_form($context);
    }
  }
  $input['reactions']['plugins'] = array_merge($reaction_defaults, $input['reactions']['plugins']);
  return context_ui_form_process($context, $input, FALSE);
}