]> git.mxchange.org Git - friendica.git/commitdiff
Merge pull request #30 from Keith2/master
authorKeith Fernie <me@keithfernie.co.uk>
Thu, 9 Feb 2012 23:08:53 +0000 (15:08 -0800)
committerKeith Fernie <me@keithfernie.co.uk>
Thu, 9 Feb 2012 23:08:53 +0000 (15:08 -0800)
Adds a custom YourLS url shortener to slinky.php

library/slinky.php

index 51432c3f5372392d6404fd05ec379dc2db8f85f6..cae1f755ff0fa56c75c98f77cf95a11ba2814403 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 ) {