mirror of
https://codeberg.org/streams/streams.git
synced 2024-09-23 10:35:16 +00:00
745515b11f
We use composer already to install SabreDAV. Include config composer.(json|lock) to install and manage more dependencies in future. Also provide PSR-4 autoloading for our namespaced classes, e.g. "Zotlabs\". To regenerate autoloader maps use: $ composer install --optimize-autoloader --no-dev We could also remove the whole vendor/ folder from our repository, but that would need changes in deployment and how to install hubs and needs more discussion first.
66 lines
1.6 KiB
PHP
66 lines
1.6 KiB
PHP
<?php
|
|
|
|
namespace Sabre\VObject\Component;
|
|
|
|
use Sabre\VObject;
|
|
|
|
/**
|
|
* The VTimeZone component.
|
|
*
|
|
* This component adds functionality to a component, specific for VTIMEZONE
|
|
* components.
|
|
*
|
|
* @copyright Copyright (C) fruux GmbH (https://fruux.com/)
|
|
* @author Evert Pot (http://evertpot.com/)
|
|
* @license http://sabre.io/license/ Modified BSD License
|
|
*/
|
|
class VTimeZone extends VObject\Component {
|
|
|
|
/**
|
|
* Returns the PHP DateTimeZone for this VTIMEZONE component.
|
|
*
|
|
* If we can't accurately determine the timezone, this method will return
|
|
* UTC.
|
|
*
|
|
* @return \DateTimeZone
|
|
*/
|
|
function getTimeZone() {
|
|
|
|
return VObject\TimeZoneUtil::getTimeZone((string)$this->TZID, $this->root);
|
|
|
|
}
|
|
|
|
/**
|
|
* A simple list of validation rules.
|
|
*
|
|
* This is simply a list of properties, and how many times they either
|
|
* must or must not appear.
|
|
*
|
|
* Possible values per property:
|
|
* * 0 - Must not appear.
|
|
* * 1 - Must appear exactly once.
|
|
* * + - Must appear at least once.
|
|
* * * - Can appear any number of times.
|
|
* * ? - May appear, but not more than once.
|
|
*
|
|
* @var array
|
|
*/
|
|
function getValidationRules() {
|
|
|
|
return [
|
|
'TZID' => 1,
|
|
|
|
'LAST-MODIFIED' => '?',
|
|
'TZURL' => '?',
|
|
|
|
// At least 1 STANDARD or DAYLIGHT must appear.
|
|
//
|
|
// The validator is not specific yet to pick this up, so these
|
|
// rules are too loose.
|
|
'STANDARD' => '*',
|
|
'DAYLIGHT' => '*',
|
|
];
|
|
|
|
}
|
|
|
|
}
|