return 'http://'.$server.$path.$filename;
}
+
+ function isEnclosure(){
+ if(isset($this->filename)){
+ return true;
+ }
+ $notEnclosureMimeTypes = array('text/html');
+ $mimetype = strtolower($this->mimetype);
+ $semicolon = strpos($mimetype,';');
+ if($semicolon){
+ $mimetype = substr($mimetype,0,$semicolon);
+ }
+ return(! in_array($mimetype,$notEnclosureMimeTypes));
+ }
}
$attachments = $this->attachments();
if($attachments){
foreach($attachments as $attachment){
- if (isset($attachment->filename)) {
+ if ($attachment->isEnclosure()) {
$attributes = array('rel'=>'enclosure','href'=>$attachment->url,'type'=>$attachment->mimetype,'length'=>$attachment->size);
if($attachment->title){
$attributes['title']=$attachment->title;
$attachments = $notice->attachments();
if($attachments){
foreach($attachments as $attachment){
- if (isset($attachment->filename)) {
+ if ($attachment->isEnclosure()) {
// DO NOT move xmlns declaration to root element. Making it
// the default namespace here improves compatibility with
// real-world feed readers.
if($attachments){
$entry['enclosures']=array();
foreach($attachments as $attachment){
- if (isset($attachment->filename)) {
+ if ($attachment->isEnclosure()) {
$enclosure=array();
$enclosure['url']=$attachment->url;
$enclosure['mimetype']=$attachment->mimetype;