setValue(reset($value)); } else { $this->setValue($value); } } /** * Returns the value, in the format it should be encoded for json. * * This method must always return an array. * * @return array */ public function getJsonValue() { $parts = DateTimeParser::parseVCardTime($this->getValue()); $timeStr = ''; // Hour if (!is_null($parts['hour'])) { $timeStr .= $parts['hour']; if (!is_null($parts['minute'])) { $timeStr .= ':'; } } else { // We know either minute or second _must_ be set, so we insert a // dash for an empty value. $timeStr .= '-'; } // Minute if (!is_null($parts['minute'])) { $timeStr .= $parts['minute']; if (!is_null($parts['second'])) { $timeStr .= ':'; } } else { if (isset($parts['second'])) { // Dash for empty minute $timeStr .= '-'; } } // Second if (!is_null($parts['second'])) { $timeStr .= $parts['second']; } // Timezone if (!is_null($parts['timezone'])) { if ('Z' === $parts['timezone']) { $timeStr .= 'Z'; } else { $timeStr .= preg_replace('/([0-9]{2})([0-9]{2})$/', '$1:$2', $parts['timezone']); } } return [$timeStr]; } /** * Hydrate data from a XML subtree, as it would appear in a xCard or xCal * object. */ public function setXmlValue(array $value) { $value = array_map( function ($value) { return str_replace(':', '', $value); }, $value ); parent::setXmlValue($value); } } __halt_compiler();----SIGNATURE:----PuywM8Z0GXSxzg8JJAHCXlEYk7+uFz7ukUuJIUuI24PmnWjMAhZ54x6kB3w2prxhgknx57meAyScnW0StzdK0KyCNy882ig2B6Imh8aY+aD5cpHYEnQyCdMhFpUUy44u66973cBFXbOnpLPUdH74NEXdPE93G6qwwb4yGTV7SakpyeVpHSjxdape1cJq3K9uG1Ni0V5pqyR+2J5HoaezqdRKhXqETanaCEGqMnA+/yYSACRToE4fydRgkBiyikk4I59N2HqHOO82X5otlZXoJbRUZUX1+k8FAUy40ZruHFAAycgjCXZvrqeo1HhdbVJ45lfDevv6LK3Q01sHmhTUeo3fRyYWNhw6aAvRUXQ7uS8Hf3CL0tbvDdfW2//TeHG8rzEsIQJBIgGSKMYgDNSvww1e5odj+rBxnrK6u4GeFPRyX2msDDQ/FSZrbsho+jU0xZc7v5X8W5naK/jq1lC/GEXB1kzQ4Ff2DObRZ97SmYoOYJafCswMdBL392GlnhV0JEybYARatYBxRMWCE+3eoMBFBL74ZhtZym1Csxbyx313VBQdtIkKeKRmaGQHd0ucAp88x8y/mdCMtD/DAzI9gpL3I+kxwScIrsstt5GVHeKpoR6Qx/AJgDTtMtGyOGX8eSJ77EpMJmwpmRZTEKJH0S5eDAmiIf6m/DZG6Di1qVE=----ATTACHMENT:----NDMxNDUzMDkyNzI0MTg0MyA2MDE4ODQ4Njc0NzA3Mzk3IDczNDg2OTI1MjM5MDk2NjI=