X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;ds=sidebyside;f=include%2Fphotos.php;h=9d8d3309c2bb49d0abce8e5e8a68e653021d5bc0;hb=0989f725a6e943a5abb21a9adb14edf212221403;hp=2beb23ffaf52001396db1ca34d48979bc9c09bdb;hpb=ba1cd57087cfaa9c978e43a86c973dd6459c2490;p=friendica.git diff --git a/include/photos.php b/include/photos.php index 2beb23ffaf..9d8d3309c2 100644 --- a/include/photos.php +++ b/include/photos.php @@ -4,6 +4,9 @@ * @brief Functions related to photo handling. */ +use \Friendica\Core\Config; +use \Friendica\Core\PConfig; + function getGps($exifCoord, $hemi) { $degrees = count($exifCoord) > 0 ? gps2Num($exifCoord[0]) : 0; $minutes = count($exifCoord) > 1 ? gps2Num($exifCoord[1]) : 0; @@ -42,16 +45,28 @@ function photo_albums($uid, $update = false) { $key = "photo_albums:".$uid.":".local_user().":".remote_user(); $albums = Cache::get($key); if (is_null($albums) OR $update) { - /// @todo This query needs to be renewed. It is really slow - // At this time we just store the data in the cache - $albums = qu("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album` - FROM `photo` USE INDEX (`uid_album_created`) - WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' $sql_extra - GROUP BY `album` ORDER BY `created` DESC", - intval($uid), - dbesc('Contact Photos'), - dbesc(t('Contact Photos')) - ); + if (!Config::get('system', 'no_count', false)) { + /// @todo This query needs to be renewed. It is really slow + // At this time we just store the data in the cache + $albums = qu("SELECT COUNT(DISTINCT `resource-id`) AS `total`, `album` + FROM `photo` + WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' $sql_extra + GROUP BY `album` ORDER BY `created` DESC", + intval($uid), + dbesc('Contact Photos'), + dbesc(t('Contact Photos')) + ); + } else { + // This query doesn't do the count and is much faster + $albums = qu("SELECT DISTINCT(`album`), '' AS `total` + FROM `photo` + WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s' $sql_extra + GROUP BY `album` ORDER BY `created` DESC", + intval($uid), + dbesc('Contact Photos'), + dbesc(t('Contact Photos')) + ); + } Cache::set($key, $albums, CACHE_DAY); } return $albums;