forked from GNUsocial/gnu-social
actions
avatar
background
classes
db
doc-src
extlib
file
js
lib
local
locale
plugins
Adsense
Autocomplete
BitlyUrl
BitlyUrlPlugin.php
Blacklist
BlankAd
CasAuthentication
Comet
EmailAuthentication
Enjit
Facebook
FirePHP
Gravatar
Imap
InfiniteScroll
LdapAuthentication
LdapAuthorization
LilUrl
Mapstraction
Meteor
Minify
Mobile
MobileProfile
Mollom
OStatus
OpenID
OpenX
Orbited
PostDebug
PoweredByStatusNet
PtitUrl
RSSCloud
Realtime
Recaptcha
RegisterThrottle
RequireValidatedEmail
ReverseUsernameAuthentication
Sample
SimpleUrl
SphinxSearch
TightUrl
TwitterBridge
UrlShortener
UserFlag
APCPlugin.php
BlogspamNetPlugin.php
CacheLogPlugin.php
DiskCachePlugin.php
GeoURLPlugin.php
GeonamesPlugin.php
GoogleAnalyticsPlugin.php
LinkbackPlugin.php
MemcachePlugin.php
PiwikAnalyticsPlugin.php
SubscriptionThrottlePlugin.php
TemplatePlugin.php
UserLimitPlugin.php
WikiHashtagsPlugin.php
XCachePlugin.php
scripts
tests
theme
tpl
.gitignore
COPYING
EVENTS.txt
Makefile
README
apple-touch-icon.png
config.php.sample
favicon.ico
htaccess.sample
index.php
install.php
lighttpd.conf.example
67 lines
2.2 KiB
PHP
67 lines
2.2 KiB
PHP
<?php
|
|
/**
|
|
* StatusNet, the distributed open-source microblogging tool
|
|
*
|
|
* Plugin to push RSS/Atom updates to a PubSubHubBub hub
|
|
*
|
|
* PHP version 5
|
|
*
|
|
* LICENCE: This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU Affero General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU Affero General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Affero General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
* @category Plugin
|
|
* @package StatusNet
|
|
* @author Craig Andrews <candrews@integralblue.com>
|
|
* @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);
|
|
}
|
|
|
|
require_once INSTALLDIR.'/plugins/UrlShortener/UrlShortenerPlugin.php';
|
|
|
|
class BitlyUrlPlugin extends UrlShortenerPlugin
|
|
{
|
|
public $serviceUrl;
|
|
|
|
function onInitializePlugin(){
|
|
parent::onInitializePlugin();
|
|
if(!isset($this->serviceUrl)){
|
|
throw new Exception("must specify a serviceUrl");
|
|
}
|
|
}
|
|
|
|
protected function shorten($url) {
|
|
$response = $this->http_get($url);
|
|
if(!$response) return;
|
|
return current(json_decode($response)->results)->hashUrl;
|
|
}
|
|
|
|
function onPluginVersion(&$versions)
|
|
{
|
|
$versions[] = array('name' => sprintf('BitlyUrl (%s)', $this->shortenerName),
|
|
'version' => STATUSNET_VERSION,
|
|
'author' => 'Craig Andrews',
|
|
'homepage' => 'http://status.net/wiki/Plugin:BitlyUrl',
|
|
'rawdescription' =>
|
|
sprintf(_m('Uses <a href="http://%1$s/">%1$s</a> URL-shortener service.'),
|
|
$this->shortenerName));
|
|
|
|
return true;
|
|
}
|
|
}
|
|
|