diff --git a/actions/othersettings.php b/actions/othersettings.php index d87f256fac..4e28a94f80 100644 --- a/actions/othersettings.php +++ b/actions/othersettings.php @@ -42,6 +42,9 @@ class OthersettingsAction extends SettingsAction { $services = array( '' => 'None', + 'ur1.ca' => 'ur1.ca (free)', + '2tu.ru' => '2tu.ru (free)', + 'ptiturl.com' => 'ptiturl.com', 'tinyurl.com' => 'tinyurl.com', 'is.gd' => 'is.gd', 'snipr.com' => 'snipr.com', diff --git a/lib/util.php b/lib/util.php index eac18e55ef..634140fef5 100644 --- a/lib/util.php +++ b/lib/util.php @@ -763,6 +763,21 @@ function common_shorten_link($long_url) { curl_setopt($curlh, CURLOPT_RETURNTRANSFER, true); switch($user->urlshorteningservice) { + case 'ur1.ca': + $short_url_service = new LilUrl; + $short_url = $short_url_service->shorten($long_url); + break; + + case '2tu.ru': + $short_url_service = new TightUrl; + $short_url = $short_url_service->shorten($long_url); + break; + + case 'ptiturl.com': + $short_url_service = new PtitUrl; + $short_url = $short_url_service->shorten($long_url); + break; + case 'is.gd': curl_setopt($curlh, CURLOPT_URL, 'http://is.gd/api.php?longurl='.urlencode($long_url)); $short_url = curl_exec($curlh);