user_email_verification-8.x-1.0/src/Plugin/ECA/Condition/IsCurrentUserExtendedVerificationPeriodExceeded.php

src/Plugin/ECA/Condition/IsCurrentUserExtendedVerificationPeriodExceeded.php
<?php

namespace Drupal\user_email_verification\Plugin\ECA\Condition;

use Drupal\eca\Plugin\ECA\Condition\ConditionBase;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * Plugin implementation of the ECA condition if a current user email verification extended period exceeded.
 *
 * @EcaCondition(
 *   id = "user_email_verification_extended_period_exceeded_current_user",
 *   label = @Translation("User Email Verification: Is email verification extended period exceeded for current user"),
 *   description = @Translation("Checks is email verification extended period exceeded for currently logged in user or no."),
 *   eca_version_introduced = "1.0.0"
 * )
 */
class IsCurrentUserExtendedVerificationPeriodExceeded extends ConditionBase {

  /**
   * User email verification helper service.
   *
   * @var \Drupal\user_email_verification\UserEmailVerificationInterface
   */
  protected $userEmailVerification;

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition): static {
    $instance = parent::create($container, $configuration, $plugin_id, $plugin_definition);
    $instance->userEmailVerification = $container->get('user_email_verification.service');
    return $instance;
  }

  /**
   * {@inheritdoc}
   */
  public function evaluate(): bool {

    if ($this->currentUser->isAuthenticated()) {
      return $this->negationCheck(
        $this->userEmailVerification->isVerificationExtendedPeriodExceeded($this->currentUser->id())
      );
    }

    return $this->negationCheck(FALSE);
  }

}

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

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