Example #1
0
 /**
  * @param $data
  * @param $albumId
  *
  * @return $this
  * @throws \Yandex\Fotki\Exception\Api\Photo
  */
 public function sendPhoto($data, $albumId)
 {
     if ($albumId) {
         $apiUrl = sprintf("http://api-fotki.yandex.ru/api/users/%s/album/%s/photos/?format=json", $this->_login, trim($albumId));
     } else {
         $apiUrl = sprintf("http://api-fotki.yandex.ru/api/users/%s/photos/?format=json", $this->_login);
     }
     $photo = new \Yandex\Fotki\Api\Photo($this->_transport, $apiUrl);
     return $photo->upload($data);
 }
 /**
  * @param \Yandex\Fotki\Api\Photo $photo
  *
  * @return bool
  */
 public function filter(Photo $photo)
 {
     return $photo->getTitle() == $this->filterTitle;
 }
Example #3
0
 /**
  * Редактирование фотографии
  *
  * <h1>Примеры</h1>
  *
  * <h2>Изменение заголовка</h2>
  * <code>
  * <?php
  * $photo = $api->getPhoto(12345678)->load();
  * $photo->setTitle('Новое название');
  *
  * $updatedPhoto = $api->updatePhoto($photo)->load();
  * echo $updatedPhoto->getTitle();
  * ?>
  * </code>
  *
  * <h2>Изменение ссылки на родительский альбом</h2>
  * <code>
  * <?php
  * $photo = $api->getPhoto(12345678)->load();
  * $photo->setAlbumId(654321);
  *
  * $updatedPhoto = $api->updatePhoto($photo)->load();
  * echo $updatedPhoto->getAlbumId();
  * ?>
  * </code>
  *
  * @param \Yandex\Fotki\Api\Photo $photo
  *
  * @return \Yandex\Fotki\Api\Photo Фотография, которую нужно обновить
  * @throws \Yandex\Fotki\Exception\Api\Photo Если призошла ошибка во время запроса на обновление
  * @throws \Yandex\Fotki\Exception\InvalidCall Если произошла ошибка при геренации XML
  */
 public function updatePhoto(Photo $photo)
 {
     $oAuthToken = $this->_transport->getOAuthToken();
     $fimpToken = $this->_transport->getFimpToken();
     $body = $photo->getAtomEntryForSave()->asXML();
     $headers = array('Authorization' => $oAuthToken ? "OAuth {$oAuthToken}" : "FimpToken realm=\"fotki.yandex.ru\", token=\"{$fimpToken}\"", 'Content-Type' => 'application/atom+xml; type=entry');
     $response = Request::put($photo->getApiUrlEdit(), $headers, $body);
     if ($response->code === 200) {
         $url = sprintf("http://api-fotki.yandex.ru/api/users/%s/photo/%s/?format=json", $this->_login, intval($photo->getId()));
         return new Photo($this->_transport, $url);
     } else {
         throw new \Yandex\Fotki\Exception\Api\Photo($response->body, $response->code);
     }
 }