X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=plugins%2FBitlyUrl%2FBitlyUrlPlugin.php;h=5efd573896c4f3fd807a17b6b4b25a549352bdf2;hb=7a9777df053a9007b5eaa71f5437584065b615a5;hp=24a260ec40b3fc9542d9d4bc17a9e564a90d3952;hpb=7d64d8c78cfa102b91975598ef9e574d2ef14b8c;p=quix0rs-gnu-social.git diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php index 24a260ec40..5efd573896 100644 --- a/plugins/BitlyUrl/BitlyUrlPlugin.php +++ b/plugins/BitlyUrl/BitlyUrlPlugin.php @@ -36,7 +36,7 @@ if (!defined('STATUSNET')) { class BitlyUrlPlugin extends UrlShortenerPlugin { public $shortenerName = 'bit.ly'; - public $serviceUrl = 'http://bit.ly/api?method=shorten&version=2.0.1&longUrl=%s'; + public $serviceUrl = 'http://api.bit.ly/v3/shorten?longUrl=%s'; public $login; // To set a site-default when admins or users don't override it. public $apiKey; @@ -69,12 +69,10 @@ class BitlyUrlPlugin extends UrlShortenerPlugin * @return string shortened version of the url, or null if URL shortening failed */ protected function shorten($url) { + common_log(LOG_INFO, "bit.ly call for $url"); $response = $this->query($url); - if ($this->isOk($url, $response)) { - return $this->decode($url, $response->getBody()); - } else { - return null; - } + common_log(LOG_INFO, "bit.ly answer for $url is ".$response->getBody()); + return $this->decode($url, $response); } /** @@ -126,42 +124,25 @@ class BitlyUrlPlugin extends UrlShortenerPlugin /** * JSON decode for API result */ - protected function decode($url, $body) - { - $json = json_decode($body, true); - return $json['results'][$url]['shortUrl']; - } - - /** - * JSON decode for API result - */ - protected function isOk($url, $response) + protected function decode($url, $response) { - $code = 'unknown'; - $msg = ''; + $msg = "bit.ly returned unknown response with unknown message for $url"; if ($response->isOk()) { $body = $response->getBody(); 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; - } else if (isset($data['statusCode']) && $data['statusCode'] == 'ERROR') { - $code = $data['errorCode']; - $msg = $data['errorMessage']; + if ($json['status_code'] == 200) { + if (isset($json['data']['url'])) { + common_log(LOG_INFO, "bit.ly returned ".$json['data']['url']." as short URL for $url"); + return $json['data']['url']; } - } else if ($json['statusCode'] == 'ERROR') { - $code = $json['errorCode']; - $msg = $json['errorMessage']; - } - common_log(LOG_ERR, "bit.ly returned error $code $msg for $url"); - } - return false; + $msg = "bit.ly returned ".$json['status_code']." response, but didn't find expected URL $url in $body"; + }else{ + $msg = "bit.ly returned ".$json['status_code']." response with ".$json['status_txt']." for $url"; + } + } + common_log(LOG_ERR, $msg); + return null; } function onPluginVersion(&$versions)