Never save our /attachment/{file_id} links as links in the file table, return the old file

This commit is contained in:
hannes 2016-01-29 00:36:30 +00:00
parent efd2326a29
commit f708a5b016

View File

@ -106,6 +106,19 @@ class File extends Managed_DataObject
// We don't have the file's URL since before, so let's continue.
}
// if the given url is an local attachment url and the id already exists, don't
// save a new file record. This should never happen, but let's make it foolproof
$attachment_path = common_path('attachment/');
if(strpos($given_url,$attachment_path) == 0) {
$possible_file_id = substr($given_url,strlen($attachment_path));
if(is_numeric($possible_file_id)) {
$file = File::getKV('id',$possible_file_id);
if($file instanceof File) {
return $file;
}
}
}
$file = new File;
$file->url = $given_url;
if (!empty($redir_data['protected'])) $file->protected = $redir_data['protected'];