diff options
author | Mario Vavti <mario@mariovavti.com> | 2017-01-13 11:22:50 +0100 |
---|---|---|
committer | Mario Vavti <mario@mariovavti.com> | 2017-01-13 11:22:50 +0100 |
commit | 8ef84e2aa74bdc280b6a450a553d71ba492a01cc (patch) | |
tree | 4d22243099613b40eb3c354de4701db3c14927fd | |
parent | bb0f3afb71add9dd8bf5cf160d1d2708a32f1119 (diff) | |
download | volse-hubzilla-8ef84e2aa74bdc280b6a450a553d71ba492a01cc.tar.gz volse-hubzilla-8ef84e2aa74bdc280b6a450a553d71ba492a01cc.tar.bz2 volse-hubzilla-8ef84e2aa74bdc280b6a450a553d71ba492a01cc.zip |
possibly improve the album list query and save the result in App::$data
-rw-r--r-- | Zotlabs/Module/Photos.php | 15 | ||||
-rw-r--r-- | include/photos.php | 15 |
2 files changed, 17 insertions, 13 deletions
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php index c0fce1007..ef1eee399 100644 --- a/Zotlabs/Module/Photos.php +++ b/Zotlabs/Module/Photos.php @@ -691,20 +691,17 @@ class Photos extends \Zotlabs\Web\Controller { } $album = (($datum) ? hex2bin($datum) : ''); - - + \App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n"; - - $r = q("SELECT resource_id, max(imgscale) AS imgscale FROM photo WHERE uid = %d AND album = '%s' - AND imgscale <= 4 and photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id", + + //check if the album exists and if we have perms + $r = q("SELECT album FROM photo WHERE uid = %d AND album = '%s' and is_nsfw = %d $sql_extra LIMIT 1", intval($owner_uid), dbesc($album), - intval(PHOTO_NORMAL), - intval(PHOTO_PROFILE), intval($unsafe) ); - if(count($r)) { - \App::set_pager_total(count($r)); + + if($r) { \App::set_pager_itemspage(60); } else { goaway(z_root() . '/photos/' . \App::$data['channel']['channel_address']); diff --git a/include/photos.php b/include/photos.php index 8496c2c86..7ddbe43b9 100644 --- a/include/photos.php +++ b/include/photos.php @@ -464,10 +464,15 @@ function photos_albums_list($channel, $observer, $sort_key = 'album', $direction $sort_key = dbesc($sort_key); $direction = dbesc($direction); - $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and photo_usage IN ( %d, %d ) $sql_extra group by album order by $sort_key $direction", - intval($channel_id), - intval(PHOTO_NORMAL), - intval(PHOTO_PROFILE) + //$albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and photo_usage IN ( %d, %d ) $sql_extra group by album order by $sort_key $direction", + // intval($channel_id), + // intval(PHOTO_NORMAL), + // intval(PHOTO_PROFILE) + //); + + // this query provides the same results but might perform better + $albums = q("SELECT count( distinct resource_id ) as total, album from photo where uid = %d and os_storage = 1 $sql_extra group by album order by $sort_key $direction", + intval($channel_id) ); // add various encodings to the array so we can just loop through and pick them out in a template @@ -490,6 +495,8 @@ function photos_albums_list($channel, $observer, $sort_key = 'album', $direction } } + App::$data['albums'] = $ret; + return $ret; } |