smart_date-3.1.0-beta1/src/Plugin/views/argument_default/DateToken.php
src/Plugin/views/argument_default/DateToken.php
<?php namespace Drupal\smart_date\Plugin\views\argument_default; use Drupal\Core\Cache\Cache; use Drupal\Core\Cache\CacheableDependencyInterface; use Drupal\Core\Form\FormStateInterface; use Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase; /** * The date token argument default handler. * * @ingroup views_argument_default_plugins * * @ViewsArgumentDefault( * id = "date_token", * title = @Translation("Date Token") * ) */ class DateToken extends ArgumentDefaultPluginBase implements CacheableDependencyInterface { /** * {@inheritdoc} */ protected function defineOptions() { $options = parent::defineOptions(); $options['token'] = ['default' => '']; return $options; } /** * {@inheritdoc} */ public function buildOptionsForm(&$form, FormStateInterface $form_state) { parent::buildOptionsForm($form, $form_state); $form['token'] = [ '#type' => 'textfield', '#title' => $this->t('Token'), '#default_value' => $this->options['token'], ]; } /** * {@inheritdoc} */ public function getArgument() { // @phpstan-ignore-next-line $token_service = \Drupal::token(); $value = $token_service->replace($this->options['token']); return $value; } /** * {@inheritdoc} */ public function getCacheMaxAge() { return Cache::PERMANENT; } /** * {@inheritdoc} */ public function getCacheContexts() { return []; } }