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);
}
}
