You are here

public function DateBase::getTestValues in Webform 6.x

Same name and namespace in other branches
  1. 8.5 src/Plugin/WebformElement/DateBase.php \Drupal\webform\Plugin\WebformElement\DateBase::getTestValues()

Get test values for an element.

Parameters

array $element: An element.

\Drupal\webform\WebformInterface $webform: A webform.

array $options: Options used to generate a test value.

Return value

mixed A test value for an element.

Overrides WebformElementBase::getTestValues

File

src/Plugin/WebformElement/DateBase.php, line 619

Class

DateBase
Provides a base 'date' class.

Namespace

Drupal\webform\Plugin\WebformElement

Code

public function getTestValues(array $element, WebformInterface $webform, array $options = []) {
  $format = DateFormat::load('html_datetime')
    ->getPattern();
  if (!empty($element['#date_year_range'])) {
    list($min, $max) = static::datetimeRangeYears($element['#date_year_range']);
  }
  else {
    $min = !empty($element['#date_date_min']) ? strtotime($element['#date_date_min']) : strtotime('-10 years');
    $max = !empty($element['#date_date_max']) ? strtotime($element['#date_date_max']) : max($min, strtotime('+20 years') ?: PHP_INT_MAX);
  }
  return static::formatDate($format, rand($min, $max));
}