diff options
author | Craig Andrews <candrews@integralblue.com> | 2009-09-27 16:52:15 -0400 |
---|---|---|
committer | Craig Andrews <candrews@integralblue.com> | 2009-09-27 16:52:15 -0400 |
commit | fc2426d7ce33bba0e1ad4dfc1ed9af7749695b20 (patch) | |
tree | 4a6b9cf632e10f8b947a4d8b9be56a1c69d46674 /classes | |
parent | 7f3c1ac2beca8f0e21c002930a5df6dc2d9415ad (diff) |
Fix some bugs in the URL linkification, and fixed the unit test.
Diffstat (limited to 'classes')
-rw-r--r-- | classes/File.php | 8 | ||||
-rw-r--r-- | classes/File_redirection.php | 3 |
2 files changed, 10 insertions, 1 deletions
diff --git a/classes/File.php b/classes/File.php index 9758cf7f5..e04a9d525 100644 --- a/classes/File.php +++ b/classes/File.php @@ -94,7 +94,13 @@ class File extends Memcached_DataObject $file_redir = File_redirection::staticGet('url', $given_url); if (empty($file_redir)) { $redir_data = File_redirection::where($given_url); - $redir_url = $redir_data['url']; + if (is_array($redir_data)) { + $redir_url = $redir_data['url']; + } elseif (is_string($redir_data)) { + $redir_url = $redir_data; + } else { + throw new ServerException("Can't process url '$given_url'"); + } // TODO: max field length if ($redir_url === $given_url || strlen($redir_url) > 255) { $x = File::saveNew($redir_data, $given_url); diff --git a/classes/File_redirection.php b/classes/File_redirection.php index 76b18f672..79052bf7d 100644 --- a/classes/File_redirection.php +++ b/classes/File_redirection.php @@ -79,6 +79,9 @@ class File_redirection extends Memcached_DataObject } } + if(strpos($short_url,'://') === false){ + return $short_url; + } $curlh = File_redirection::_commonCurl($short_url, $redirs); // Don't include body in output curl_setopt($curlh, CURLOPT_NOBODY, true); |