diff options
author | zotlabs <mike@macgirvin.com> | 2017-12-10 15:54:40 -0800 |
---|---|---|
committer | zotlabs <mike@macgirvin.com> | 2017-12-10 15:54:40 -0800 |
commit | fca1a7506e2f60164ac885f60a6ce1ef03cfa865 (patch) | |
tree | 5ae57547b686d6c1ab2316df1dd7fc40a8ccade8 | |
parent | 27bc5fa4b0f66c47f668c6c6efda77f9732bb603 (diff) | |
download | volse-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.php | 19 |
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']) |