From 5aa9de3364328cfc26a305de34cdffefcd8688dc Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Tue, 3 Nov 2009 17:43:18 -0500 Subject: [PATCH] Added a Bitly URL Shortener. Unfortunately, it doesn't work, as bit.ly requires credentials to shorten URLs now, and we presently have no way to provide them. --- plugins/BitlyUrl/BitlyUrlPlugin.php | 61 +++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 plugins/BitlyUrl/BitlyUrlPlugin.php diff --git a/plugins/BitlyUrl/BitlyUrlPlugin.php b/plugins/BitlyUrl/BitlyUrlPlugin.php new file mode 100644 index 0000000000..478ef99d28 --- /dev/null +++ b/plugins/BitlyUrl/BitlyUrlPlugin.php @@ -0,0 +1,61 @@ +. + * + * @category Plugin + * @package StatusNet + * @author Craig Andrews + * @copyright 2009 Craig Andrews http://candrews.integralblue.com + * @license http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0 + * @link http://status.net/ + */ + +if (!defined('STATUSNET')) { + exit(1); +} + +class BitlyUrlPlugin extends Plugin +{ + function __construct() + { + parent::__construct(); + } + + function onInitializePlugin(){ + $this->registerUrlShortener( + 'bit.ly', + array(), + array('BitlyUrl',array('http://bit.ly/api?method=shorten&long_url=')) + ); + } +} + +class BitlyUrl extends ShortUrlApi +{ + protected function shorten_imp($url) { + $response = $this->http_get($url); + if(!$response){ + return $url; + }else{ + return current(json_decode($response)->results)->hashUrl; + } + } +} +