Fetch thumbnails and store it in filesystem or DB; update xchan profile edit time on fetch
This commit is contained in:
parent
775285cdf8
commit
074ee656f0
@ -1345,6 +1345,7 @@ function sync_files($channel, $files) {
|
|||||||
logger('attachment store failed',LOGGER_NORMAL,LOG_ERR);
|
logger('attachment store failed',LOGGER_NORMAL,LOG_ERR);
|
||||||
}
|
}
|
||||||
if($f['photo']) {
|
if($f['photo']) {
|
||||||
|
|
||||||
foreach($f['photo'] as $p) {
|
foreach($f['photo'] as $p) {
|
||||||
unset($p['id']);
|
unset($p['id']);
|
||||||
$p['aid'] = $channel['channel_account_id'];
|
$p['aid'] = $channel['channel_account_id'];
|
||||||
@ -1366,6 +1367,7 @@ function sync_files($channel, $files) {
|
|||||||
dbesc($p['resource_id']),
|
dbesc($p['resource_id']),
|
||||||
intval($channel['channel_id'])
|
intval($channel['channel_id'])
|
||||||
);
|
);
|
||||||
|
$update_xchan = $p['edited'];
|
||||||
}
|
}
|
||||||
|
|
||||||
// same for cover photos
|
// same for cover photos
|
||||||
@ -1385,7 +1387,7 @@ function sync_files($channel, $files) {
|
|||||||
else
|
else
|
||||||
$p['content'] = (($p['content'])? base64_decode($p['content']) : '');
|
$p['content'] = (($p['content'])? base64_decode($p['content']) : '');
|
||||||
|
|
||||||
if(intval($p['imgscale']) && intval($p['os_storage']) && (! empty($p['content']))) {
|
if(intval($p['imgscale']) && (! empty($p['content']))) {
|
||||||
|
|
||||||
$time = datetime_convert();
|
$time = datetime_convert();
|
||||||
|
|
||||||
@ -1395,10 +1397,10 @@ function sync_files($channel, $files) {
|
|||||||
'resource' => $p['resource_id'],
|
'resource' => $p['resource_id'],
|
||||||
'revision' => 0,
|
'revision' => 0,
|
||||||
'signature' => base64url_encode(rsa_sign($channel['channel_hash'] . '.' . $time, $channel['channel_prvkey'])),
|
'signature' => base64url_encode(rsa_sign($channel['channel_hash'] . '.' . $time, $channel['channel_prvkey'])),
|
||||||
'resolution' => $p['imgscale']
|
'resolution' => intval($p['imgscale'])
|
||||||
);
|
);
|
||||||
|
|
||||||
$stored_image = $newfname . '-' . intval($p['imgscale']);
|
$stored_image = $newfname . '-' . $p['imgscale'];
|
||||||
|
|
||||||
$fp = fopen($stored_image,'w');
|
$fp = fopen($stored_image,'w');
|
||||||
if(! $fp) {
|
if(! $fp) {
|
||||||
@ -1407,7 +1409,6 @@ function sync_files($channel, $files) {
|
|||||||
}
|
}
|
||||||
$redirects = 0;
|
$redirects = 0;
|
||||||
|
|
||||||
|
|
||||||
$headers = [];
|
$headers = [];
|
||||||
$headers['Accept'] = 'application/x-zot+json' ;
|
$headers['Accept'] = 'application/x-zot+json' ;
|
||||||
$headers['Sigtoken'] = random_string();
|
$headers['Sigtoken'] = random_string();
|
||||||
@ -1415,6 +1416,15 @@ function sync_files($channel, $files) {
|
|||||||
|
|
||||||
$x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]);
|
$x = z_post_url($fetch_url,$parr,$redirects,[ 'filep' => $fp, 'headers' => $headers]);
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
|
||||||
|
// Override remote hub thumbnails storage settings
|
||||||
|
if(! boolval(get_config('system','filesystem_storage_thumbnails', 0))) {
|
||||||
|
$p['os_storage'] = 0;
|
||||||
|
$p['content'] = file_get_contents($stored_image);
|
||||||
|
@unlink($stored_image);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
$p['os_storage'] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!isset($p['display_path']))
|
if(!isset($p['display_path']))
|
||||||
@ -1446,6 +1456,14 @@ function sync_files($channel, $files) {
|
|||||||
create_table_from_array('photo',$p, [ 'content' ] );
|
create_table_from_array('photo',$p, [ 'content' ] );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set xchan photo date to prevent thumbnails fetch for clones on profile update packet recieve
|
||||||
|
if(isset($update_xchan)) {
|
||||||
|
$x = q("UPDATE xchan SET xchan_photo_date = '%s' WHERE xchan_hash = '%s'",
|
||||||
|
dbescdate($update_xchan),
|
||||||
|
dbesc($channel['channel_hash'])
|
||||||
|
);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
\Zotlabs\Daemon\Master::Summon([ 'Thumbnail' , $att['hash'] ]);
|
\Zotlabs\Daemon\Master::Summon([ 'Thumbnail' , $att['hash'] ]);
|
||||||
|
Reference in New Issue
Block a user