modified: library/slinky.php Added a custom YourLS shortener to the available shorteners

This commit is contained in:
Keith Fernie 2012-02-09 20:45:38 +00:00
parent f73b6ed7a1
commit 955022e7dc
1 changed files with 31 additions and 1 deletions

View File

@ -153,7 +153,7 @@ class Slinky {
public function set_service_from_url( $url = false ) { public function set_service_from_url( $url = false ) {
if ( !$url ) if ( !$url )
$url = $this->url; $url = $this->url;
$host = parse_url( $url, PHP_URL_HOST ); $host = parse_url( $url, PHP_URL_HOST );
switch ( str_replace( 'www.', '', $host ) ) { switch ( str_replace( 'www.', '', $host ) ) {
case 'bit.ly': case 'bit.ly':
@ -181,6 +181,11 @@ class Slinky {
$this->service = new Slinky_Fongs(); $this->service = new Slinky_Fongs();
break; break;
} }
case $this->get( 'yourls-url' ):
if ( class_exists( 'Slinky_YourLS' ) ) {
$this->service = new Slinky_YourLS();
break;
}
case 'micurl.com': case 'micurl.com':
if ( class_exists( 'Slinky_Micurl' ) ) { if ( class_exists( 'Slinky_Micurl' ) ) {
$this->service = new 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 // Micu.rl
class Slinky_Micurl extends Slinky_Service { class Slinky_Micurl extends Slinky_Service {
function url_is_short( $url ) { function url_is_short( $url ) {