Пример #1
0
 /**
  * Get images owned by a user
  *
  * @param ImagesQuery $query An optional images query object
  * @return Model
  */
 public function getImages(ImagesQuery $query = null)
 {
     if (!$query) {
         $query = new ImagesQuery();
     }
     $params = array('user' => $this->getUser(), 'page' => $query->page(), 'limit' => $query->limit());
     if ($query->metadata()) {
         $params['metadata'] = true;
     }
     if ($from = $query->from()) {
         $params['from'] = $from;
     }
     if ($to = $query->to()) {
         $params['to'] = $to;
     }
     if ($fields = $query->fields()) {
         $params['fields'] = $fields;
     }
     if ($sort = $query->sort()) {
         $params['sort'] = $sort;
     }
     if ($ids = $query->ids()) {
         $params['ids'] = $ids;
     }
     if ($checksums = $query->checksums()) {
         $params['checksums'] = $checksums;
     }
     if ($originalChecksums = $query->originalChecksums()) {
         $params['originalChecksums'] = $originalChecksums;
     }
     $response = $this->getCommand('GetImages', $params)->execute();
     $response['images'] = array_map(array('ImboClient\\Helper\\PublicKeyFallback', 'fallback'), $response['images']);
     return $response;
 }
Пример #2
0
 public function testCanSetAndGetThePage()
 {
     $this->assertSame(1, $this->query->page());
     $this->assertSame($this->query, $this->query->page(10));
     $this->assertSame(10, $this->query->page());
 }
Пример #3
0
 public function testCanGetImagesUsingAQueryObject()
 {
     $this->setMockResponse($this->client, 'images_get');
     $query = new ImagesQuery();
     $query->page(2)->limit(5)->metadata(true)->from(123)->to(456)->fields(array('width'))->sort(array('size'))->ids(array('id1', 'id2'))->checksums(array('checksum1', 'checksum2'))->originalChecksums(array('checksum3', 'checksum4'));
     $response = $this->client->getImages($query);
     $requests = $this->getMockedRequests();
     $request = $requests[0];
     $this->assertSame('http://imbo/users/testuser/images.json?page=2&limit=5&metadata=1&from=123&to=456&fields[0]=width&sort[0]=size&ids[0]=id1&ids[1]=id2&checksums[0]=checksum1&checksums[1]=checksum2&originalChecksums[0]=checksum3&originalChecksums[1]=checksum4&accessToken=01b1aa98aefccd5a50e2325316401fb26976f4fe525b4f33de66f515f8ccd169', urldecode($request->getUrl()));
 }