Skip to content
Snippets Groups Projects

Resolve #3459311 "Add token support"

Open Adam G-H requested to merge issue/geocoder-3459311:3459311-add-token-support into 8.x-4.x
@@ -3,6 +3,7 @@
namespace Drupal\geocoder\Plugin\Geocoder\Provider;
use Drupal\geocoder\ConfigurableProviderUsingHandlerWithAdapterBase;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Provides a Nominatim geocoder provider plugin.
@@ -22,4 +23,38 @@ use Drupal\geocoder\ConfigurableProviderUsingHandlerWithAdapterBase;
* }
* )
*/
class Nominatim extends ConfigurableProviderUsingHandlerWithAdapterBase {}
class Nominatim extends ConfigurableProviderUsingHandlerWithAdapterBase {
/**
* @var \Drupal\Core\Utility\Token
*/
private $token;
/**
* {@inheritdoc}
*/
public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
$plugin = parent::create($container, $configuration, $plugin_id, $plugin_definition);
$plugin->token = $container->get('token');
return $plugin;
}
/**
* {@inheritdoc}
*/
protected function getArguments(): array {
$arguments = parent::getArguments();
$data = [
'site' => [
'uuid' => $this->configFactory->get('system.site')->get('uuid'),
],
];
foreach ($arguments as $key => $argument) {
if (is_string($argument)) {
$arguments[$key] = $this->token->replace($argument, $data);
}
}
return $arguments;
}
}
Loading