aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2014-04-13 18:30:06 -0700
committerfriendica <info@friendica.com>2014-04-13 18:30:06 -0700
commit769b0f6bc9ca66a0996c2d402359e5f463e25333 (patch)
treebec66428e29bafbb77902c4cc1d00b517f6d309b /include
parent73f459b68d64282b76d8e11b8cd066faf440387a (diff)
downloadvolse-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.php2
-rw-r--r--include/zot.php36
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;
}