[Php-blog-plugin-cvs] additional_plugins/serendipity_event_gravatar ChangeLog, 1.24, 1.25 serendipi
A reliable, secure & extensible PHP blog | Not mainstream since 2002
Brought to you by:
garvinhicking,
jhermanns
From: Grischa B. <bro...@us...> - 2007-10-25 11:01:57
|
Update of /cvsroot/php-blog/additional_plugins/serendipity_event_gravatar In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29141/serendipity_event_gravatar Modified Files: ChangeLog serendipity_event_gravatar.php Log Message: event_gravatar: * MyBlogLog default avatar was not detected correctly anmore. :-/ * If no email nor url is given, but default avatar is defined, now the default avatar is displayed. Index: serendipity_event_gravatar.php =================================================================== RCS file: /cvsroot/php-blog/additional_plugins/serendipity_event_gravatar/serendipity_event_gravatar.php,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- serendipity_event_gravatar.php 6 Sep 2007 02:13:03 -0000 1.44 +++ serendipity_event_gravatar.php 25 Oct 2007 11:01:56 -0000 1.45 @@ -14,7 +14,7 @@ include dirname(__FILE__) . '/lang_en.inc.php'; // Actual version of this plugin -@define('PLUGIN_EVENT_GRAVATAR_VERSION', '1.31'); +@define('PLUGIN_EVENT_GRAVATAR_VERSION', '1.32'); // Defines the maximum available method slots in the configuration. @define('PLUGIN_EVENT_GRAVATAR_METHOD_MAX', 5); @@ -221,12 +221,14 @@ $info = array(); $info['url'] = $this->urldecode($parts[1]); $info['email_md5'] = $parts[2]; + $this->log("-------"); $this->log("fetch Avatar: " . urldecode($parts[1])); $this->fetchAvatar(1, $info); return true; } else if ($parts[0] == 'cachedAvatar') { $cache_file = $this->getCacheDirectory() . '/' . $parts[1] .'_' .$parts[2]; $lastrun = $cache_file . '.lastrun'; + $this->log("-------"); $this->log("show cached Avatar: $cache_file"); // Get last run information if (file_exists($lastrun)){ @@ -296,7 +298,8 @@ global $serendipity; $url = ''; - if (empty($eventData['url']) && empty($eventData['email'])) { + if (empty($eventData['url']) && empty($eventData['email']) && !$this->supportDefaultAvatar()) { + $this->log("No url nor email handed and default avatar not supported!"); return false; } @@ -333,6 +336,27 @@ } /** + * Tests wether the default avatar is supported + */ + function supportDefaultAvatar(){ + + // Check if a default avatar is defined + $default = $this->getDefaultImageConfiguration(); + if (empty($default['defaultavatar'])) { + return false; + } + + // check if default avatar method is configured as one of the avatar methods. + for($methodnr = 1; $methodnr <= PLUGIN_EVENT_GRAVATAR_METHOD_MAX; $methodnr++){ + $method = $this->get_config("method_" . $methodnr); + if ($method == 'default'){ + return true; + } + } + return false; + } + + /** * Will try to fetch a fresh avatar image by user configuration. If retreiving was successfull, * the image will cached and displayed as binary image response. */ @@ -459,7 +483,7 @@ } $favicon = false; - $this->log("P/F - Trying to fetch for $url"); + $this->log($mode . " - Trying to fetch for $url"); // Try to get the URL $parts = @parse_url($url); @@ -472,14 +496,14 @@ return false; } - $this->log("P/F - URL ok."); + $this->log($mode . " - URL ok."); $cache_file = $this->getCacheFilePath($eventData); // Load icon url detected in last run if (isset($this->avatarConfiguration['img_url_'.$mode])){ $favicon = $this->avatarConfiguration['img_url_'.$mode]; - $this->log("P/F - using last run url: $favicon"); + $this->log($mode . " - using last run url: $favicon"); } if ($favicon === false) { @@ -499,7 +523,7 @@ if (!$islocalhost && (PEAR::isError($req->sendRequest()) || preg_match($responses, $req->getResponseCode()))) { // nothing to do, $favicon = false; - $this->log("Error fetching $url: " . $req->getResponseCode()); + $this->log($mode . " - Error fetching $url: " . $req->getResponseCode()); } else { $fContent = $req->getResponseBody(); @@ -556,7 +580,7 @@ fwrite($socket, "HEAD " . $documentpath . " HTTP/1.0\r\nHost: {$url_parts['host']}\r\n\r\n"); $http_response = fgets($socket, 22); - $this->log("P/F HEAD Response: $http_response"); + $this->log($mode . " - HEAD Response: $http_response"); if (preg_match($responses, $http_response)) { $favicon = $faviconURL; @@ -574,7 +598,7 @@ } // if favicon url not loaded from cache if (!empty($favicon)) { - $this->log("P/F found at: $favicon"); + $this->log($mode . " - found at: $favicon"); return $this->saveAndResponseAvatar($eventData, $favicon); } else { @@ -627,12 +651,12 @@ // if the request leads to an error we don't want to have it: return false if (PEAR::isError($req->sendRequest()) || ($req->getResponseCode() != '200')) { $fContent = null; - $this->log("P/F save fetch error: " . $req->getResponseCode()); + $this->log("Avatar fetch error: " . $req->getResponseCode()); } else { // Allow only images as Avatar! $mime = $req->getResponseHeader("content-type"); - $this->log("P/F Mimetype: $mime"); + $this->log("Avatar fetch mimetype: $mime"); $mimeparts = explode('/',$mime); if (count($mimeparts)==2 && $mimeparts[0]=='image') { $fContent = $req->getResponseBody(); @@ -676,7 +700,8 @@ $this->log("Loaded dummy MD5: " . $this->mybloglog_dummy_md5); } else { // dummy MD5 file was not cached or was too old. We have to fetch the dummy icon now - $dummyurl = 'http://pub.mybloglog.com/coiserv.php?href=http://grunz.grunz.grunz&n=test'; + $dummyurl = 'http://pub.mybloglog.com/coiserv.php?href=http://grunz.grunz.grunz&n=*'; + $this->log("trying dummyUrl: " . $dummyurl); if (function_exists('serendipity_request_start')) { serendipity_request_start(); } @@ -685,11 +710,26 @@ if (function_exists('serendipity_request_start')) { serendipity_request_end(); } + $this->avatarConfiguration["mybloglog_dummy_error!"]=$reqdummy->getResponseCode(); // unable to fetch a dummy picture! $this->log("unable to fetch a dummy picture!" . $dummyurl); return false; // what can we say else.. } else { + + // Allow only images as Avatar! + $mime = $reqdummy->getResponseHeader("content-type"); + $this->log("MyBlogLog Avatar fetch mimetype: $mime"); + $mimeparts = explode('/',$mime); + if (count($mimeparts)!=2 || $mimeparts[0]!='image') { + // unable to fetch a dummy picture! + $this->log("unable to fetch a dummy picture!" . $dummyurl); + if (function_exists('serendipity_request_start')) { + serendipity_request_end(); + } + return false; // what can we say else.. + } + $fContent = $reqdummy->getResponseBody(); $this->mybloglog_dummy_md5 = md5($fContent); // Save MD5 of dummy icon for later runs Index: ChangeLog =================================================================== RCS file: /cvsroot/php-blog/additional_plugins/serendipity_event_gravatar/ChangeLog,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- ChangeLog 6 Sep 2007 02:13:03 -0000 1.24 +++ ChangeLog 25 Oct 2007 11:01:56 -0000 1.25 @@ -1,6 +1,13 @@ # $Id$ ------------------------------------------------------------------------ +Version 1.32 (brockhaus): + + * MyBlogLog default avatar was not detected correctly anmore. :-/ + * If no email nor url is given, but default avatar is defined, now + the default avatar is displayed. + +------------------------------------------------------------------------ Version 1.31 (brockhaus): * Changed call-time pass-by-reference bug (fetchAvatar) |