culturefeed-1.0.2/modules/culturefeed_user/culturefeed_user.tokens.inc

modules/culturefeed_user/culturefeed_user.tokens.inc
<?php

/**
 * @file
 * Tokens for culturefeed user module.
 */

use Drupal\Core\Render\BubbleableMetadata;

/**
 * Implements hook_token_info().
 */
function culturefeed_user_token_info() {
  $info = [];

  $info['types']['uitiduser'] = [
    'name' => t('UiTID user'),
    'description' => t('Custom tokens with values from the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['name'] = [
    'name' => t('UiTID user name'),
    'description' => t('The name of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['first_name'] = [
    'name' => t("UiTID user's first name"),
    'description' => t('The first name of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['email'] = [
    'name' => t('UiTID user email'),
    'description' => t('The email address of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['street'] = [
    'name' => t('UiTID user street'),
    'description' => t('The street (and number) of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['zipcode'] = [
    'name' => t('UiTID user zipcode'),
    'description' => t('The zipcode of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['city'] = [
    'name' => t('UiTID user city'),
    'description' => t('The city of the active UiTID user.'),
  ];

  $info['tokens']['uitiduser']['country'] = [
    'name' => t('UiTID user country'),
    'description' => t('The country of the active UiTID user.'),
  ];

  return $info;
}

/**
 * Implements hook_tokens().
 */
function culturefeed_user_tokens($type, $tokens, array $data, array $options, BubbleableMetadata $bubbleable_metadata) {
  $replacements = [];

  if ($type === 'uitiduser') {

    /** @var \Drupal\culturefeed_user\CultureFeedCurrentUserInterface $cultureFeedCurrentUser */
    $cultureFeedCurrentUser = \Drupal::service('culturefeed_user.current_user');

    try {
      if ($cultureFeedCurrentUser->isCultureFeedUser()) {
        /** @var \CultureFeed_User $cultureFeedUser */
        $cultureFeedUser = $cultureFeedCurrentUser->getUser();

        foreach ($tokens as $name => $original) {
          switch ($name) {
            case 'name':
              $replacements[$original] = $cultureFeedUser->familyName;
              break;

            case 'first_name':
              $replacements[$original] = $cultureFeedUser->givenName;
              break;

            case 'email':
              $replacements[$original] = $cultureFeedUser->mbox;
              break;

            case 'street':
              $replacements[$original] = $cultureFeedUser->street;
              break;

            case 'zipcode':
              $replacements[$original] = $cultureFeedUser->zip;
              break;

            case 'city':
              $replacements[$original] = $cultureFeedUser->city;
              break;

            case 'country':
              $replacements[$original] = $cultureFeedUser->country;
              break;

          }
        }
      }
      else {
        foreach ($tokens as $name => $original) {
          $replacements[$original] = '';
        }
      }
    }
    catch (\Exception $e) {
      foreach ($tokens as $name => $original) {
        $replacements[$original] = '';
      }
    }
  }

  return $replacements;
}

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

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