summaryrefslogtreecommitdiff
path: root/inc/IXR_Library.php
diff options
context:
space:
mode:
Diffstat (limited to 'inc/IXR_Library.php')
-rw-r--r--inc/IXR_Library.php75
1 files changed, 36 insertions, 39 deletions
diff --git a/inc/IXR_Library.php b/inc/IXR_Library.php
index 839298680..5ae1402b9 100644
--- a/inc/IXR_Library.php
+++ b/inc/IXR_Library.php
@@ -52,7 +52,7 @@ class IXR_Value {
* @param mixed $data
* @param bool $type
*/
- function IXR_Value($data, $type = false) {
+ function __construct($data, $type = false) {
$this->data = $data;
if(!$type) {
$type = $this->calculateType();
@@ -201,7 +201,7 @@ class IXR_Message {
/**
* @param string $message
*/
- function IXR_Message($message) {
+ function __construct($message) {
$this->message =& $message;
}
@@ -297,6 +297,7 @@ class IXR_Message {
* @param $tag
*/
function tag_close($parser, $tag) {
+ $value = null;
$valueFlag = false;
switch($tag) {
case 'int':
@@ -388,7 +389,7 @@ class IXR_Server {
* @param bool $data
* @param bool $wait
*/
- function IXR_Server($callbacks = false, $data = false, $wait = false) {
+ function __construct($callbacks = false, $data = false, $wait = false) {
$this->setCapabilities();
if($callbacks) {
$this->callbacks = $callbacks;
@@ -621,7 +622,7 @@ class IXR_Request {
* @param string $method
* @param array $args
*/
- function IXR_Request($method, $args) {
+ function __construct($method, $args) {
$this->method = $method;
$this->args = $args;
$this->xml = <<<EOD
@@ -684,7 +685,7 @@ class IXR_Client extends DokuHTTPClient {
* @param int $port
* @param int $timeout
*/
- function IXR_Client($server, $path = false, $port = 80, $timeout = 15) {
+ function __construct($server, $path = false, $port = 80, $timeout = 15) {
parent::__construct();
if(!$path) {
// Assume we have been given a URL instead
@@ -779,7 +780,7 @@ class IXR_Error {
* @param int $code
* @param string $message
*/
- function IXR_Error($code, $message) {
+ function __construct($code, $message) {
$this->code = $code;
$this->message = htmlspecialchars($message);
}
@@ -818,18 +819,14 @@ EOD;
* @since 1.5
*/
class IXR_Date {
- var $year;
- var $month;
- var $day;
- var $hour;
- var $minute;
- var $second;
- var $timezone;
+
+ /** @var DateTime */
+ protected $date;
/**
* @param int|string $time
*/
- function IXR_Date($time) {
+ public function __construct($time) {
// $time can be a PHP timestamp or an ISO one
if(is_numeric($time)) {
$this->parseTimestamp($time);
@@ -839,51 +836,48 @@ class IXR_Date {
}
/**
+ * Parse unix timestamp
+ *
* @param int $timestamp
*/
- function parseTimestamp($timestamp) {
- $this->year = gmdate('Y', $timestamp);
- $this->month = gmdate('m', $timestamp);
- $this->day = gmdate('d', $timestamp);
- $this->hour = gmdate('H', $timestamp);
- $this->minute = gmdate('i', $timestamp);
- $this->second = gmdate('s', $timestamp);
- $this->timezone = '';
+ protected function parseTimestamp($timestamp) {
+ $this->date = new DateTime('@' . $timestamp);
}
/**
+ * Parses less or more complete iso dates and much more, if no timezone given assumes UTC
+ *
* @param string $iso
*/
- function parseIso($iso) {
- if(preg_match('/^(\d\d\d\d)-?(\d\d)-?(\d\d)([T ](\d\d):(\d\d)(:(\d\d))?)?/', $iso, $match)) {
- $this->year = (int) $match[1];
- $this->month = (int) $match[2];
- $this->day = (int) $match[3];
- $this->hour = (int) $match[5];
- $this->minute = (int) $match[6];
- $this->second = (int) $match[8];
- }
+ protected function parseIso($iso) {
+ $this->date = new DateTime($iso, new DateTimeZone("UTC"));
}
/**
+ * Returns date in ISO 8601 format
+ *
* @return string
*/
- function getIso() {
- return $this->year . $this->month . $this->day . 'T' . $this->hour . ':' . $this->minute . ':' . $this->second . $this->timezone;
+ public function getIso() {
+ return $this->date->format(DateTime::ISO8601);
}
/**
+ * Returns date in valid xml
+ *
* @return string
*/
- function getXml() {
+ public function getXml() {
return '<dateTime.iso8601>' . $this->getIso() . '</dateTime.iso8601>';
}
/**
+ * Returns Unix timestamp
+ *
* @return int
*/
function getTimestamp() {
- return gmmktime($this->hour, $this->minute, $this->second, $this->month, $this->day, $this->year);
+ return $this->date->getTimestamp();
}
}
@@ -899,7 +893,7 @@ class IXR_Base64 {
/**
* @param string $data
*/
- function IXR_Base64($data) {
+ function __construct($data) {
$this->data = $data;
}
@@ -923,7 +917,10 @@ class IXR_IntrospectionServer extends IXR_Server {
/** @var string[] */
var $help;
- function IXR_IntrospectionServer() {
+ /**
+ * Constructor
+ */
+ function __construct() {
$this->setCallbacks();
$this->setCapabilities();
$this->capabilities['introspection'] = array(
@@ -1106,8 +1103,8 @@ class IXR_ClientMulticall extends IXR_Client {
* @param string|bool $path
* @param int $port
*/
- function IXR_ClientMulticall($server, $path = false, $port = 80) {
- parent::IXR_Client($server, $path, $port);
+ function __construct($server, $path = false, $port = 80) {
+ parent::__construct($server, $path, $port);
//$this->useragent = 'The Incutio XML-RPC PHP Library (multicall client)';
}