You are here

function context_admin_menu_context_edit_content in Contextual Administration 6

Same name and namespace in other branches
  1. 7 plugins/task_handlers/menu_context.inc \context_admin_menu_context_edit_content()
1 string reference to 'context_admin_menu_context_edit_content'
menu_context.inc in plugins/task_handlers/menu_context.inc

File

plugins/task_handlers/menu_context.inc, line 278

Code

function context_admin_menu_context_edit_content(&$form, &$form_state) {
  ctools_include('context');
  ctools_include('context-task-handler');
  $cache = context_admin_get_page_cache($form_state['page']->subtask_id);
  $cache2 = page_manager_get_page_cache('page-' . $form_state['page']->subtask_id);
  $arguments = $cache2->subtask['subtask']->arguments;
  $handler_id = $form_state['page']->task_id . '_' . $form_state['page']->subtask_id . '_menu_context';
  module_load_include('inc', 'page_manager', 'plugins/tasks/page');

  // Get the base contexts for this subtask
  $base_contexts = page_manager_page_get_contexts($form_state['task'], $form_state['subtask']);

  // Get the fully formed context for this handler.
  $contexts = ctools_context_handler_get_handler_contexts($base_contexts, $form_state['page']->handlers[$handler_id]);
  $plugins = context_admin_get_contextual_plugins($contexts);
  if (!is_null($form_state['handler_id'])) {
    $default = $form_state['page']->handlers[$form_state['handler_id']]->conf['context_admin_options'] ? $form_state['page']->handlers[$form_state['handler_id']]->conf['context_admin_options'] : $cache->handlers[$form_state['handler_id']]->conf['context_admin_options'];
  }
  else {
    $default = $form_state['page']->new_handler->conf['context_admin_options'];
  }
  $options = array();
  foreach ($plugins as $key => $plugin) {
    $options[$key] = $plugin['title'];
  }
  $form['context_admin_options'] = array(
    '#title' => t('Choose a contextual administration type'),
    '#type' => 'radios',
    '#options' => $options,
    '#required' => TRUE,
    '#default_value' => $default,
  );
}