diff --git a/src/getjump/Vk/Response/Api.php b/src/getjump/Vk/Response/Api.php index b052c5c..5de601c 100644 --- a/src/getjump/Vk/Response/Api.php +++ b/src/getjump/Vk/Response/Api.php @@ -22,7 +22,15 @@ class Api */ public function __construct($data, $callback = false) { - $this->response = !isset($data->response) ? false : new Response($data->response, $callback); + if (!isset($data->response)) { + $this->response = false; + } else { + if (!is_object($data->response) && !is_array($data->response)) { + $this->response = new Response($data, $callback); + } else { + $this->response = new Response($data->response, $callback); + } + } $this->error = !isset($data->error) ? false : new Error($data->error); } diff --git a/src/getjump/Vk/Response/Response.php b/src/getjump/Vk/Response/Response.php index 6f6cf83..0b50f41 100644 --- a/src/getjump/Vk/Response/Response.php +++ b/src/getjump/Vk/Response/Response.php @@ -56,7 +56,7 @@ public function __construct($data, $callback = false) } $this->count = !isset($data->count) ? false : $data->count; if (is_array($data) || !isset($data->items)) { - $this->count = count($data); + $this->count = count((array) $data); if (is_array($data) && is_callable($callback)) { foreach ($data as $d) { $this->data[] = call_user_func_array($callback, [$d]);