API work
This commit is contained in:
parent
41f6ccc039
commit
976d1eaf43
3 changed files with 81 additions and 49 deletions
|
@ -49,8 +49,13 @@
|
|||
dbesc(trim($user)),
|
||||
dbesc($encrypted)
|
||||
);
|
||||
if(count($r))
|
||||
if(count($r)){
|
||||
$record = $r[0];
|
||||
} else {
|
||||
header('WWW-Authenticate: Basic realm="Friendika"');
|
||||
header('HTTP/1.0 401 Unauthorized');
|
||||
die('This api require login');
|
||||
}
|
||||
$_SESSION['uid'] = $record['uid'];
|
||||
$_SESSION['theme'] = $record['theme'];
|
||||
$_SESSION['authenticated'] = 1;
|
||||
|
@ -90,6 +95,7 @@
|
|||
GLOBAL $API;
|
||||
foreach ($API as $p=>$info){
|
||||
if (strpos($a->query_string, $p)===0){
|
||||
#unset($_SERVER['PHP_AUTH_USER']);
|
||||
if ($info['auth']===true && local_user()===false) {
|
||||
api_login($a);
|
||||
}
|
||||
|
@ -139,6 +145,7 @@
|
|||
'self' => $a->get_baseurl(). "/". $a->query_string,
|
||||
'updated' => api_date(null),
|
||||
'language' => $user_info['language'],
|
||||
'logo' => $a->get_baseurl()."/images/friendika-32.png",
|
||||
);
|
||||
|
||||
return $arr;
|
||||
|
@ -214,7 +221,7 @@
|
|||
'name' => $uinfo[0]['username'],
|
||||
'screen_name' => $uinfo[0]['nickname'],
|
||||
'location' => $uinfo[0]['default-location'],
|
||||
'profile_image_url' => $uinfo[0]['photo'],
|
||||
'profile_image_url' => $uinfo[0]['micro'],
|
||||
'url' => $uinfo[0]['url'],
|
||||
'protected' => false, #
|
||||
'friends_count' => $countfriends,
|
||||
|
@ -385,6 +392,7 @@
|
|||
'created_at'=> api_date($item['created']),
|
||||
'id' => $item['id'],
|
||||
'text' => strip_tags(bbcode($item['body'])),
|
||||
'html' => bbcode($item['body']),
|
||||
'source' => 'web',
|
||||
'url' => ($item['plink']!=''?$item['plink']:$item['author-link']),
|
||||
'truncated' => False,
|
||||
|
@ -398,13 +406,21 @@
|
|||
'contributors' => '',
|
||||
'annotations' => '',
|
||||
'entities' => '',
|
||||
'user' => $user_info
|
||||
'user' => $user_info,
|
||||
'objecttype' => $item['object-type'],
|
||||
'verb' => $item['verb'],
|
||||
'self' => $a->get_baseurl()."/api/statuses/show/".$ite['id'].".".$type,
|
||||
'edit' => $a->get_baseurl()."/api/statuses/show/".$ite['id'].".".$type,
|
||||
);
|
||||
$ret[]=$status;
|
||||
};
|
||||
|
||||
$data = array('$statuses' => $ret);
|
||||
if ($type=="rss" || $type=="atom") $data = api_rss_extra($a, $data, $user_info);
|
||||
switch($type){
|
||||
case "atom":
|
||||
case "rss":
|
||||
$data = api_rss_extra($a, $data, $user_info);
|
||||
}
|
||||
|
||||
return api_apply_template("timeline", $type, $data);
|
||||
}
|
||||
|
|
|
@ -1,21 +1,39 @@
|
|||
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com">
|
||||
<channel>
|
||||
<title>Friendika</title>
|
||||
<link>$rss.alternate</link>
|
||||
<atom:link type="application/rss+xml" rel="self" href="$rss.self"/>
|
||||
<description>Friendika timeline</description>
|
||||
<language>$rss.language</language>
|
||||
<ttl>40</ttl>
|
||||
|
||||
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/">
|
||||
<generator uri="http://status.net" version="0.9.7">StatusNet</generator>
|
||||
<id>tag:friendika:PublicTimeline</id>
|
||||
<title>Network on Friendika</title>
|
||||
<subtitle>Your network updates on Friendika</subtitle>
|
||||
<logo>$rss.logo</logo>
|
||||
<updated>$rss.updated</updated>
|
||||
<link type="text/html" rel="alternate" href="$rss.alternate"/>
|
||||
<link type="application/atom+xml" rel="self" href="$rss.self"/>
|
||||
{{ for $statuses as $status }}
|
||||
<item>
|
||||
<entry>
|
||||
<activity:object-type>$status.objecttype</activity:object-type>
|
||||
<id>$status.id</id>
|
||||
<title>$status.text</title>
|
||||
<description>$status.text</description>
|
||||
<pubDate>$status.created_at</pubDate>
|
||||
<guid>$status.url</guid>
|
||||
<link>$status.url</link>
|
||||
<twitter:source>$status.source</twitter:source>
|
||||
</item>
|
||||
<content type="html">$status.html</content>
|
||||
<link rel="alternate" type="text/html" href="$status.url"/>
|
||||
<activity:verb>$status.verb</activity:verb>
|
||||
<published>$status.created_at</published>
|
||||
<updated>$status.created_at</updated>
|
||||
|
||||
<link rel="ostatus:conversation" href="$status.url"/>
|
||||
<!--
|
||||
<source>
|
||||
<id>http://identi.ca/api/statuses/user_timeline/397830.atom</id>
|
||||
<title>Sin Mobopolitan</title>
|
||||
<link rel="alternate" type="text/html" href="http://identi.ca/mobopolitan"/>
|
||||
<link rel="self" type="application/atom+xml" href="http://identi.ca/api/statuses/user_timeline/397830.atom"/>
|
||||
<link rel="license" href="http://creativecommons.org/licenses/by/3.0/"/>
|
||||
<icon>http://avatar.identi.ca/397830-96-20110312195623.jpeg</icon>
|
||||
<updated>2011-04-21T18:39:32+00:00</updated>
|
||||
</source>
|
||||
-->
|
||||
<link rel="self" type="application/atom+xml" href="$status.self"/>
|
||||
<link rel="edit" type="application/atom+xml" href="$status.edit"/>
|
||||
<statusnet:notice_info local_id="$status.id" source="$status.source" favorite="false" repeated="false">
|
||||
</statusnet:notice_info>
|
||||
</entry>
|
||||
{{ endfor }}
|
||||
</channel>
|
||||
</rss>
|
||||
</feed>
|
||||
|
|
|
@ -1,23 +1,21 @@
|
|||
<feed xml:lang="en-US" xmlns:georss="http://www.georss.org/georss" xmlns="http://www.w3.org/2005/Atom" xmlns:twitter="http://api.twitter.com">
|
||||
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com">
|
||||
<channel>
|
||||
<title>Friendika</title>
|
||||
<id>tag:friendika:Status</id>
|
||||
<link type="text/html" rel="alternate" href="$rss.alternate"/>
|
||||
<link type="application/atom+xml" rel="self" href="$rss.self"/>
|
||||
<updated>$rss.updated</updated>
|
||||
<subtitle>Friendika timeline</subtitle>
|
||||
<link>$rss.alternate</link>
|
||||
<atom:link type="application/rss+xml" rel="self" href="$rss.self"/>
|
||||
<description>Friendika timeline</description>
|
||||
<language>$rss.language</language>
|
||||
<ttl>40</ttl>
|
||||
|
||||
{{ for $statuses as $status }}
|
||||
<entry>
|
||||
<item>
|
||||
<title>$status.text</title>
|
||||
<content type="html">$status.text</content>
|
||||
<id>$status.id</id>
|
||||
<published>$status.created_at</published>
|
||||
<updated>$status.created_at</updated>
|
||||
<link type="text/html" rel="alternate" href="$status.url"/>
|
||||
<author>
|
||||
<name>$status.user.name</name>
|
||||
<uri>$status.user.url</uri>
|
||||
</author>
|
||||
<description>$status.text</description>
|
||||
<pubDate>$status.created_at</pubDate>
|
||||
<guid>$status.url</guid>
|
||||
<link>$status.url</link>
|
||||
<twitter:source>$status.source</twitter:source>
|
||||
</entry>
|
||||
</item>
|
||||
{{ endfor }}
|
||||
</feed>
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
Loading…
Reference in a new issue