);
}
- function _getOembed($url) {
- $parameters = array(
- 'maxwidth' => common_config('thumbnail', 'width'),
- 'maxheight' => common_config('thumbnail', 'height'),
- );
+ static function _getOembed($url) {
try {
- return oEmbedHelper::getObject($url, $parameters);
+ return oEmbedHelper::getObject($url);
} catch (Exception $e) {
common_log(LOG_INFO, "Error during oembed lookup for $url - " . $e->getMessage());
return false;
/**
* Fetch an entry by using a File's id
*/
- static function byFile(File $file) {
- $file_oembed = self::getKV('file_id', $file->id);
- if (!$file_oembed instanceof File_oembed) {
- throw new ServerException(sprintf('No File_oembed entry for File id==%u', $file->id));
+ static function getByFile(File $file) {
+ $fo = new File_oembed();
+ $fo->file_id = $file->id;
+ if (!$fo->find(true)) {
+ throw new NoResultException($fo);
}
- return $file_oembed;
+ return $fo;
}
public function getUrl()
if ($file instanceof File) {
$file_oembed->mimetype = $file->mimetype;
} else {
- $file_redir = File_redirection::getKV('url', $given_url);
- if (empty($file_redir)) {
- $redir_data = File_redirection::where($given_url);
- $file_oembed->mimetype = $redir_data['type'];
+ $redir = File_redirection::where($given_url);
+ if (empty($redir->file_id)) {
+ $f = $redir->getFile();
+ $file_oembed->mimetype = $f->mimetype;
} else {
- $file_id = $file_redir->file_id;
+ $file_id = $redir->file_id;
}
}
}
}
- $file_oembed->insert();
+ $result = $file_oembed->insert();
+ if ($result === false) {
+ throw new ServerException('Failed to insert File_oembed data into database!');
+ }
if (!empty($data->thumbnail_url) || ($data->type == 'photo')) {
$ft = File_thumbnail::getKV('file_id', $file_id);
if ($ft instanceof File_thumbnail) {