diff options
author | Brion Vibber <brion@pobox.com> | 2010-11-30 12:40:23 -0800 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-11-30 12:40:23 -0800 |
commit | bcccbd6d8afb8b022d80ca7fa558ac4dbb31d38b (patch) | |
tree | 51a3c790494a1eb103c984b836e4860d371de083 | |
parent | af31767b637849f4cc904a89e30ccc81b4f4df66 (diff) |
BitlyPlugin: fix for shortening URLs containing ampersand (&)
-rw-r--r-- | plugins/BitlyUrl/BitlyUrlPlugin.php | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php index 93a35b3f3..b4f80a50a 100644 --- a/plugins/BitlyUrl/BitlyUrlPlugin.php +++ b/plugins/BitlyUrl/BitlyUrlPlugin.php @@ -118,7 +118,7 @@ class BitlyUrlPlugin extends UrlShortenerPlugin $params = http_build_query(array( 'login' => $this->getLogin(), 'apiKey' => $this->getApiKey()), '', '&'); - $serviceUrl = sprintf($this->serviceUrl, $url) . '&' . $params; + $serviceUrl = sprintf($this->serviceUrl, urlencode($url)) . '&' . $params; $request = HTTPClient::start(); return $request->get($serviceUrl); @@ -145,6 +145,10 @@ class BitlyUrlPlugin extends UrlShortenerPlugin common_log(LOG_INFO, $body); $json = json_decode($body, true); if ($json['statusCode'] == 'OK') { + if (!isset($json['results'][$url])) { + common_log(LOG_ERR, "bit.ly returned OK response, but didn't find expected URL $url in $body"); + return false; + } $data = $json['results'][$url]; if (isset($data['shortUrl'])) { return true; |