]> git.mxchange.org Git - friendica.git/commitdiff
Hide the calculation for "previous" and "next" behind a setting
authorMichael <heluecht@pirati.ca>
Sun, 15 Jan 2017 14:50:26 +0000 (14:50 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 15 Jan 2017 14:50:26 +0000 (14:50 +0000)
mod/photos.php

index e23e4fcc924f18b727f2cf3862fb9e6d36c8c217..af4c60b268a25ec760ae2a8555b75a1d8fec08da 100644 (file)
@@ -10,6 +10,8 @@ require_once('include/tags.php');
 require_once('include/threads.php');
 require_once('include/Probe.php');
 
+use \Friendica\Core\Config;
+
 function photos_init(App $a) {
 
        if ($a->argc > 1)
@@ -1339,35 +1341,38 @@ function photos_content(App $a) {
                $prevlink = '';
                $nextlink = '';
 
-               if ($_GET['order'] === 'posted')
-                       $order = 'ASC';
-               else
-                       $order = 'DESC';
-
                /// @todo This query is totally bad, the whole functionality has to be changed
-               $prvnxt = qu("SELECT `resource-id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
-                       $sql_extra ORDER BY `created` $order ",
-                       dbesc($ph[0]['album']),
-                       intval($owner_uid)
-               );
+               // The query leads to a really intense used index.
+               // By now we hide it if someone wants to.
+               if (!Config::get('system', 'no_count', false)) {
+                       if ($_GET['order'] === 'posted')
+                               $order = 'ASC';
+                       else
+                               $order = 'DESC';
 
-               if (count($prvnxt)) {
-                       for($z = 0; $z < count($prvnxt); $z++) {
-                               if ($prvnxt[$z]['resource-id'] == $ph[0]['resource-id']) {
-                                       $prv = $z - 1;
-                                       $nxt = $z + 1;
-                                       if ($prv < 0)
-                                               $prv = count($prvnxt) - 1;
-                                       if ($nxt >= count($prvnxt))
-                                               $nxt = 0;
-                                       break;
-                               }
-                       }
-                       $edit_suffix = ((($cmd === 'edit') && ($can_post)) ? '/edit' : '');
-                       $prevlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$prv]['resource-id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
-                       $nextlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$nxt]['resource-id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
-               }
+                       $prvnxt = qu("SELECT `resource-id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
+                               $sql_extra ORDER BY `created` $order ",
+                               dbesc($ph[0]['album']),
+                               intval($owner_uid)
+                       );
 
+                       if (count($prvnxt)) {
+                               for($z = 0; $z < count($prvnxt); $z++) {
+                                       if ($prvnxt[$z]['resource-id'] == $ph[0]['resource-id']) {
+                                               $prv = $z - 1;
+                                               $nxt = $z + 1;
+                                               if ($prv < 0)
+                                                       $prv = count($prvnxt) - 1;
+                                               if ($nxt >= count($prvnxt))
+                                                       $nxt = 0;
+                                               break;
+                                       }
+                               }
+                               $edit_suffix = ((($cmd === 'edit') && ($can_post)) ? '/edit' : '');
+                               $prevlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$prv]['resource-id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
+                               $nextlink = 'photos/' . $a->data['user']['nickname'] . '/image/' . $prvnxt[$nxt]['resource-id'] . $edit_suffix . (($_GET['order'] === 'posted') ? '?f=&order=posted' : '');
+                       }
+               }
 
                if (count($ph) == 1)
                        $hires = $lores = $ph[0];