You are here

final class CalendarSystemsPoorMansGregorianCalendar in Calendar Systems 8.3

Hierarchy

Expanded class hierarchy of CalendarSystemsPoorMansGregorianCalendar

1 file declares its use of CalendarSystemsPoorMansGregorianCalendar
calendar_systems.module in ./calendar_systems.module

File

src/CalendarSystems/CalendarSystemsPoorMansGregorianCalendar.php, line 12
Fallback calendar implementation in case php-intl is not available.

Namespace

Drupal\calendar_systems\CalendarSystems
View source
final class CalendarSystemsPoorMansGregorianCalendar extends CalendarSystemsPartialImplementation implements CalendarSystemsInterface {
  public function __construct($tz, $lang_code) {
    $lang_code = $lang_code !== 'fa' && $lang_code !== 'en' ? 'en' : $lang_code;
    parent::__construct($tz, 'gregorian', $lang_code);
  }
  public function format($format) {
    return date_format(parent::getOrigin(), $format);
  }
  public function setDateLocale($y = 1, $m = 1, $d = 1) {
    $this
      ->xSetDate($y, $m, $d);
    return $this;
  }
  public function copy() {
    return new CalendarSystemsPoorMansGregorianCalendar($this->timezone, $this->langCode);
  }
  public function validate(array $arr) {
    if ((!isset($arr['year']) || empty($arr['year'])) && (!isset($arr['month']) || empty($arr['month'])) && (!isset($arr['day']) || empty($arr['day']))) {
      return NULL;
    }
    $zero = TRUE;
    $year = intval($arr['year']);
    $month = intval($arr['month']);
    $day = intval($arr['day']);
    if ($year < 0 || $year === 0 && $zero) {
      return t('Year out of range');
    }
    if ($month < 0 || 12 < $month || $month === 0 && $zero) {
      return t('Month out of range');
    }
    if ($day === 0 && $zero || $day < 0 || 31 < $day) {
      return t('Day out of range');
    }
    return FALSE;
  }
  public function parse($value, $format) {
    $dt = DateTime::createFromFormat($format, $value);
    if (!$dt) {
      return FALSE;
    }
    $this
      ->setTimestamp($dt
      ->getTimestamp());
    return TRUE;
  }
  function getBaseYear() {
    return 2018;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CalendarSystemsPartialImplementation::$calendar protected property
CalendarSystemsPartialImplementation::$langCode protected property
CalendarSystemsPartialImplementation::$origin protected property
CalendarSystemsPartialImplementation::$timezone protected property
CalendarSystemsPartialImplementation::formatArray final function Overrides CalendarSystemsInterface::formatArray
CalendarSystemsPartialImplementation::getCalendarName final function Overrides CalendarSystemsInterface::getCalendarName
CalendarSystemsPartialImplementation::getLangcode function Overrides CalendarSystemsInterface::getLangcode
CalendarSystemsPartialImplementation::getOrigin protected function
CalendarSystemsPartialImplementation::getTimestamp final function Overrides CalendarSystemsInterface::getTimestamp
CalendarSystemsPartialImplementation::listOptions function Overrides CalendarSystemsInterface::listOptions
CalendarSystemsPartialImplementation::setTime final function Overrides CalendarSystemsInterface::setTime
CalendarSystemsPartialImplementation::setTimestamp final function Overrides CalendarSystemsInterface::setTimestamp
CalendarSystemsPartialImplementation::tz final protected function
CalendarSystemsPartialImplementation::xFormat final function Format date time, in gregorian. Overrides CalendarSystemsInterface::xFormat
CalendarSystemsPartialImplementation::xFormatArray final function Put all day and time parts in an array, in gregorian. Overrides CalendarSystemsInterface::xFormatArray
CalendarSystemsPartialImplementation::xSetDate final function Overrides CalendarSystemsInterface::xSetDate
CalendarSystemsPoorMansGregorianCalendar::copy public function Overrides CalendarSystemsInterface::copy
CalendarSystemsPoorMansGregorianCalendar::format public function Overrides CalendarSystemsInterface::format
CalendarSystemsPoorMansGregorianCalendar::getBaseYear function Overrides CalendarSystemsPartialImplementation::getBaseYear
CalendarSystemsPoorMansGregorianCalendar::parse public function Overrides CalendarSystemsInterface::parse
CalendarSystemsPoorMansGregorianCalendar::setDateLocale public function Overrides CalendarSystemsInterface::setDateLocale
CalendarSystemsPoorMansGregorianCalendar::validate public function Overrides CalendarSystemsPartialImplementation::validate
CalendarSystemsPoorMansGregorianCalendar::__construct public function Overrides CalendarSystemsPartialImplementation::__construct