diff options
author | friendica <info@friendica.com> | 2014-04-13 18:30:06 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2014-04-13 18:30:06 -0700 |
commit | 769b0f6bc9ca66a0996c2d402359e5f463e25333 (patch) | |
tree | bec66428e29bafbb77902c4cc1d00b517f6d309b /include | |
parent | 73f459b68d64282b76d8e11b8cd066faf440387a (diff) | |
download | volse-hubzilla-769b0f6bc9ca66a0996c2d402359e5f463e25333.tar.gz volse-hubzilla-769b0f6bc9ca66a0996c2d402359e5f463e25333.tar.bz2 volse-hubzilla-769b0f6bc9ca66a0996c2d402359e5f463e25333.zip |
Often somebody will join the matrix with a dodgy cert and we'll sort that out but their profile photo will remain rainbow man (or the site default). However the photo_date has been updated so we won't try again. This checkin looks for such a failure and leaves the photo_date alone if the photo import failed.
Diffstat (limited to 'include')
-rw-r--r-- | include/photo/photo_driver.php | 2 | ||||
-rw-r--r-- | include/zot.php | 36 |
2 files changed, 26 insertions, 12 deletions
diff --git a/include/photo/photo_driver.php b/include/photo/photo_driver.php index 484550cb7..f5e915402 100644 --- a/include/photo/photo_driver.php +++ b/include/photo/photo_driver.php @@ -616,7 +616,7 @@ function import_profile_photo($photo,$xchan,$thing = false) { $type = 'image/jpeg'; } - return(array($photo,$thumb,$micro,$type)); + return(array($photo,$thumb,$micro,$type,$photo_failure)); } diff --git a/include/zot.php b/include/zot.php index c0916755f..c919b0981 100644 --- a/include/zot.php +++ b/include/zot.php @@ -728,7 +728,8 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED) { z_root() . '/photo/profile/l/' . $local[0]['channel_id'], z_root() . '/photo/profile/m/' . $local[0]['channel_id'], z_root() . '/photo/profile/s/' . $local[0]['channel_id'], - $arr['photo_mimetype'] + $arr['photo_mimetype'], + false ); } } @@ -736,16 +737,29 @@ function import_xchan($arr,$ud_flags = UPDATE_FLAGS_UPDATED) { $photos = import_profile_photo($arr['photo'],$xchan_hash); } if($photos) { - $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' - where xchan_hash = '%s' limit 1", - dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])), - dbesc($photos[0]), - dbesc($photos[1]), - dbesc($photos[2]), - dbesc($photos[3]), - dbesc($xchan_hash) - ); - + if($photos[4]) { + // importing the photo failed somehow. Leave the photo_date alone so we can try again at a later date. + // This often happens when somebody joins the matrix with a bad cert. + $r = q("update xchan set xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' + where xchan_hash = '%s' limit 1", + dbesc($photos[0]), + dbesc($photos[1]), + dbesc($photos[2]), + dbesc($photos[3]), + dbesc($xchan_hash) + ); + } + else { + $r = q("update xchan set xchan_photo_date = '%s', xchan_photo_l = '%s', xchan_photo_m = '%s', xchan_photo_s = '%s', xchan_photo_mimetype = '%s' + where xchan_hash = '%s' limit 1", + dbesc(datetime_convert('UTC','UTC',$arr['photo_updated'])), + dbesc($photos[0]), + dbesc($photos[1]), + dbesc($photos[2]), + dbesc($photos[3]), + dbesc($xchan_hash) + ); + } $what .= 'photo '; $changed = true; } |