The first functions make short urls using tinyurl.com service. It’s a very popular function on the web, you can find it in a lot of files, and it’s always the same:
function doShortURL($url) { $short_url= file_get_contents('http://tinyurl.com/api-create.php?url=' . urlencode( $url ) ); return $short_url; }
The second function decode a short url in a simple way: I’ve used CURL to get the http header of the short url page. If the header contains a “Location:” header, then it’s a redirect, and the decoded url is the url in the “Location” header string, here is the code:
function doShortURLDecode($url) { $ch = @curl_init($url); @curl_setopt($ch, CURLOPT_HEADER, TRUE); @curl_setopt($ch, CURLOPT_NOBODY, TRUE); @curl_setopt($ch, CURLOPT_FOLLOWLOCATION, FALSE); @curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); $response = @curl_exec($ch); preg_match('/Location: (.*)\n/', $response, $a); if (!isset($a[1])) return $url; return $a[1]; }
These functions are included in the Mini Bots Class.