Move mod/fbrowser to src\Modules\Attachment|Photos\Browser

This commit is contained in:
Philipp 2022-11-25 23:43:07 +01:00
parent a95e93c725
commit d0b16b2fc1
No known key found for this signature in database
GPG key ID: 24A7501396EB5432
24 changed files with 483 additions and 233 deletions

View file

@ -173,6 +173,59 @@ class Photo
return $photo;
}
/**
* Returns all browsable albums for a given user
*
* @param int $uid The given user
*
* @return array An array of albums
* @throws \Exception
*/
public static function getBrowsableAlbumsForUser(int $uid): array
{
$photos = DBA::toArray(
DBA::p(
"SELECT DISTINCT(`album`) AS `albume` FROM `photo` WHERE `uid` = ? AND NOT `photo-type` IN (?, ?)",
$uid,
static::CONTACT_AVATAR,
static::CONTACT_BANNER
)
);
return array_column($photos, 'album');
}
/**
* Returns browsable photos for a given user (optional and a given album)
*
* @param int $uid The given user id
* @param string|null $album (optional) The given album
*
* @return array All photos of the user/album
* @throws \Exception
*/
public static function getBrowsablePhotosForUser(int $uid, string $album = null): array
{
if (!empty($album)) {
$sqlExtra = sprintf("AND `album` = '%S' ", DBA::escape($album));
$sqlExtra2 = "";
} else {
$sqlExtra = '';
$sqlExtra2 = ' ORDER BY created DESC LIMIT 0, 10';
}
return DBA::toArray(
DBA::p(
"SELECT `resource-id`, ANY_VALUE(`id`) AS `id`, ANY_VALUE(`filename`) AS `filename`, ANY_VALUE(`type`) AS `type`,
min(`scale`) AS `hiq`, max(`scale`) AS `loq`, ANY_VALUE(`desc`) AS `desc`, ANY_VALUE(`created`) AS `created`
FROM `photo` WHERE `uid` = ? $sqlExtra AND NOT `photo-type` IN (?, ?)
GROUP BY `resource-id` $sqlExtra2",
$uid,
Photo::CONTACT_AVATAR,
Photo::CONTACT_BANNER
));
}
/**
* Check if photo with given conditions exists
*