You are here

function panelizer_default_layout_page in Panelizer 7.3

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

Pass through to the panels layout editor.

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

File

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

Code

function panelizer_default_layout_page($handler, $bundle, $name, $view_mode, $step = NULL, $layout = NULL) {
  if (is_string($handler)) {
    $handler = panelizer_entity_plugin_get_handler($handler);
  }
  $original_bundle = $bundle;
  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.');
  }
  $display = $panelizer->display;
  $display->context = $handler
    ->get_contexts($panelizer);
  if ($name == 'default' && $handler
    ->has_default_panel($bundle)) {
    $path = 'admin/structure/panelizer/' . $handler->entity_type . '/' . $bundle;
  }
  else {
    $path = 'admin/structure/panelizer/' . $handler->entity_type . '/' . $bundle . '/list/' . $name;
  }
  $form_state = array(
    'display' => $display,
    'wizard path' => $path . '/layout/%step',
    'allowed_layouts' => panelizer_get_allowed_layouts_option($handler->entity_type, $original_bundle),
  );
  ctools_include('common', 'panelizer');
  $output = panelizer_change_layout_wizard($form_state, $step, $layout);
  if (!empty($form_state['complete'])) {
    $panelizer->display = $form_state['display'];
    ctools_export_crud_save('panelizer_defaults', $panelizer);
    drupal_set_message(t('The layout has been changed.'));
    drupal_goto($path . '/content');
  }
  if ($view_mode && !$handler
    ->has_panel_choice($bundle)) {
    $output = $handler
      ->wrap_default_panelizer_pages($bundle, $output);
  }
  return $output;
}