care-8.x-1.x-dev/care_user/admin/settings_form.inc

care_user/admin/settings_form.inc
<?php

/**
 * @file
 * Administration settings form.
 */

/**
 * Form definition.
 */
function care_user_admin_settings_form($form, &$form_state) {

  $date_formats = [];
  $date_types = system_get_date_types();
  foreach ($date_types as $key => $value) {
    $date_formats[$value['type']] = t('@date_format format: @formatted', [
      '@date_format' => $value['title'],
      '@formatted' => format_date(REQUEST_TIME, $value['type']),
    ]);
  }

  $form['care_user_message_date_format'] = [
    '#title' => t('Date format to use'),
    '#description' => t('Select the format used to display membership renewal dates in user messages. Date formats are configured at !link.', [
      '!link' => l(t('Configuration') . ' > ' . t('Regional and language') . ' > ' . t('Date and time'), 'admin/config/regional/date-time'),
    ]),
    '#type' => 'select',
    '#options' => $date_formats,
    '#default_value' => variable_get('care_user_message_date_format'),
  ];

  $form['care_user_keep_history'] = [
    '#title' => t('Edited address/telephone/email record behaviour'),
    '#type' => 'radios',
    '#options' => [
      1 => 'Keep edit history by hiding old CARE records and creating new CARE records.',
      0 => 'Edit existing CARE records in-place, to minimise new record creation.',
    ],
    '#default_value' => variable_get('care_user_keep_history', TRUE),
  ];

  $form['care_user_rules_messages'] = [
    '#title' => t('Email copying Rules action messages'),
    '#description' => t('Custom messages can be displayed, if required, using additional Rules actions.'),
    '#type' => 'radios',
    '#options' => [
      1 => 'Display built-in messages when email-copying actions are executed.',
      0 => 'Do not display built-in messages for these actions.',
    ],
    '#default_value' => variable_get('care_user_rules_messages', TRUE),
  ];

  $field_instances = field_info_instances('user', 'user');
  $care_membership_number_field_options = [
    '' => t('Disable all synchronisation with CARE'),
  ];
  $care_memberships_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  $care_name_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  $care_date_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  $care_address_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  $care_telephone_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  $care_email_field_options = [
    '' => t('Do not synchronise with CARE'),
  ];
  foreach ($field_instances as $field_name => $value) {
    $field_info = field_info_field($field_name);
    $option_display = $value['label'] . ' (' . $field_name . ')';
    if (in_array($field_info['type'], [
      'care_address',
      'care_telephone',
      'care_email',
    ])) {
      $option_display .= $field_info['cardinality'] == -1 ? ' - All CARE values' : ' - Default CARE value only';
    }
    switch ($field_info['type']) {
      case 'care_membership_number':
        $care_membership_number_field_options[$field_name] = $option_display;
        break;

      case 'care_memberships':
        $care_memberships_field_options[$field_name] = $option_display;
        break;

      case 'care_name':
        $care_name_field_options[$field_name] = $option_display;
        break;

      case 'care_date':
        $care_date_field_options[$field_name] = $option_display;
        break;

      case 'care_address':
        $care_address_field_options[$field_name] = $option_display;
        break;

      case 'care_telephone':
        $care_telephone_field_options[$field_name] = $option_display;
        break;

      case 'care_email':
        $care_email_field_options[$field_name] = $option_display;
        break;
    }
  }
  $form['field_mappings'] = [
    '#title' => t('Field mappings'),
    '#type' => 'fieldset',
  ];
  $form['field_mappings']['care_user_membership_number_field'] = [
    '#title' => t('Membership number (any care_membership_number field)'),
    '#type' => 'radios',
    '#options' => $care_membership_number_field_options,
    '#default_value' => variable_get('care_user_membership_number_field', ''),
  ];
  $form['field_mappings']['care_user_memberships_field'] = [
    '#title' => t('Memberships (any care_memberships field)'),
    '#type' => 'radios',
    '#options' => $care_memberships_field_options,
    '#default_value' => variable_get('care_user_memberships_field', ''),
  ];
  $form['field_mappings']['care_user_name_field'] = [
    '#title' => t('Name (any care_name field)'),
    '#type' => 'radios',
    '#options' => $care_name_field_options,
    '#default_value' => variable_get('care_user_name_field', ''),
  ];
  $form['field_mappings']['care_user_dob_field'] = [
    '#title' => t('Date of birth (any care_date field)'),
    '#type' => 'radios',
    '#options' => $care_date_field_options,
    '#default_value' => variable_get('care_user_dob_field', ''),
  ];
  $form['field_mappings']['care_user_address_field'] = [
    '#title' => t('Addresses (any care_address field)'),
    '#type' => 'radios',
    '#options' => $care_address_field_options,
    '#default_value' => variable_get('care_user_address_field', ''),
  ];
  $form['field_mappings']['care_user_telephone_field'] = [
    '#title' => t('Telephone numbers (any care_telephone field)'),
    '#type' => 'radios',
    '#options' => $care_telephone_field_options,
    '#default_value' => variable_get('care_user_telephone_field', ''),
  ];
  $form['field_mappings']['care_user_email_field'] = [
    '#title' => t('Email addresses (any care_email field)'),
    '#type' => 'radios',
    '#options' => $care_email_field_options,
    '#default_value' => variable_get('care_user_email_field', ''),
  ];

  return system_settings_form($form);
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc