1
0
mirror of synced 2024-11-28 16:26:06 +03:00

Add support to DateTime dates

This commit is contained in:
Sergey Linnik 2014-09-18 21:33:50 +04:00
parent e15b87fd0f
commit 9eefd8d8ba

View File

@ -1,4 +1,5 @@
<?php <?php
namespace IntaroCrm; namespace IntaroCrm;
class RestApi class RestApi
@ -125,8 +126,8 @@ class RestApi
/** /**
* Получение последних измененных заказов * Получение последних измененных заказов
* *
* @param DateTime $startDate - начальная дата выборки * @param \DateTime|string|int $startDate - начальная дата и время выборки (Y-m-d H:i:s)
* @param DateTime $endDate - конечная дата * @param \DateTime|string|int $endDate - конечная дата и время выборки (Y-m-d H:i:s)
* @param int $limit - ограничение на размер выборки * @param int $limit - ограничение на размер выборки
* @param int $offset - сдвиг * @param int $offset - сдвиг
* @return array - массив заказов * @return array - массив заказов
@ -134,8 +135,8 @@ class RestApi
public function orderHistory($startDate = null, $endDate = null, $limit = 100, $offset = 0) public function orderHistory($startDate = null, $endDate = null, $limit = 100, $offset = 0)
{ {
$url = $this->apiUrl.'orders/history'; $url = $this->apiUrl.'orders/history';
$this->parameters['startDate'] = $startDate; $this->parameters['startDate'] = $this->ensureDateTime($startDate);
$this->parameters['endDate'] = $endDate; $this->parameters['endDate'] = $this->ensureDateTime($endDate);
$this->parameters['limit'] = $limit; $this->parameters['limit'] = $limit;
$this->parameters['offset'] = $offset; $this->parameters['offset'] = $offset;
@ -291,8 +292,8 @@ class RestApi
* *
* @param string $id - идентификатор клиента * @param string $id - идентификатор клиента
* @param string $by - поиск заказа по id или externalId * @param string $by - поиск заказа по id или externalId
* @param DateTime $startDate - начальная дата выборки * @param \DateTime|string|int $startDate - начальная дата выборки (Y-m-d H:i:s)
* @param DateTime $endDate - конечная дата * @param \DateTime|string|int $endDate - конечная дата выборки (Y-m-d H:i:s)
* @param int $limit - ограничение на размер выборки * @param int $limit - ограничение на размер выборки
* @param int $offset - сдвиг * @param int $offset - сдвиг
* @return array - массив заказов * @return array - массив заказов
@ -303,8 +304,8 @@ class RestApi
$url = $this->apiUrl.'customers/'.$id.'/orders'; $url = $this->apiUrl.'customers/'.$id.'/orders';
if ($by != 'externalId') if ($by != 'externalId')
$this->parameters['by'] = $by; $this->parameters['by'] = $by;
$this->parameters['startDate'] = $startDate; $this->parameters['startDate'] = $this->ensureDateTime($startDate);
$this->parameters['endDate'] = $endDate; $this->parameters['endDate'] = $this->ensureDateTime($endDate);
$this->parameters['limit'] = $limit; $this->parameters['limit'] = $limit;
$this->parameters['offset'] = $offset; $this->parameters['offset'] = $offset;
@ -541,10 +542,22 @@ class RestApi
/** /**
* @return \DateTime * @return \DateTime
*/ */
public function getGeneratedAt() { public function getGeneratedAt()
{
return $this->generatedAt; return $this->generatedAt;
} }
protected function ensureDateTime($value)
{
if ($value instanceof \DateTime) {
return $value->format('Y-m-d H:i:s');
} elseif (is_int($value)) {
return date('Y-m-d H:i:s', $value);
}
return $value;
}
protected function getErrorMessage($response) protected function getErrorMessage($response)
{ {
$str = ''; $str = '';