summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2009-06-18 19:21:17 -0700
committerZach Copley <zach@controlyourself.ca>2009-06-18 19:21:17 -0700
commitcb0047b1442d8a5303abdb11cddcdd2a77b8ad8e (patch)
tree87aba5c4965e32b0d507a24d237bcdfe2b3d71f4
parente506f82cdf8d88186c425a3f58e15b5126fdb248 (diff)
This time, twitterstatusfetcher really DOES update changed and missing avatars!
-rwxr-xr-xscripts/twitterstatusfetcher.php61
1 files changed, 40 insertions, 21 deletions
diff --git a/scripts/twitterstatusfetcher.php b/scripts/twitterstatusfetcher.php
index 93a4ce92b..88605c349 100755
--- a/scripts/twitterstatusfetcher.php
+++ b/scripts/twitterstatusfetcher.php
@@ -351,38 +351,59 @@ class TwitterStatusFetcher extends Daemon
}
}
- function checkAvatar($user, $profile)
+ function checkAvatar($twitter_user, $profile)
{
global $config;
- $path_parts = pathinfo($user->profile_image_url);
- $newname = 'Twitter_' . $user->id . '_' .
+ $path_parts = pathinfo($twitter_user->profile_image_url);
+
+ $newname = 'Twitter_' . $twitter_user->id . '_' .
$path_parts['basename'];
$oldname = $profile->getAvatar(48)->filename;
- if ($newname != $oldname || $this->missingAvatarFile($profile)) {
+ if ($newname != $oldname) {
if (defined('SCRIPT_DEBUG')) {
common_debug('Avatar for Twitter user ' .
- "$profile->nickname has changed, or was missing locally.");
+ "$profile->nickname has changed.");
common_debug("old: $oldname new: $newname");
}
- $img_root = substr($path_parts['basename'], 0, -11);
- $ext = $path_parts['extension'];
- $mediatype = $this->getMediatype($ext);
+ $this->updateAvatars($twitter_user, $profile);
+ }
- foreach (array('mini', 'normal', 'bigger') as $size) {
- $url = $path_parts['dirname'] . '/' .
- $img_root . '_' . $size . ".$ext";
- $filename = 'Twitter_' . $user->id . '_' .
- $img_root . "_$size.$ext";
+ if ($this->missingAvatarFile($profile)) {
- if ($this->fetchAvatar($url, $filename)) {
- $this->updateAvatar($profile->id, $size, $mediatype, $filename);
- }
+ if (defined('SCRIPT_DEBUG')) {
+ common_debug('Twitter user ' . $profile->nickname .
+ ' is missing one or more local avatars.');
+ common_debug("old: $oldname new: $newname");
}
+
+ $this->updateAvatars($twitter_user, $profile);
+ }
+
+ }
+
+ function updateAvatars($twitter_user, $profile) {
+
+ global $config;
+
+ $path_parts = pathinfo($twitter_user->profile_image_url);
+
+ $img_root = substr($path_parts['basename'], 0, -11);
+ $ext = $path_parts['extension'];
+ $mediatype = $this->getMediatype($ext);
+
+ foreach (array('mini', 'normal', 'bigger') as $size) {
+ $url = $path_parts['dirname'] . '/' .
+ $img_root . '_' . $size . ".$ext";
+ $filename = 'Twitter_' . $twitter_user->id . '_' .
+ $img_root . "_$size.$ext";
+
+ $this->updateAvatar($profile->id, $size, $mediatype, $filename);
+ $this->fetchAvatar($url, $filename);
}
}
@@ -451,7 +472,7 @@ class TwitterStatusFetcher extends Daemon
$profile = Profile::staticGet($profile_id);
- if (!$profile) {
+ if (empty($profile)) {
if (defined('SCRIPT_DEBUG')) {
common_debug("Couldn't get profile: $profile_id!");
}
@@ -461,10 +482,8 @@ class TwitterStatusFetcher extends Daemon
$sizes = array('mini' => 24, 'normal' => 48, 'bigger' => 73);
$avatar = $profile->getAvatar($sizes[$size]);
+ // Delete the avatar, if present
if ($avatar) {
- if (defined('SCRIPT_DEBUG')) {
- common_debug("Deleting $size avatar for $profile->nickname.");
- }
$avatar->delete();
}
@@ -509,7 +528,7 @@ class TwitterStatusFetcher extends Daemon
$id = $avatar->insert();
- if (!$id) {
+ if (empty($id)) {
common_log_db_error($avatar, 'INSERT', __FILE__);
return null;
}