This commit is contained in:
Friendika 2010-11-09 20:38:24 -08:00
parent 84052bdc09
commit 29b9d18871
2 changed files with 35 additions and 27 deletions

View file

@ -293,7 +293,7 @@ function get_atom_elements($feed,$item) {
// No photo/profile-link on the item - look at the feed level // No photo/profile-link on the item - look at the feed level
if((! $res['author-link']) || (! $res['author-avatar'])) { if((! (x($res,'author-link'))) || (! (x($res,'author-avatar')))) {
$rawauthor = $feed->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'author'); $rawauthor = $feed->get_feed_tags(SIMPLEPIE_NAMESPACE_ATOM_10,'author');
if($rawauthor && $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']) { if($rawauthor && $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']) {
$base = $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link']; $base = $rawauthor[0]['child'][SIMPLEPIE_NAMESPACE_ATOM_10]['link'];
@ -316,7 +316,7 @@ function get_atom_elements($feed,$item) {
foreach($base as $link) { foreach($base as $link) {
if($link['attribs']['']['rel'] === 'alternate' && (! $res['author-link'])) if($link['attribs']['']['rel'] === 'alternate' && (! $res['author-link']))
$res['author-link'] = unxmlify($link['attribs']['']['href']); $res['author-link'] = unxmlify($link['attribs']['']['href']);
if(! $res['author-avatar']) { if(! (x($res,'author-avatar'))) {
if($link['attribs']['']['rel'] === 'avatar' || $link['attribs']['']['rel'] === 'photo') if($link['attribs']['']['rel'] === 'avatar' || $link['attribs']['']['rel'] === 'photo')
$res['author-avatar'] = unxmlify($link['attribs']['']['href']); $res['author-avatar'] = unxmlify($link['attribs']['']['href']);
} }
@ -517,31 +517,35 @@ function item_store($arr) {
$arr['gravity'] = 0; $arr['gravity'] = 0;
elseif(activity_match($arr['verb'],ACTIVITY_POST)) elseif(activity_match($arr['verb'],ACTIVITY_POST))
$arr['gravity'] = 6; $arr['gravity'] = 6;
else
$arr['gravity'] = 6; // extensible catchall
if(! x($arr,'type')) if(! x($arr,'type'))
$arr['type'] = 'remote'; $arr['type'] = 'remote';
$arr['wall'] = ((intval($arr['wall'])) ? 1 : 0); $arr['wall'] = ((x($arr,'wall')) ? intval($arr['wall']) : 0);
$arr['uri'] = notags(trim($arr['uri'])); $arr['uri'] = ((x($arr,'uri')) ? notags(trim($arr['uri'])) : random_string());
$arr['author-name'] = notags(trim($arr['author-name'])); $arr['author-name'] = ((x($arr,'author-name')) ? notags(trim($arr['author-name'])) : '');
$arr['author-link'] = notags(trim($arr['author-link'])); $arr['author-link'] = ((x($arr,'author-link')) ? notags(trim($arr['author-link'])) : '');
$arr['author-avatar'] = notags(trim($arr['author-avatar'])); $arr['author-avatar'] = ((x($arr,'author-avatar')) ? notags(trim($arr['author-avatar'])) : '');
$arr['owner-name'] = notags(trim($arr['owner-name'])); $arr['owner-name'] = ((x($arr,'owner-name')) ? notags(trim($arr['owner-name'])) : '');
$arr['owner-link'] = notags(trim($arr['owner-link'])); $arr['owner-link'] = ((x($arr,'owner-link')) ? notags(trim($arr['owner-link'])) : '');
$arr['owner-avatar'] = notags(trim($arr['owner-avatar'])); $arr['owner-avatar'] = ((x($arr,'owner-avatar')) ? notags(trim($arr['owner-avatar'])) : '');
$arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert()); $arr['created'] = ((x($arr,'created') !== false) ? datetime_convert('UTC','UTC',$arr['created']) : datetime_convert());
$arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert()); $arr['edited'] = ((x($arr,'edited') !== false) ? datetime_convert('UTC','UTC',$arr['edited']) : datetime_convert());
$arr['changed'] = datetime_convert(); $arr['changed'] = datetime_convert();
$arr['title'] = notags(trim($arr['title'])); $arr['title'] = ((x($arr,'title')) ? notags(trim($arr['title'])) : '');
$arr['location'] = notags(trim($arr['location'])); $arr['location'] = ((x($arr,'location')) ? notags(trim($arr['location'])) : '');
$arr['coord'] = notags(trim($arr['coord'])); $arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : '');
$arr['body'] = escape_tags(trim($arr['body'])); $arr['body'] = ((x($arr,'body')) ? escape_tags(trim($arr['body'])) : '');
$arr['last-child'] = intval($arr['last-child']); $arr['last-child'] = ((x($arr,'last-child')) ? intval($arr['last-child']) : 0 );
$arr['visible'] = ((x($arr,'visible') !== false) ? intval($arr['visible']) : 1); $arr['visible'] = ((x($arr,'visible') !== false) ? intval($arr['visible']) : 1 );
$arr['deleted'] = 0; $arr['deleted'] = 0;
$arr['parent-uri'] = notags(trim($arr['parent-uri'])); $arr['parent-uri'] = ((x($arr,'parent-uri')) ? notags(trim($arr['parent-uri'])) : '');
$arr['verb'] = notags(trim($arr['verb'])); $arr['verb'] = ((x($arr,'verb')) ? notags(trim($arr['verb'])) : '');
$arr['object-type'] = notags(trim($arr['object-type'])); $arr['object-type'] = ((x($arr,'object-type')) ? notags(trim($arr['object-type'])) : '');
$arr['object'] = trim($arr['object']); $arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : '');
$arr['target-type'] = ((x($arr,'target-type')) ? notags(trim($arr['target-type'])) : '');
$arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : '');
$parent_id = 0; $parent_id = 0;
$parent_missing = false; $parent_missing = false;
@ -1179,8 +1183,12 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
$o .= '<link rel="alternate" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n"; $o .= '<link rel="alternate" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n";
if($comment) if($comment)
$o .= '<dfrn:comment-allow>' . intval($item['last-child']) . '</dfrn:comment-allow>' . "\r\n"; $o .= '<dfrn:comment-allow>' . intval($item['last-child']) . '</dfrn:comment-allow>' . "\r\n";
if($item['location'])
if($item['location']) {
$o .= '<dfrn:location>' . xmlify($item['location']) . '</dfrn:location>' . "\r\n"; $o .= '<dfrn:location>' . xmlify($item['location']) . '</dfrn:location>' . "\r\n";
$o .= '<poco:address><poco:formatted>' . xmlify($item['location']) . '</poco:formatted></poco:address>' . "\r\n";
}
if($item['coord']) if($item['coord'])
$o .= '<georss:point>' . xmlify($item['coord']) . '</georss:point>' . "\r\n"; $o .= '<georss:point>' . xmlify($item['coord']) . '</georss:point>' . "\r\n";