diff -r 5b37998e522e -r 162c1de6545a web/lib/Zend/XmlRpc/Value/DateTime.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/lib/Zend/XmlRpc/Value/DateTime.php Fri Mar 11 15:05:35 2011 +0100 @@ -0,0 +1,91 @@ +_type = self::XMLRPC_TYPE_DATETIME; + + if ($value instanceof Zend_Date) { + $this->_value = $value->toString($this->_isoFormatString); + } elseif ($value instanceof DateTime) { + $this->_value = $value->format($this->_phpFormatString); + } elseif (is_numeric($value)) { // The value is numeric, we make sure it is an integer + $this->_value = date($this->_phpFormatString, (int)$value); + } else { + $timestamp = strtotime($value); + if ($timestamp === false || $timestamp == -1) { // cannot convert the value to a timestamp + require_once 'Zend/XmlRpc/Value/Exception.php'; + throw new Zend_XmlRpc_Value_Exception('Cannot convert given value \''. $value .'\' to a timestamp'); + } + + $this->_value = date($this->_phpFormatString, $timestamp); // Convert the timestamp to iso8601 format + } + } + + /** + * Return the value of this object as iso8601 dateTime value + * + * @return int As a Unix timestamp + */ + public function getValue() + { + return $this->_value; + } +}