Merge branch '0.8.x' of git@gitorious.org:laconica/mainline into 0.8.x

* '0.8.x' of git@gitorious.org:laconica/mainline:
  HTML "File"/attachments should probably not be considered enclosures.
  Moved the decision logic as to whether an attachment should be an enclosure to the File class
This commit is contained in:
Zach Copley 2009-07-14 10:43:13 -07:00
commit b05b998d68
4 changed files with 16 additions and 3 deletions

View File

@ -193,5 +193,18 @@ class File extends Memcached_DataObject
return 'http://'.$server.$path.$filename;
}
function isEnclosure(){
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(! in_array($mimetype,$notEnclosureMimeTypes));
}
}

View File

@ -1170,7 +1170,7 @@ class Notice extends Memcached_DataObject
$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;

View File

@ -237,7 +237,7 @@ class Rss10Action extends Action
$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.

View File

@ -218,7 +218,7 @@ class TwitterapiAction extends Action
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;