]> git.mxchange.org Git - friendica.git/commitdiff
modified: library/slinky.php Added a custom YourLS shortener to the available...
authorKeith Fernie <keith@fernie.eu>
Thu, 9 Feb 2012 20:45:38 +0000 (20:45 +0000)
committerKeith Fernie <keith@fernie.eu>
Thu, 9 Feb 2012 20:45:38 +0000 (20:45 +0000)
library/slinky.php

index 51432c3f5372392d6404fd05ec379dc2db8f85f6..56734c9fb056678a94e1c3af76ed4f7b871e0eaa 100755 (executable)
@@ -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 ) {