$record = $r[0];
} else {
logger('API_login failure: ' . print_r($_SERVER,true), LOGGER_DEBUG);
- header('WWW-Authenticate: Basic realm="Friendika"');
+ header('WWW-Authenticate: Basic realm="Friendica"');
header('HTTP/1.0 401 Unauthorized');
die('This api requires login');
}
$page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0);
if ($page<0) $page=0;
$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
+ $max_id = (x($_REQUEST,'max_id')?$_REQUEST['max_id']:0);
//$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
$start = $page*$count;
//$include_entities = (x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:false);
+ if ($max_id > 0)
+ $sql_extra = 'AND `item`.`id` <= '.intval($max_id);
+
$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
api_register_func('api/statuses/friends_timeline','api_statuses_home_timeline', true);
/**
- *
- * http://developer.twitter.com/doc/get/statuses/show
*
*/
function api_statuses_show(&$a, $type){
}
api_register_func('api/statuses/show','api_statuses_show', true);
+ //api_register_func('api/statuses/mentions','api_statuses_mentions', true);
+ //api_register_func('api/statuses/replies','api_statuses_mentions', true);
+
function api_statuses_user_timeline(&$a, $type){
if (local_user()===false) return false;
$status_user = (($item['cid']==$user_info['id'])?$user_info: api_item_get_user($a,$item));
if ($item['parent']!=$item['id']) {
+ $r = q("select id from item where parent=%s and id<%s order by id desc limit 1",
+ intval($item['parent']), intval($item['id']));
+ if ($r)
+ $in_reply_to_status_id = $r[0]['id'];
+ else
+ $in_reply_to_status_id = $item['parent'];
- $r = q("select `item`.`contact-id`, `contact`.nick from item, contact
- where `contact`.`id` = `item`.`contact-id` and `item`.id=%d", intval($item['parent']));
+ $r = q("select `item`.`contact-id`, `contact`.nick, `item`.`author-name` from item, contact
+ where `contact`.`id` = `item`.`contact-id` and `item`.id=%d", intval($in_reply_to_status_id));
- $in_reply_to_screen_name = $r[0]['nick'];
+ $in_reply_to_screen_name = $r[0]['author-name'];
$in_reply_to_user_id = $r[0]['contact-id'];
+
} else {
$in_reply_to_screen_name = '';
$in_reply_to_user_id = 0;
+ $in_reply_to_status_id = 0;
}
$status = array(
- 'text' => html2plain(bbcode($item['body']), 0),
+ 'text' => trim($item['title']." \n".html2plain(bbcode($item['body']), 0)),
'truncated' => False,
'created_at'=> api_date($item['created']),
- 'in_reply_to_status_id' => ($item['parent']!=$item['id']? intval($item['parent']):''),
+ 'in_reply_to_status_id' => $in_reply_to_status_id,
'source' => (($item['app']) ? $item['app'] : 'web'),
'id' => intval($item['id']),
'in_reply_to_user_id' => $in_reply_to_user_id,
api_register_func('api/oauth/request_token', 'api_oauth_request_token', false);
api_register_func('api/oauth/access_token', 'api_oauth_access_token', false);
-
+/*
+Not implemented by now:
+statuses/public_timeline
+statuses/mentions
+statuses/replies
+statuses/retweets_of_me
+statuses/destroy
+statuses/retweet
+friendships/create
+friendships/destroy
+friendships/exists
+friendships/show
+account/update_location
+account/update_profile_background_image
+account/update_profile_image
+favorites
+favorites/create
+favorites/destroy
+blocks/create
+blocks/destroy
+oauth/authorize
+
+Not implemented in status.net:
+statuses/retweeted_to_me
+statuses/retweeted_by_me
+direct_messages/destroy
+account/end_session
+account/update_delivery_device
+notifications/follow
+notifications/leave
+blocks/exists
+blocks/blocking
+*/