Write the provided PHP DateTime object into a Kolab format date-time
representation.
public static writeDateTime ( DateTime $date_time ) : string | ||
$date_time | DateTime | The PHP DateTime object. |
리턴 | string | The Kolab format date-time string. |
/** * Update the specified attribute. * * @param string $name The name of the the * attribute to be updated. * @param array $attributes The data array that holds * all attribute values. * @param DOMNode $parent_node The parent node of the * node that should be * updated. * @param Horde_Kolab_Format_Xml_Helper $helper A XML helper instance. * @param array $params Additional parameters * for this write operation. * * @return DOMNode|boolean The new/updated child node or false if this * failed. * * @throws Horde_Kolab_Format_Exception If converting the data to XML failed. */ public function save($name, $attributes, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array()) { $node = $helper->findNodeRelativeTo('./' . $name, $parent_node); if ($node !== false) { if (isset($attributes[$name]) && ($old = $this->loadNodeValue($node, $helper, $params)) != $attributes[$name]) { if (!$this->isRelaxed($params)) { throw new Horde_Kolab_Format_Exception(sprintf('Not attempting to overwrite old %s %s with new value %s!', $name, Horde_Kolab_Format_Date::writeDateTime($old), Horde_Kolab_Format_Date::writeDateTime($attributes[$name]))); } } else { return $node; } } $result = $this->saveNodeValue($name, $this->generateWriteValue($name, $attributes, $params), $parent_node, $helper, $params, $node); return $node !== false ? $node : $result; }
/** * Update the specified attribute. * * @param string $name The name of the attribute * to be updated. * @param mixed $value The value to store. * @param DOMNode $parent_node The parent node of the * node that should be * updated. * @param Horde_Kolab_Format_Xml_Helper $helper A XML helper instance. * @param array $params The parameters for this * write operation. * @param DOMNode|NULL $old_node The previous value (or * null if there is none). * * @return DOMNode|boolean The new/updated child node or false if this * failed. * * @throws Horde_Kolab_Format_Exception If converting the data to XML failed. */ public function saveNodeValue($name, $value, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array(), $old_node = false) { if ($value instanceof DateTime) { $value = array('date' => $value); } if (!isset($value['date']) || !$value['date'] instanceof DateTime) { throw new Horde_Kolab_Format_Exception(sprintf('Missing or invalid data in the "date" element of the "%s" entry!', $name)); } if (empty($value['date-only'])) { $date = Horde_Kolab_Format_Date::writeDateTime($value['date']); } else { $date = Horde_Kolab_Format_Date::writeDate($value['date']); } $node = parent::saveNodeValue($name, $date, $parent_node, $helper, $params, $old_node); return $node; }
/** * Update the specified attribute. * * @param string $name The name of the attribute * to be updated. * @param mixed $value The value to store. * @param DOMNode $parent_node The parent node of the * node that should be * updated. * @param Horde_Kolab_Format_Xml_Helper $helper A XML helper instance. * @param array $params The parameters for this * write operation. * @param DOMNode|NULL $old_node The previous value (or * null if there is none). * * @return DOMNode|boolean The new/updated child node or false if this * failed. * * @throws Horde_Kolab_Format_Exception If converting the data to XML failed. */ public function saveNodeValue($name, $value, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array(), $old_node = false) { $date = Horde_Kolab_Format_Date::writeDateTime($value); $node = parent::saveNodeValue($name, $date, $parent_node, $helper, $params, $old_node); return $node; }