RouteEnhancer.php in Janrain Registration 8
File
src/RouteEnhancer.php
View source
<?php
namespace Drupal\janrain_capture;
use Drupal\Core\Routing\EnhancerInterface;
use Drupal\user\UserInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Route;
class RouteEnhancer implements EnhancerInterface {
public const JANRAIN_ACCOUNT_PROPERTY = '_janrain_account';
protected $captureApi;
public function __construct(JanrainCaptureApiInterface $capture_api) {
$this->captureApi = $capture_api;
}
public function enhance(array $defaults, Request $request) {
if (isset($defaults['user'])) {
if ($defaults['user'] instanceof UserInterface) {
$janrain_account = $this->captureApi
->isJanrainAccount($defaults['user']);
$defaults[self::JANRAIN_ACCOUNT_PROPERTY] = $janrain_account;
$request->attributes
->set(self::JANRAIN_ACCOUNT_PROPERTY, $janrain_account);
}
}
return $defaults;
}
public function applies(Route $route) {
return $route
->getOption('parameters')['user'] ?? FALSE;
}
}