date_recur-8.x-2.2/src/Plugin/views/field/DateRecurDate.php

src/Plugin/views/field/DateRecurDate.php
<?php

declare(strict_types=1);

namespace Drupal\date_recur\Plugin\views\field;

use Drupal\Core\Datetime\DrupalDateTime;
use Drupal\views\Plugin\views\field\Date;
use Drupal\views\ResultRow;

/**
 * Date field.
 *
 * Extends core date field plugin permitting alternative source date format.
 *
 * @ingroup views_field_handlers
 *
 * @ViewsField("date_recur_date")
 * @property \Drupal\views\Plugin\views\query\Sql $query
 */
class DateRecurDate extends Date {

  /**
   * {@inheritdoc}
   */
  public function getValue(ResultRow $values, $field = NULL): ?int {
    $value = parent::getValue($values, $field);

    assert(isset($this->configuration['source date format']));
    $sourceDateFormat = $this->configuration['source date format'];
    $timeZone = new \DateTimeZone($this->configuration['source time zone']);

    if (isset($value)) {
      $date = DrupalDateTime::createFromFormat($sourceDateFormat, $value, $timeZone);
      return $date->getTimestamp();
    }

    return NULL;
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc