You are here

function contextual_view_modes_settings in Contextual View Modes 7

[contextual_view_modes_settings description]

Parameters

[type] $form [description]:

[type] $form_state [description]:

Return value

[type] [description]

1 string reference to 'contextual_view_modes_settings'
contextual_view_modes_menu in ./contextual_view_modes.module
Implements hook_menu().

File

./contextual_view_modes.admin.inc, line 14
Contextual View Modes Administrative Screens

Code

function contextual_view_modes_settings($form, &$form_state) {

  // If the gotoconf variable is set then show the user the conf variable.
  if (isset($form_state['values']['gotoconf']) && $form_state['values']['gotoconf'] == "true") {
    $form_state['rebuild'] = TRUE;
    return confirm_form($form, t("Are you sure you want to do this?"), 'admin/structure/cvm', t("You have marked a content type to be disabled. Any previously checked and now unchecked content types will have their contextual view mode fields removed from them. This will destroy their data and cannot be recovered. Click yes to confirm that you know the consequences and wish to proceed."), t('Yes, Proceed'));
  }

  // Trigger for going to confirmation form.
  $form['gotoconf'] = array(
    '#type' => 'hidden',
    '#value' => "false",
  );

  // Enabled content types.
  $type_names = node_type_get_names();
  $enabled_types = variable_get('cvm_enabled_content_types', array());

  // Enabled and active contexts.
  $contexts = context_context_list();
  foreach ($contexts as $key => $name) {
    $contexts[$key] = ucwords(str_replace('_', " ", $name));
  }

  // Enabled and active display modes.
  $ds_modes = ds_entity_view_modes('node');
  $ds_modes_formatted = array(
    'none' => '- None -',
  );
  foreach ($ds_modes as $name => $values) {
    $ds_modes_formatted[$name] = ucwords(str_replace('_', " ", $values['label']));
  }
  $form['cvm_enabled_content_types'] = array(
    '#title' => t("Check Box To Enable Content Type"),
    '#type' => 'checkboxes',
    '#options' => $type_names,
    '#default_value' => $enabled_types,
  );

  // Default content type contextual view mode settings.
  $global_cvm = variable_get('cvm_global_content_type_modes', array());
  foreach ($enabled_types as $k => $name) {
    $form[$name] = array(
      '#type' => 'fieldset',
      '#title' => $type_names[$name],
      '#description' => t('Provide default global contextual view mode switching for this content type.'),
      '#collapsible' => TRUE,
      '#collapsed' => TRUE,
    );
    foreach ($contexts as $context_name => $context) {
      $form[$name]['cvmglobal___' . $name . '___' . $context_name] = array(
        '#type' => 'select',
        '#title' => 'Default view mode for context: ' . $context,
        '#options' => $ds_modes_formatted,
        '#default_value' => isset($global_cvm[$name][$context_name]) ? $global_cvm[$name][$context_name] : "none",
      );
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => 'Save Configuration',
  );
  $form["#submit"][] = "contextual_view_modes_settings_submit";
  $form["#validate"][] = "contextual_view_modes_settings_validate";
  return $form;
}