aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorzotlabs <mike@macgirvin.com>2017-12-10 15:54:40 -0800
committerzotlabs <mike@macgirvin.com>2017-12-10 15:54:40 -0800
commitfca1a7506e2f60164ac885f60a6ce1ef03cfa865 (patch)
tree5ae57547b686d6c1ab2316df1dd7fc40a8ccade8
parent27bc5fa4b0f66c47f668c6c6efda77f9732bb603 (diff)
downloadvolse-hubzilla-fca1a7506e2f60164ac885f60a6ce1ef03cfa865.tar.gz
volse-hubzilla-fca1a7506e2f60164ac885f60a6ce1ef03cfa865.tar.bz2
volse-hubzilla-fca1a7506e2f60164ac885f60a6ce1ef03cfa865.zip
go back to including the photo thumbnail data in the export file. We have the ability to fetch each thumbnail directly if there is a problem with resource consumption, but this is the most efficient way to deal with it and most sites should be able to handle the memory consumption of our thumbnail data. The original full scale photo is a different issue; these can exhaust memory even before base64.
-rw-r--r--include/attach.php19
1 files changed, 17 insertions, 2 deletions
diff --git a/include/attach.php b/include/attach.php
index 4b8841a88..88b6fa8e7 100644
--- a/include/attach.php
+++ b/include/attach.php
@@ -2062,15 +2062,30 @@ function attach_export_data($channel, $resource_id, $deleted = false) {
if($attach_ptr['is_photo']) {
- $r = q("select aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,profile,is_nsfw,os_storage,display_path,photo_flags,allow_cid,allow_gid,deny_cid,deny_gid from photo where resource_id = '%s' and uid = %d order by imgscale asc",
+ // This query could potentially result in a few megabytes of data use.
+
+ $r = q("select * from photo where resource_id = '%s' and uid = %d order by imgscale asc",
dbesc($resource_id),
intval($channel['channel_id'])
);
-
if($r) {
+ for($x = 0; $x < count($r); $x ++) {
+ $r[$x]['content'] = base64_encode(dbunescbin($r[$x]['content']));
+ }
$ret['photo'] = $r;
}
+// This query can be used instead in memory starved environments. There will be a corresponding
+// performance hit during sync because the data will need to be fetched over the network.
+// $r = q("select aid,uid,xchan,resource_id,created,edited,title,description,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,profile,is_nsfw,os_storage,display_path,photo_flags,allow_cid,allow_gid,deny_cid,deny_gid from photo where resource_id = '%s' and uid = %d order by imgscale asc",
+// dbesc($resource_id),
+// intval($channel['channel_id'])
+// );
+
+// if($r) {
+// $ret['photo'] = $r;
+// }
+
$r = q("select * from item where resource_id = '%s' and resource_type = 'photo' and uid = %d ",
dbesc($resource_id),
intval($channel['channel_id'])