/** * Sets class wide options, if no option was given, the actual set options will be returned * * @param array $options Options to set * @throws \Zend\Date\Exception * @return Options array if no option was given */ public static function setOptions(array $options = array()) { if (empty($options)) { return self::$_options; } foreach ($options as $name => $value) { $name = strtolower($name); if (array_key_exists($name, self::$_options)) { switch ($name) { case 'format_type': if (strtolower($value) != 'php' && strtolower($value) != 'iso') { throw new Exception\InvalidArgumentException("Unknown format type ({$value}) for dates, only 'iso' and 'php' supported"); /*, 0, null, $value */ } break; case 'fix_dst': if (!is_bool($value)) { throw new Exception\InvalidArgumentException("'fix_dst' has to be boolean"); /* , 0, null, $value */ } break; case 'extend_month': if (!is_bool($value)) { throw new Exception\InvalidArgumentException("'extend_month' has to be boolean"); /* ); */ } break; case 'cache': if ($value === null) { parent::$_cache = null; } else { if (!$value instanceof \Zend\Cache\Frontend) { throw new Exception\InvalidArgumentException("Instance of Zend_Cache expected"); } parent::$_cache = $value; parent::$_cacheTags = Zend_Date_DateObject::hasCacheTagSupport(); Cldr::setCache($value); } break; case 'timesync': if ($value === null) { parent::$_defaultOffset = 0; } else { if (!$value instanceof TimeSync\Protocol) { throw new Exception\InvalidArgumentException("Instance of Zend_TimeSync expected for option timesync"); } $date = $value->getInfo(); parent::$_defaultOffset = $date['offset']; } break; } self::$_options[$name] = $value; } else { throw new Exception\InvalidArgumentException("Unknown option: {$name} = {$value}"); } } }
/** * Sets class wide options, if no option was given, the actual set options will be returned * * @param array $options Options to set * @throws Zend_Date_Exception * @return Options array if no option was given */ public static function setOptions(array $options = array()) { if (empty($options)) { return self::$_options; } foreach ($options as $name => $value) { $name = strtolower($name); if (array_key_exists($name, self::$_options)) { switch ($name) { case 'format_type': if (strtolower($value) != 'php' && strtolower($value) != 'iso') { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("Unknown format type ({$value}) for dates, only 'iso' and 'php' supported", 0, null, $value); } break; case 'fix_dst': if (!is_bool($value)) { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("'fix_dst' has to be boolean", 0, null, $value); } break; case 'extend_month': if (!is_bool($value)) { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("'extend_month' has to be boolean", 0, null, $value); } break; case 'cache': if ($value === null) { parent::$_cache = null; } else { if (!$value instanceof Zend_Cache_Core) { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("Instance of Zend_Cache expected"); } parent::$_cache = $value; parent::$_cacheTags = Zend_Date_DateObject::_getTagSupportForCache(); Zend_Locale_Data::setCache($value); } break; case 'timesync': if ($value === null) { parent::$_defaultOffset = 0; } else { if (!$value instanceof Zend_TimeSync_Protocol) { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("Instance of Zend_TimeSync expected"); } $date = $value->getInfo(); parent::$_defaultOffset = $date['offset']; } break; } self::$_options[$name] = $value; } else { require_once 'Zend/Date/Exception.php'; throw new Zend_Date_Exception("Unknown option: {$name} = {$value}"); } } }
/** * Sets class wide options, if no option was given, the actual set options will be returned * * @param array $options Options to set * @throws Zend_Date_Exception * @return Options array if no option was given */ public static function setOptions(array $options = array()) { if (empty($options)) { return self::$_Options; } foreach ($options as $name => $value) { $name = strtolower($name); if (array_key_exists($name, self::$_Options)) { switch ($name) { case 'format_type': if (strtolower($value) != 'php' && strtolower($value) != 'iso') { throw new Zend_Date_Exception("Unknown format type ({$value}) for dates, only 'iso' and 'php' supported", $value); } break; case 'fix_dst': if (!is_bool($value)) { throw new Zend_Date_Exception("'fix_dst' has to be boolean", $value); } break; case 'extend_month': if (!is_bool($value)) { throw new Zend_Date_Exception("'extend_month' has to be boolean", $value); } break; case 'cache': if (!$value instanceof Zend_Cache_Core) { throw new Zend_Date_Exception("Instance of Zend_Cache expected"); } parent::$_cache = $value; Zend_Locale_Data::setCache($value); break; } self::$_Options[$name] = $value; } else { throw new Zend_Date_Exception("Unknown option: {$name} = {$value}"); } } }