]> git.mxchange.org Git - friendica.git/commitdiff
Use Config class/Option to deactivate the count on albums
authorMichael <heluecht@pirati.ca>
Sat, 7 Jan 2017 09:05:52 +0000 (09:05 +0000)
committerMichael <heluecht@pirati.ca>
Sat, 7 Jan 2017 09:05:52 +0000 (09:05 +0000)
doc/htconfig.md
include/dbclean.php
include/photos.php

index 90bf78b87294d615a019cb06b6cf1c94e95bcdaf..05a2a7a963aa87ee10baf338d376bc1d1ad9ea33 100644 (file)
@@ -46,7 +46,8 @@ Example: To set the directory value please add this line to your .htconfig.php:
 * **max_processes_frontend** - Maximum number of concurrent database processes for foreground tasks. Default value is 20.
 * **memcache** (Boolean) - Use memcache. To use memcache the PECL extension "memcache" has to be installed and activated.
 * **memcache_host** - Hostname of the memcache daemon. Default is '127.0.0.1'.
-* **memcache_port** - Portnumberof the memcache daemon. Default is 11211.
+* **memcache_port** - Portnumber of the memcache daemon. Default is 11211.
+* **no_count** (Boolean) - Don't do count calculations (currently only when showing albums)
 * **no_oembed** (Boolean) - Don't use OEmbed to fetch more information about a link.
 * **no_oembed_rich_content** (Boolean) - Don't show the rich content (e.g. embedded PDF).
 * **no_smilies** (Boolean) - Don't show smilies.
index 1f0e5834f7238a605a564bee81f3ac60ec0e0d4b..29c4173080f9ac6204a687573cd80b1c29b6ed12 100644 (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;
        }
 
index 2beb23ffaf52001396db1ca34d48979bc9c09bdb..7cdd14bf6d3e586894748de06292c933f7173058 100644 (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;