Use Config class/Option to deactivate the count on albums

This commit is contained in:
Michael
2017-01-07 09:05:52 +00:00
parent cb5df4d715
commit 414c5ddae0
3 changed files with 32 additions and 12 deletions
+5 -1
View File
@@ -3,6 +3,10 @@
* @file include/dbclean.php
* @brief The script is called from time to time to clean the database entries and remove orphaned data.
*/
use \Friendica\Core\Config;
use \Friendica\Core\PConfig;
require_once("boot.php");
function dbclean_run(&$argv, &$argc) {
@@ -22,7 +26,7 @@ function dbclean_run(&$argv, &$argc) {
load_config('config');
load_config('system');
if (!get_config("system", "dbclean")) {
if (!Config::get('system', 'dbclean', false)) {
return;
}
+25 -10
View File
@@ -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` 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'))
);
} else {
// This query doesn't do the count and is much faster
$albums = qu("SELECT DISTINCT(`album`), '' AS `total`
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'))
);
}
Cache::set($key, $albums, CACHE_DAY);
}
return $albums;