use Friendica\BaseFactory;
use Friendica\Database\DBA;
use Friendica\Factory\Api\Twitter\Status;
+use Friendica\Model\Item;
use Friendica\Model\Photo as ModelPhoto;
use Friendica\Model\Post;
use Friendica\Network\HTTPException;
if (empty($photos)) {
throw new HTTPException\NotFoundException();
}
- $data = $photos[0];
- $data['id'] = $data['resource-id'];
+ $data = $photos[0];
+
+ $data['media-id'] = $data['id'];
+ $data['id'] = $data['resource-id'];
+
if (is_int($scale)) {
$data['data'] = base64_encode(ModelPhoto::getImageDataForPhoto($data));
- } else {
- unset($data['datasize']); //needed only with scale param
}
if ($type == 'xml') {
$link = $this->baseUrl->get() . '/photo/' . $data['resource-id'] . '-' . $photo['scale'] . Images::getExtensionByMimeType($data['type']);
if ($type == 'xml') {
$data['links'][$photo['scale'] . ':link']['@attributes'] = [
- 'type' => $data['type'],
+ 'type' => $data['type'],
'scale' => $photo['scale'],
- 'href' => $link
+ 'href' => $link
];
} else {
$data['link'][$id] = $link;
}
+ if (is_null($scale)) {
+ $data['scales'][] = [
+ 'id' => $photo['id'],
+ 'scale' => $photo['scale'],
+ 'link' => $link,
+ 'width' => $photo['width'],
+ 'height' => $photo['height'],
+ 'size' => $photo['datasize'],
+ ];
+ }
}
unset($data['backend-class']);
unset($data['backend-ref']);
unset($data['resource-id']);
- unset($data['scale']);
if ($with_posts) {
// retrieve item element for getting activities (like, dislike etc.) related to photo
$condition = ['uid' => $uid, 'resource-id' => $photo_id];
+
$item = Post::selectFirst(['id', 'uid', 'uri', 'uri-id', 'parent', 'allow_cid', 'deny_cid', 'allow_gid', 'deny_gid'], $condition);
}
if (!empty($item)) {
// retrieve comments on photo
$condition = ["`parent` = ? AND `uid` = ? AND `gravity` IN (?, ?)",
- $item['parent'], $uid, GRAVITY_PARENT, GRAVITY_COMMENT];
+ $item['parent'], $uid, Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT];
$statuses = Post::selectForUser($uid, [], $condition);
} elseif ($with_posts) {
$data['friendica_activities'] = [];
$data['friendica_comments'] = [];
- $data['rights_mismatch'] = false;
+ $data['rights_mismatch'] = false;
}
return $data;