You are here

function DateSqlHandler::part_is_valid in Date 8

A function to test the validity of various date parts

File

date_api/lib/Drupal/date_api/DateSqlHandler.php, line 795

Class

DateSqlHandler
A class to manipulate date SQL.

Namespace

Drupal\date_api

Code

function part_is_valid($value, $type) {
  if (!preg_match('/^[0-9]*$/', $value)) {
    return FALSE;
  }
  $value = intval($value);
  if ($value <= 0) {
    return FALSE;
  }
  switch ($type) {
    case 'year':
      if ($value < DATE_MIN_YEAR) {
        return FALSE;
      }
      break;
    case 'month':
      if ($value < 0 || $value > 12) {
        return FALSE;
      }
      break;
    case 'day':
      if ($value < 0 || $value > 31) {
        return FALSE;
      }
      break;
    case 'week':
      if ($value < 0 || $value > 53) {
        return FALSE;
      }
      break;
  }
  return TRUE;
}