X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FWikiHowProfile%2FWikiHowProfilePlugin.php;h=a0cbe567f73ac5836c018b4cda7c0a4d3edd2482;hb=546a03b5eac5f172d543a889625e2f4de446e8b7;hp=fa683c4836e7dc643246c43cd11acac2bd9df7a3;hpb=42dd460d3b9aa9a8ad147d00de9b6c8e209ab4e9;p=quix0rs-gnu-social.git diff --git a/plugins/WikiHowProfile/WikiHowProfilePlugin.php b/plugins/WikiHowProfile/WikiHowProfilePlugin.php index fa683c4836..a0cbe567f7 100644 --- a/plugins/WikiHowProfile/WikiHowProfilePlugin.php +++ b/plugins/WikiHowProfile/WikiHowProfilePlugin.php @@ -49,13 +49,14 @@ if (!defined('STATUSNET')) { */ class WikiHowProfilePlugin extends Plugin { - function onPluginVersion(&$versions) + function onPluginVersion(array &$versions) { $versions[] = array('name' => 'WikiHow avatar fetcher', - 'version' => STATUSNET_VERSION, + 'version' => GNUSOCIAL_VERSION, 'author' => 'Brion Vibber', 'homepage' => 'http://status.net/wiki/Plugin:Sample', 'rawdescription' => + // TRANS: Plugin description. _m('Fetches avatar and other profile information for WikiHow users when setting up an account via OpenID.')); return true; } @@ -121,7 +122,8 @@ class WikiHowProfilePlugin extends Plugin $client = HTTPClient::start(); $response = $client->get($profileUrl); if (!$response->isOk()) { - throw new Exception("WikiHow profile page fetch failed."); + // TRANS: Exception thrown when fetching a WikiHow profile page fails. + throw new Exception(_m('WikiHow profile page fetch failed.')); // HTTP error response already logged. return false; } @@ -137,7 +139,8 @@ class WikiHowProfilePlugin extends Plugin error_reporting($old); if (!$ok) { - throw new Exception("HTML parse failure during check for WikiHow avatar."); + // TRANS: Exception thrown when parsing a WikiHow profile page fails. + throw new Exception(_m('HTML parse failure during check for WikiHow avatar.')); return false; } @@ -168,26 +171,35 @@ class WikiHowProfilePlugin extends Plugin private function saveAvatar($user, $url) { if (!common_valid_http_url($url)) { - throw new ServerException(sprintf(_m("Invalid avatar URL %s."), $url)); + // TRANS: Server exception thrown when an avatar URL is invalid. + // TRANS: %s is the invalid avatar URL. + throw new ServerException(sprintf(_m('Invalid avatar URL %s.'), $url)); } - // @fixme this should be better encapsulated + // @todo FIXME: This should be better encapsulated // ripped from OStatus via oauthstore.php (for old OMB client) - $temp_filename = tempnam(sys_get_temp_dir(), 'listener_avatar'); - if (!copy($url, $temp_filename)) { - throw new ServerException(sprintf(_m("Unable to fetch avatar from %s."), $url)); - } - - $profile = $user->getProfile(); - $id = $profile->id; - // @fixme should we be using different ids? + $temp_filename = tempnam(common_get_temp_dir(), 'listener_avatar'); + try { + if (!copy($url, $temp_filename)) { + // TRANS: Exception thrown when fetching an avatar from a URL fails. + // TRANS: %s is a URL. + throw new ServerException(sprintf(_m('Unable to fetch avatar from %s.'), $url)); + } - $imagefile = new ImageFile($id, $temp_filename); - $filename = Avatar::filename($id, - image_type_to_extension($imagefile->type), - null, - common_timestamp()); - rename($temp_filename, Avatar::path($filename)); + $profile = $user->getProfile(); + $id = $profile->id; + // @fixme should we be using different ids? + + $imagefile = new ImageFile($id, $temp_filename); + $filename = Avatar::filename($id, + image_type_to_extension($imagefile->type), + null, + common_timestamp()); + rename($temp_filename, Avatar::path($filename)); + } catch (Exception $e) { + unlink($temp_filename); + throw $e; + } $profile->setOriginal($filename); } }