diff options
author | Keith Fernie <me@keithfernie.co.uk> | 2012-02-09 15:08:53 -0800 |
---|---|---|
committer | Keith Fernie <me@keithfernie.co.uk> | 2012-02-09 15:08:53 -0800 |
commit | 14ba3998ac61180f6aeefa399bfa3162067cb0ca (patch) | |
tree | 77aa3811552c77a79e7cec1504445f8f451961df | |
parent | ec26f88be9876b75044c37219018bf1337f8d61e (diff) | |
parent | 2c9cfb1fe9fe331cb386025643b2c23a32b25787 (diff) | |
download | volse-hubzilla-14ba3998ac61180f6aeefa399bfa3162067cb0ca.tar.gz volse-hubzilla-14ba3998ac61180f6aeefa399bfa3162067cb0ca.tar.bz2 volse-hubzilla-14ba3998ac61180f6aeefa399bfa3162067cb0ca.zip |
Merge pull request #30 from Keith2/master
Adds a custom YourLS url shortener to slinky.php
-rwxr-xr-x | library/slinky.php | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/library/slinky.php b/library/slinky.php index 51432c3f5..cae1f755f 100755 --- a/library/slinky.php +++ b/library/slinky.php @@ -153,7 +153,7 @@ class Slinky { public function set_service_from_url( $url = false ) { if ( !$url ) $url = $this->url; - + $host = parse_url( $url, PHP_URL_HOST ); switch ( str_replace( 'www.', '', $host ) ) { case 'bit.ly': @@ -181,6 +181,11 @@ class Slinky { $this->service = new Slinky_Fongs(); break; } + case $this->get( 'yourls-url' ): + if ( class_exists( 'Slinky_YourLS' ) ) { + $this->service = new Slinky_YourLS(); + break; + } case 'micurl.com': if ( class_exists( 'Slinky_Micurl' ) ) { $this->service = new Slinky_Micurl(); @@ -574,6 +579,31 @@ class Slinky_Fongs extends Slinky_Service { } } +// yourls +class Slinky_YourLS extends Slinky_Service { + function url_is_short( $url ) { + return stristr( $url, 'shit.li/' ); + } + + function url_is_long( $url ) { + return !stristr( $url, 'shit.li/' ); + } + + function make_short( $url ) { + echo $this->get( 'username' ); + $use_ssl = $this->get( 'ssl' ); + if ( $use_ssl ) + $use_ssl = 's'; + else + $use_ssl = ''; + $result = $this->url_get( 'http'. $use_ssl . '://' . $this->get( 'yourls-url' ) . '/yourls-api.php?username=' . $this->get( 'username' ) . '&password=' . $this->get( 'password' ) . '&action=shorturl&format=simple&url=' . urlencode( $url ) ); + if ( 1 != $result && 2 != $result ) + return $result; + else + return $url; + } +} + // Micu.rl class Slinky_Micurl extends Slinky_Service { function url_is_short( $url ) { |