You are here

function panelizer_default_content_page in Panelizer 7.3

Same name and namespace in other branches
  1. 6 includes/admin.inc \panelizer_default_content_page()
  2. 7 includes/admin.inc \panelizer_default_content_page()
  3. 7.2 includes/admin.inc \panelizer_default_content_page()

Pass through to the panels content editor.

1 string reference to 'panelizer_default_content_page'
panelizer_operations in ./panelizer.module
Return list of operations.

File

includes/admin.inc, line 455
Contains administrative forms and settings.

Code

function panelizer_default_content_page($handler, $bundle, $name, $view_mode) {
  if (is_string($handler)) {
    $handler = panelizer_entity_plugin_get_handler($handler);
  }
  if ($view_mode) {
    $bundle .= '.' . $view_mode;
  }
  $panelizer = $handler
    ->get_default_panelizer_object($bundle, $name);
  if (empty($panelizer)) {
    return t('No default display has been configured for this view mode.');
  }
  $cache_key = implode(':', array(
    'panelizer',
    'default',
    $handler->entity_type,
    $bundle,
    $name,
  ));
  $form_state = array(
    'display cache' => panels_edit_cache_get($cache_key),
    'no_redirect' => TRUE,
  );
  ctools_include('common', 'panelizer');
  $output = drupal_build_form('panelizer_edit_content_form', $form_state);
  if (!empty($form_state['executed'])) {
    if (!empty($form_state['clicked_button']['#save-display'])) {
      drupal_set_message(t('The settings have been updated.'));
      $panelizer->display = $form_state['display'];
      ctools_export_crud_save('panelizer_defaults', $panelizer);
    }
    else {
      drupal_set_message(t('Changes have been discarded.'));
    }
    panels_edit_cache_clear($form_state['display cache']);
    drupal_goto($_GET['q']);
  }
  elseif ($form_state['display cache']->display->did === 'new') {
    panels_edit_cache_set($form_state['display cache']);
  }
  ctools_set_no_blocks(FALSE);
  if ($view_mode && !$handler
    ->has_panel_choice($bundle)) {
    $output = $handler
      ->wrap_default_panelizer_pages($bundle, $output);
  }
  drupal_set_page_content($output);
  $page = element_info('page');
  return $page;
}