aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgit-marijus <mario@mariovavti.com>2017-07-18 13:56:09 +0200
committergit-marijus <mario@mariovavti.com>2017-07-18 13:56:56 +0200
commit9bd11afc62cbb5e6e11f6c677a61194ecf1f306d (patch)
tree78a4dd262fc61b68d2366310c4ad9ea1dace5287
parentb7d92d3a09e50f8cef0b2017c0500bcee9032a1c (diff)
downloadvolse-hubzilla-9bd11afc62cbb5e6e11f6c677a61194ecf1f306d.tar.gz
volse-hubzilla-9bd11afc62cbb5e6e11f6c677a61194ecf1f306d.tar.bz2
volse-hubzilla-9bd11afc62cbb5e6e11f6c677a61194ecf1f306d.zip
issue #827 provide backward compatibility for album links generated in earlier times before the ambiguity of photo album names was solved. This may provide incorrect results if two or more photo albums with the same basename exist in different directories of the file tree; but there is no easy way to solve that ambiguity - which is why the link format changed.
-rw-r--r--Zotlabs/Module/Photos.php2
-rw-r--r--include/photos.php9
2 files changed, 10 insertions, 1 deletions
diff --git a/Zotlabs/Module/Photos.php b/Zotlabs/Module/Photos.php
index d993c481e..18d7abc48 100644
--- a/Zotlabs/Module/Photos.php
+++ b/Zotlabs/Module/Photos.php
@@ -689,7 +689,7 @@ class Photos extends \Zotlabs\Web\Controller {
(SELECT resource_id, max(imgscale) imgscale FROM photo left join attach on folder = '%s' and photo.resource_id = attach.hash WHERE attach.uid = %d AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale)
ORDER BY created $order LIMIT %d OFFSET %d",
- dbesc($datum),
+ dbesc($x['hash']),
intval($owner_uid),
intval(PHOTO_NORMAL),
intval(PHOTO_PROFILE),
diff --git a/include/photos.php b/include/photos.php
index 1abfc1f6e..093a43095 100644
--- a/include/photos.php
+++ b/include/photos.php
@@ -592,6 +592,15 @@ function photos_album_exists($channel_id, $observer_hash, $album) {
intval($channel_id)
);
+ // partial backward compatibility with Hubzilla < 2.4 when we used the filename only
+ // (ambiguous which would get chosen if you had two albums of the same name in different directories)
+ if(!$r) {
+ $r = q("SELECT folder, hash, is_dir, filename, os_path, display_path FROM attach WHERE filename = '%s' AND is_dir = 1 AND uid = %d $sql_extra limit 1",
+ dbesc(hex2bin($album)),
+ intval($channel_id)
+ );
+ }
+
return (($r) ? $r[0] : false);
}