You are here

function calendar_systems_date_properties_settings_form in Calendar Systems 8

Same name and namespace in other branches
  1. 7 calendar_systems_date_properties/calendar_systems_date_properties.admin.inc \calendar_systems_date_properties_settings_form()
  2. 7.2 calendar_systems_date_properties/calendar_systems_date_properties.admin.inc \calendar_systems_date_properties_settings_form()

Page callback for calendar_systems_date_properties.

1 string reference to 'calendar_systems_date_properties_settings_form'
calendar_systems_date_properties_menu in calendar_systems_date_properties/calendar_systems_date_properties.module
Implements hook_menu().

File

calendar_systems_date_properties/calendar_systems_date_properties.admin.inc, line 11
Contains administration form callbacks.

Code

function calendar_systems_date_properties_settings_form($form, $form_state) {
  $form = array();
  $entity_bundles = variable_get('calendar_systems_date_properties_entity_bundles_settings');
  $form['additional_settings'] = array(
    '#type' => 'vertical_tabs',
  );
  $form['info'] = array(
    '#type' => 'item',
    '#weight' => -2,
    '#description' => t('You must enable at least one non-gregorian calendar system , return back to this page and save it'),
  );
  $form['entitites'] = array(
    '#type' => 'item',
    '#title' => t('Entities'),
    //'#collapsible' => FALSE,

    //'#group' => 'additional_settings',

    //'#tree' => TRUE,
    '#weight' => -1,
    '#description' => t('Config the entities'),
  );

  //$var = field_info_instances();

  //var_export($var['reply']['blog_comment']);exit;
  $entity_types = _calendar_systems_date_properties_entity_types();

  //    dsm($entity_types);
  foreach ($entity_types as $entity_type => $entity_type_info) {
    if ($entity_type != 'comment') {
      foreach ($entity_type_info['bundles'] as $bundle => $bundle_info) {
        $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle] = array(
          '#type' => 'fieldset',
          '#title' => t($entity_type_info['label'] . ' -> ' . $bundle_info['label']),
          '#collapsible' => FALSE,
          '#group' => 'additional_settings',
          '#tree' => TRUE,
        );
        $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle]['enabled'] = array(
          '#type' => 'checkbox',
          '#title' => t("Enable"),
          '#tree' => TRUE,
          '#default_value' => @$entity_bundles[$entity_type . '.' . $bundle]['enabled'],
        );
        $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle]['properties'] = array(
          '#type' => 'fieldset',
          '#title' => t("Properties"),
          '#tree' => TRUE,
          '#collapsible' => FALSE,
          '#collapsed' => FALSE,
        );
        $properties = entity_get_property_info($entity_type);
        foreach ($properties['properties'] as $property_name => $property) {
          if (@$property['type'] == 'date') {
            $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle]['properties'][$property_name] = array(
              '#type' => 'checkbox',
              '#title' => $property['label'],
              '#default_value' => @$entity_bundles[$entity_type . '.' . $bundle]['properties'][$property_name],
            );
          }
        }
        $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle]['fields'] = array(
          '#type' => 'fieldset',
          '#title' => t("Fields"),
          '#tree' => TRUE,
          '#collapsible' => FALSE,
          '#collapsed' => FALSE,
        );
        $fields = field_info_instances($entity_type, $bundle);
        foreach ($fields as $field_name => $field) {
          if (@$field['widget']['module'] == 'OOOOOdate') {
            $form['entity_bundles']['entity_bundles_' . $entity_type . '|' . $bundle]['fields'][$field_name] = array(
              '#type' => 'checkbox',
              '#title' => $field['label'],
              '#default_value' => @$entity_bundles[$entity_type . '.' . $bundle]['fields'][$field_name],
            );
          }
        }
      }
    }
  }
  $form['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save'),
    '#weight' => 50,
  );

  //$form['#validate'] = 'calendar_systems_date_properties_node_type_form_validate';
  $form['#submit'][] = 'calendar_systems_date_properties_settings_form_submit';
  return $form;
}