You are here

function panelizer_default_settings_page in Panelizer 7.3

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

Page to configure basic settings for a panelizer default.

1 call to panelizer_default_settings_page()
panelizer_default_list_or_settings_page in ./panelizer.module
Page callback to delegate to either the settings page or list page.
3 string references to 'panelizer_default_settings_page'
PanelizerEntityDefault::add_admin_links in plugins/entity/PanelizerEntityDefault.class.php
Helper function to add administrative menu items into an entity's already existing structure.
panelizer_admin_hook_menu in includes/admin.inc
Delegated hook_menu for admin
panelizer_operations in ./panelizer.module
Return list of operations.

File

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

Code

function panelizer_default_settings_page($handler, $bundle, $name, $view_mode) {
  if (is_string($handler)) {
    $handler = panelizer_entity_plugin_get_handler($handler);
  }
  if ($view_mode) {
    $bundle .= '.' . $view_mode;

    // We use a $mode copy of $view_mode because the presence of $view_mode
    // tells us later if we want fake tabs, but we still need to know the
    // actual view mode regardless of that.
    $mode = $view_mode;
  }
  else {

    // We are NOT testing for the . here because if this is missing
    // that is a sign of a bug and we want the notice.
    list(, $mode) = explode('.', $bundle);
  }
  $panelizer = $handler
    ->get_default_panelizer_object($bundle, $name);
  if (empty($panelizer)) {
    return t('No default display has been configured for this view mode.');
  }
  $form_state = array(
    'panelizer' => &$panelizer,
    'no_redirect' => TRUE,
    'view_mode' => $mode,
  );
  if ($handler
    ->has_panel_choice($bundle)) {
    $form_state['has title'] = TRUE;
  }
  ctools_include('common', 'panelizer');
  $output = drupal_build_form('panelizer_settings_form', $form_state);
  if (!empty($form_state['executed'])) {
    ctools_include('export');
    ctools_export_crud_save('panelizer_defaults', $panelizer);
    drupal_set_message(t('The settings have been updated.'));
    drupal_goto($_GET['q']);
  }
  if ($view_mode && !$handler
    ->has_panel_choice($bundle)) {
    $output = $handler
      ->wrap_default_panelizer_pages($bundle, $output);
  }
  return $output;
}