From 6d60d74093005992701418edda5be4422e46262f Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 15:40:51 -0400 Subject: Display linked oembed resources as enclosures if they are of non-html mime types --- classes/File.php | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 9 deletions(-) (limited to 'classes/File.php') diff --git a/classes/File.php b/classes/File.php index b2c510340..1c64b4d33 100644 --- a/classes/File.php +++ b/classes/File.php @@ -195,17 +195,49 @@ class File extends Memcached_DataObject return 'http://'.$server.$path.$filename; } - function isEnclosure(){ + function getEnclosure(){ + $enclosure = (object) array(); + $enclosure->title=$this->title; + $enclosure->url=$this->url; + $enclosure->title=$this->title; + $enclosure->date=$this->date; + $enclosure->modified=$this->modified; + $enclosure->size=$this->size; + $enclosure->mimetype=$this->mimetype; + if(isset($this->filename)){ - return true; - } - $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); - $mimetype = strtolower($this->mimetype); - $semicolon = strpos($mimetype,';'); - if($semicolon){ - $mimetype = substr($mimetype,0,$semicolon); + return $enclosure; + }else{ + $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); + $mimetype = strtolower($this->mimetype); + $semicolon = strpos($mimetype,';'); + if($semicolon){ + $mimetype = substr($mimetype,0,$semicolon); + } + if(in_array($mimetype,$notEnclosureMimeTypes)){ + $ombed = File_oembed::staticGet('file_id',$this->id); + if($oembed){ + $mimetype = strtolower($ombed->mimetype); + $semicolon = strpos($mimetype,';'); + if($semicolon){ + $mimetype = substr($mimetype,0,$semicolon); + } + if(in_array($mimetype,$notEnclosureMimeTypes)){ + return false; + }else{ + if($ombed->mimetype) $enclosure->mimetype=$ombed->mimetype; + if($ombed->url) $enclosure->url=$ombed->url; + if($ombed->title) $enclosure->title=$ombed->title; + if($ombed->modified) $enclosure->modified=$ombed->modified; + unset($ombed->size); + } + }else{ + return $enclosure; + } + }else{ + return $enclosure; + } } - return(! in_array($mimetype,$notEnclosureMimeTypes)); } } -- cgit v1.2.3-54-g00ecf From 504c42aa7d4ff5cccd722bceb3231a5a8f46a27b Mon Sep 17 00:00:00 2001 From: Craig Andrews Date: Wed, 26 Aug 2009 21:51:54 -0400 Subject: Fix some stupid bugs, such as a mispelling of oembed --- classes/File.php | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-) (limited to 'classes/File.php') diff --git a/classes/File.php b/classes/File.php index 1c64b4d33..58fe91237 100644 --- a/classes/File.php +++ b/classes/File.php @@ -204,10 +204,8 @@ class File extends Memcached_DataObject $enclosure->modified=$this->modified; $enclosure->size=$this->size; $enclosure->mimetype=$this->mimetype; - - if(isset($this->filename)){ - return $enclosure; - }else{ + + if(! isset($this->filename)){ $notEnclosureMimeTypes = array('text/html','application/xhtml+xml'); $mimetype = strtolower($this->mimetype); $semicolon = strpos($mimetype,';'); @@ -215,9 +213,9 @@ class File extends Memcached_DataObject $mimetype = substr($mimetype,0,$semicolon); } if(in_array($mimetype,$notEnclosureMimeTypes)){ - $ombed = File_oembed::staticGet('file_id',$this->id); + $oembed = File_oembed::staticGet('file_id',$this->id); if($oembed){ - $mimetype = strtolower($ombed->mimetype); + $mimetype = strtolower($oembed->mimetype); $semicolon = strpos($mimetype,';'); if($semicolon){ $mimetype = substr($mimetype,0,$semicolon); @@ -225,19 +223,16 @@ class File extends Memcached_DataObject if(in_array($mimetype,$notEnclosureMimeTypes)){ return false; }else{ - if($ombed->mimetype) $enclosure->mimetype=$ombed->mimetype; - if($ombed->url) $enclosure->url=$ombed->url; - if($ombed->title) $enclosure->title=$ombed->title; - if($ombed->modified) $enclosure->modified=$ombed->modified; - unset($ombed->size); + if($oembed->mimetype) $enclosure->mimetype=$oembed->mimetype; + if($oembed->url) $enclosure->url=$oembed->url; + if($oembed->title) $enclosure->title=$oembed->title; + if($oembed->modified) $enclosure->modified=$oembed->modified; + unset($oembed->size); } - }else{ - return $enclosure; } - }else{ - return $enclosure; } } + return $enclosure; } } -- cgit v1.2.3-54-g00ecf