acquia_commercemanager-8.x-1.122/modules/acm_customer/acm_customer.module

modules/acm_customer/acm_customer.module
<?php

/**
 * @file
 * Acquia Commerce customer module file.
 *
 * Provides base hooks to the customer profile functionality of Acquia Commerce
 * connector.
 */

use Drupal\Core\Field\BaseFieldDefinition;
use Drupal\Core\Entity\EntityTypeInterface;

/**
 * Implements hook_element_info_alter().
 */
function acm_customer_element_info_alter(array &$types) {
  if (isset($types['acm_password_update'])) {
    $types['acm_password_update']['#process'][] = 'acm_customer_form_process_acm_password_update';
  }
}

/**
 * Form element process handler for client-side password validation.
 *
 * This #process handler is automatically invoked for 'password_confirm' form
 * elements to add the JavaScript and string translations for dynamic password
 * validation.
 */
function acm_customer_form_process_acm_password_update($element) {
  $password_settings = [
    'confirmTitle' => t('Passwords match:'),
    'confirmSuccess' => t('yes'),
    'confirmFailure' => t('no'),
    'showStrengthIndicator' => FALSE,
  ];

  if (\Drupal::config('user.settings')->get('password_strength')) {
    $password_settings['showStrengthIndicator'] = TRUE;
    $password_settings += [
      'strengthTitle' => t('Password strength:'),
      'hasWeaknesses' => t('Recommendations to make your password stronger:'),
      'tooShort' => t('Make it at least 12 characters'),
      'addLowerCase' => t('Add lowercase letters'),
      'addUpperCase' => t('Add uppercase letters'),
      'addNumbers' => t('Add numbers'),
      'addPunctuation' => t('Add punctuation'),
      'sameAsUsername' => t('Make it different from your username'),
      'weak' => t('Weak'),
      'fair' => t('Fair'),
      'good' => t('Good'),
      'strong' => t('Strong'),
      'username' => '',
    ];
  }

  $element['#attached']['library'][] = 'user/drupal.user';
  $element['#attached']['drupalSettings']['password'] = $password_settings;

  return $element;
}

/**
 * Implements hook_entity_base_field_info().
 */
function acm_customer_entity_base_field_info(EntityTypeInterface $entity_type) {
  if ($entity_type->id() === 'user') {
    $fields['acm_customer_id'] = BaseFieldDefinition::create('integer')
      ->setLabel(t('Customer ID'))
      ->setDescription(t('Remote ID used to identify user'))
      ->setDisplayOptions('form', [
        'type' => 'hidden',
      ])
      ->setDisplayOptions('view', [
        'type' => 'hidden',
      ])
      ->setDisplayConfigurable('form', FALSE)
      ->setDisplayConfigurable('view', FALSE);

    return $fields;
  }
}

/**
 * Implements hook_theme().
 */
function acm_customer_theme($existing, $type, $theme, $path) {
  return [
    'user_order' => [
      'render element' => 'elements',
      'variables' => [
        'order' => NULL,
        'order_details_path' => NULL,
      ],
    ],
    'user_order_detailed' => [
      'render element' => 'form',
    ],
    'user_order_items' => [
      'render element' => 'elements',
      'variables' => [
        'order' => NULL,
      ],
    ],
    'user_order_information' => [
      'render element' => 'elements',
      'variables' => [
        'order' => NULL,
      ],
    ],
    'user_address' => [
      'render element' => 'elements',
      'variables' => [
        'address' => NULL,
        'address_edit_path' => NULL,
        'links' => NULL,
      ],
    ],
  ];
}

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

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