UuidConverter.php in Email confirmer 8
File
src/ParamConverter/UuidConverter.php
View source
<?php
namespace Drupal\email_confirmer\ParamConverter;
use Symfony\Component\Routing\Route;
use Drupal\Core\ParamConverter\ParamConverterInterface;
use Drupal\Component\Uuid\Uuid;
use Drupal\Core\Entity\EntityTypeManagerInterface;
class UuidConverter implements ParamConverterInterface {
protected $entityTypeManager;
public function __construct(EntityTypeManagerInterface $entity_type_manager) {
$this->entityTypeManager = $entity_type_manager;
}
public function convert($value, $definition, $name, array $defaults) {
$confirmation = NULL;
if (Uuid::isValid($value) && ($storage = $this->entityTypeManager
->getStorage('email_confirmer_confirmation'))) {
$entities = $storage
->loadByProperties([
'uuid' => $value,
]);
$confirmation = $entities ? reset($entities) : NULL;
}
return $confirmation;
}
public function applies($definition, $name, Route $route) {
return !empty($definition['type']) && $definition['type'] == 'email-confirmer-confirmation-uuid';
}
}