]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
only expand URLs we shortened ourselves + only shorten if notice > 140 chars
authormillette <millette@controlyourself.ca>
Fri, 28 Nov 2008 20:00:04 +0000 (15:00 -0500)
committermillette <millette@controlyourself.ca>
Fri, 28 Nov 2008 20:00:04 +0000 (15:00 -0500)
darcs-hash:20081128200004-099f7-085c833e3e34b2a13b5b3ec3b1316e7948ff196f.gz

actions/profilesettings.php
lib/util.php

index 282152cca1a48017119e88e77228176390ec0a96..81e589c6e01649e108d5300ddadc2358bde2b06f 100644 (file)
@@ -522,7 +522,7 @@ class ProfilesettingsAction extends SettingsAction {
         // delete user (id)
         // delete user_openid (user_id)
         // delete profile (id)
-        // 
+        // delete tags tables (to verify)
         // delete all the users notices
 
                $this->show_form(_('Your account has been deleted.'), true);
index 73bd6ee169941e1f324685e6d267ef193e9e55c4..b14d121e6595d5b5bd5452f4aa06624a3b9d6382 100644 (file)
@@ -822,7 +822,13 @@ function common_render_uri_thingy($matches) {
        return '<a href="' . $uri . '"' . $title . ' class="extlink">' . $uri . '</a>' . $trailer;
 }
 
-function common_longurl($uri)  {
+function common_longurl($short_url)  {
+    $long_url = common_shorten_link($short_url, true);
+    if ($long_url === $short_url) return false;
+    return $long_url;
+}
+
+function common_longurl2($uri)  {
        $uri_e = urlencode($uri);
        $longurl = unserialize(file_get_contents("http://api.longurl.org/v1/expand?format=php&url=$uri_e"));
        if (empty($longurl['long_url']) || $uri === $longurl['long_url']) return false;
@@ -830,6 +836,7 @@ function common_longurl($uri)  {
 }
 
 function common_shorten_links($text) {
+    if (mb_strlen($text) <= 140) return $text;
     // \s = not a horizontal whitespace character (since PHP 5.2.4)
        // RYM this should prevent * preceded URLs from being processed but it its a char
 //     $r = preg_replace('@[^*](https?://[^)\]>\s]+)@e', "common_shorten_link('\\1')", $r);
@@ -837,7 +844,7 @@ function common_shorten_links($text) {
 }
 
 function common_shorten_link($long_url) {
-
+       
        $user = common_current_user();
 
        $curlh = curl_init();
@@ -848,38 +855,38 @@ function common_shorten_link($long_url) {
        switch($user->urlshorteningservice) {
         case 'ur1.ca':
             $short_url_service = new LilUrl;
-            $short_url = $short_url_service->shorten($long_url);
+            $short_url = $short_url_service->shorten($url);
             break;
 
         case '2tu.us':
             $short_url_service = new TightUrl;
-            $short_url = $short_url_service->shorten($long_url);
+            $short_url = $short_url_service->shorten($url);
             break;
 
         case 'ptiturl.com':
             $short_url_service = new PtitUrl;
-            $short_url = $short_url_service->shorten($long_url);
+            $short_url = $short_url_service->shorten($url);
             break;
 
         case 'bit.ly':
-                       curl_setopt($curlh, CURLOPT_URL, 'http://bit.ly/api?method=shorten&long_url='.urlencode($long_url));
+                       curl_setopt($curlh, CURLOPT_URL, 'http://bit.ly/api?method=shorten&long_url='.urlencode($url));
                        $short_url = current(json_decode(curl_exec($curlh))->results)->hashUrl;
             break;
 
                case 'is.gd':
-                       curl_setopt($curlh, CURLOPT_URL, 'http://is.gd/api.php?longurl='.urlencode($long_url));
+                       curl_setopt($curlh, CURLOPT_URL, 'http://is.gd/api.php?longurl='.urlencode($url));
                        $short_url = curl_exec($curlh);
                        break;
                case 'snipr.com':
-                       curl_setopt($curlh, CURLOPT_URL, 'http://snipr.com/site/snip?r=simple&link='.urlencode($long_url));
+                       curl_setopt($curlh, CURLOPT_URL, 'http://snipr.com/site/snip?r=simple&link='.urlencode($url));
                        $short_url = curl_exec($curlh);
                        break;
                case 'metamark.net':
-                       curl_setopt($curlh, CURLOPT_URL, 'http://metamark.net/api/rest/simple?long_url='.urlencode($long_url));
+                       curl_setopt($curlh, CURLOPT_URL, 'http://metamark.net/api/rest/simple?long_url='.urlencode($url));
                        $short_url = curl_exec($curlh);
                        break;
                case 'tinyurl.com':
-                       curl_setopt($curlh, CURLOPT_URL, 'http://tinyurl.com/api-create.php?url='.urlencode($long_url));
+                       curl_setopt($curlh, CURLOPT_URL, 'http://tinyurl.com/api-create.php?url='.urlencode($url));
                        $short_url = curl_exec($curlh);
                        break;
                default:
@@ -889,9 +896,10 @@ function common_shorten_link($long_url) {
        curl_close($curlh);
 
        if ($short_url) {
-               return $short_url;
+        $url_cache[(string)$short_url] = $url;
+               return (string)$short_url;
        }
-       return $long_url;
+       return $url;
 }
 
 function common_xml_safe_str($str) {