forked from GNUsocial/gnu-social
Merge commit 'tobyinks/master' into 0.8.x
This commit is contained in:
commit
678f054bfe
@ -1170,6 +1170,7 @@ class Notice extends Memcached_DataObject
|
|||||||
$attachments = $this->attachments();
|
$attachments = $this->attachments();
|
||||||
if($attachments){
|
if($attachments){
|
||||||
foreach($attachments as $attachment){
|
foreach($attachments as $attachment){
|
||||||
|
if (isset($attachment->filename)) {
|
||||||
$attributes = array('rel'=>'enclosure','href'=>$attachment->url,'type'=>$attachment->mimetype,'length'=>$attachment->size);
|
$attributes = array('rel'=>'enclosure','href'=>$attachment->url,'type'=>$attachment->mimetype,'length'=>$attachment->size);
|
||||||
if($attachment->title){
|
if($attachment->title){
|
||||||
$attributes['title']=$attachment->title;
|
$attributes['title']=$attachment->title;
|
||||||
@ -1177,6 +1178,7 @@ class Notice extends Memcached_DataObject
|
|||||||
$xs->element('link', $attributes, null);
|
$xs->element('link', $attributes, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
$xs->elementEnd('entry');
|
$xs->elementEnd('entry');
|
||||||
|
|
||||||
|
@ -192,6 +192,24 @@ class Rss10Action extends Action
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// XXX: Surely there should be a common function to do this?
|
||||||
|
function extract_tags ($string)
|
||||||
|
{
|
||||||
|
$count = preg_match_all('/(?:^|\s)#([A-Za-z0-9_\-\.]{1,64})/', strtolower($string), $match);
|
||||||
|
if (!count)
|
||||||
|
{
|
||||||
|
return array();
|
||||||
|
}
|
||||||
|
|
||||||
|
$rv = array();
|
||||||
|
foreach ($match[1] as $tag)
|
||||||
|
{
|
||||||
|
$rv[] = common_canonical_tag($tag);
|
||||||
|
}
|
||||||
|
|
||||||
|
return array_unique($rv);
|
||||||
|
}
|
||||||
|
|
||||||
function showItem($notice)
|
function showItem($notice)
|
||||||
{
|
{
|
||||||
$profile = Profile::staticGet($notice->profile_id);
|
$profile = Profile::staticGet($notice->profile_id);
|
||||||
@ -219,10 +237,46 @@ class Rss10Action extends Action
|
|||||||
$attachments = $notice->attachments();
|
$attachments = $notice->attachments();
|
||||||
if($attachments){
|
if($attachments){
|
||||||
foreach($attachments as $attachment){
|
foreach($attachments as $attachment){
|
||||||
$this->element('enc:enclosure', array('rdf:resource'=>$attachment->url,'enc:type'=>$attachment->mimetype,'enc:length'=>$attachment->size), null);
|
if (isset($attachment->filename)) {
|
||||||
|
// DO NOT move xmlns declaration to root element. Making it
|
||||||
|
// the default namespace here improves compatibility with
|
||||||
|
// real-world feed readers.
|
||||||
|
$attribs = array(
|
||||||
|
'rdf:resource' => $attachment->url,
|
||||||
|
'url' => $attachment->url,
|
||||||
|
'xmlns' => 'http://purl.oclc.org/net/rss_2.0/enc#'
|
||||||
|
);
|
||||||
|
if ($attachment->title) {
|
||||||
|
$attribs['dc:title'] = $attachment->title;
|
||||||
|
}
|
||||||
|
if ($attachment->modified) {
|
||||||
|
$attribs['dc:date'] = common_date_w3dtf($attachment->modified);
|
||||||
|
}
|
||||||
|
if ($attachment->size) {
|
||||||
|
$attribs['length'] = $attachment->size;
|
||||||
|
}
|
||||||
|
if ($attachment->mimetype) {
|
||||||
|
$attribs['type'] = $attachment->mimetype;
|
||||||
|
}
|
||||||
|
$this->element('enclosure', $attribs);
|
||||||
|
}
|
||||||
|
$this->element('sioc:links_to', array('rdf:resource'=>$attachment->url));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$tags = $this->extract_tags($notice->content);
|
||||||
|
if (!empty($tags)) {
|
||||||
|
foreach ($tags as $tag)
|
||||||
|
{
|
||||||
|
$tagpage = common_local_url('tag', array('tag' => $tag));
|
||||||
|
$tagrss = common_local_url('tagrss', array('tag' => $tag));
|
||||||
|
$this->elementStart('ctag:tagged');
|
||||||
|
$this->elementStart('ctag:Tag', array('rdf:about'=>$tagpage.'#concept', 'ctag:label'=>$tag));
|
||||||
|
$this->element('foaf:page', array('rdf:resource'=>$tagpage));
|
||||||
|
$this->element('rdfs:seeAlso', array('rdf:resource'=>$tagrss));
|
||||||
|
$this->elementEnd('ctag:Tag');
|
||||||
|
$this->elementEnd('ctag:tagged');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->elementEnd('item');
|
$this->elementEnd('item');
|
||||||
$this->creators[$creator_uri] = $profile;
|
$this->creators[$creator_uri] = $profile;
|
||||||
}
|
}
|
||||||
@ -258,8 +312,8 @@ class Rss10Action extends Action
|
|||||||
'http://creativecommons.org/ns#',
|
'http://creativecommons.org/ns#',
|
||||||
'xmlns:content' =>
|
'xmlns:content' =>
|
||||||
'http://purl.org/rss/1.0/modules/content/',
|
'http://purl.org/rss/1.0/modules/content/',
|
||||||
'xmlns:enc' =>
|
'xmlns:ctag' =>
|
||||||
'http://purl.oclc.org/net/rss_2.0/enc#',
|
'http://commontag.org/ns#',
|
||||||
'xmlns:foaf' =>
|
'xmlns:foaf' =>
|
||||||
'http://xmlns.com/foaf/0.1/',
|
'http://xmlns.com/foaf/0.1/',
|
||||||
'xmlns:sioc' =>
|
'xmlns:sioc' =>
|
||||||
|
@ -218,6 +218,7 @@ class TwitterapiAction extends Action
|
|||||||
if($attachments){
|
if($attachments){
|
||||||
$entry['enclosures']=array();
|
$entry['enclosures']=array();
|
||||||
foreach($attachments as $attachment){
|
foreach($attachments as $attachment){
|
||||||
|
if (isset($attachment->filename)) {
|
||||||
$enclosure=array();
|
$enclosure=array();
|
||||||
$enclosure['url']=$attachment->url;
|
$enclosure['url']=$attachment->url;
|
||||||
$enclosure['mimetype']=$attachment->mimetype;
|
$enclosure['mimetype']=$attachment->mimetype;
|
||||||
@ -225,6 +226,7 @@ class TwitterapiAction extends Action
|
|||||||
$entry['enclosures'][]=$enclosure;
|
$entry['enclosures'][]=$enclosure;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# RSS Item specific
|
# RSS Item specific
|
||||||
$entry['description'] = $entry['content'];
|
$entry['description'] = $entry['content'];
|
||||||
|
Loading…
Reference in New Issue
Block a user