aboutsummaryrefslogtreecommitdiffstats
path: root/include/api.php
diff options
context:
space:
mode:
Diffstat (limited to 'include/api.php')
-rw-r--r--include/api.php60
1 files changed, 43 insertions, 17 deletions
diff --git a/include/api.php b/include/api.php
index ac9c2cc84..1db9d020b 100644
--- a/include/api.php
+++ b/include/api.php
@@ -1433,7 +1433,13 @@
'logo' => $logo, 'fancy' => 'true', 'language' => 'en', 'email' => $email, 'broughtby' => '',
'broughtbyurl' => '', 'timezone' => 'UTC', 'closed' => $closed, 'inviteonly' => 'false',
'private' => $private, 'textlimit' => $textlimit, 'sslserver' => $sslserver, 'ssl' => $ssl,
- 'shorturllength' => '30'
+ 'shorturllength' => '30',
+ 'friendica' => array(
+ 'FRIENDICA_PLATFORM' => FRIENDICA_PLATFORM,
+ 'FRIENDICA_VERSION' => FRIENDICA_VERSION,
+ 'DFRN_PROTOCOL_VERSION' => DFRN_PROTOCOL_VERSION,
+ 'DB_UPDATE_VERSION' => DB_UPDATE_VERSION
+ )
),
);
@@ -1579,46 +1585,58 @@
$start = $page*$count;
-
+ $profile_url = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
if ($box=="sentbox") {
- $sql_extra = "`from-url`='%s'";
- } else {
- $sql_extra = "`from-url`!='%s'";
+ $sql_extra = "`from-url`='".dbesc( $profile_url )."'";
+ } elseif ($box=="conversation") {
+ $sql_extra = "`parent-uri`='".dbesc( $_GET["uri"] ) ."'";
+ } elseif ($box=="all") {
+ $sql_extra = "true";
+ } elseif ($box=="inbox") {
+ $sql_extra = "`from-url`!='".dbesc( $profile_url )."'";
}
$r = q("SELECT * FROM `mail` WHERE uid=%d AND $sql_extra ORDER BY created DESC LIMIT %d,%d",
intval(local_user()),
- dbesc( $a->get_baseurl() . '/profile/' . $a->user['nickname'] ),
intval($start), intval($count)
- );
+ );
$ret = Array();
foreach($r as $item){
- switch ($box){
- case "inbox":
+ if ($box == "inbox" || $item['from-url'] != $profile_url){
$recipient = $user_info;
$sender = api_get_user($a,$item['contact-id']);
- break;
- case "sentbox":
+ } elseif ($box == "sentbox" || $item['from-url'] != $profile_url){
$recipient = api_get_user($a,$item['contact-id']);
$sender = $user_info;
- break;
}
- $ret[]=Array(
+ $d=Array(
'id' => $item['id'],
'created_at'=> api_date($item['created']),
'sender_id'=> $sender['id'] ,
'sender_screen_name'=> $sender['screen_name'],
+ 'sender_profile_img'=> $item['from-photo'],
'sender'=> $sender,
'recipient_id'=> $recipient['id'],
'recipient_screen_name'=> $recipient['screen_name'],
'recipient'=> $recipient,
-
- 'text'=> $item['title']."\n".html2plain(bbcode($item['body']), 0) ,
-
);
-
+ //don't send title to regular StatusNET requests to avoid confusing these apps
+ if (isset($_GET["getText"])) {
+ $d['title'] = $item['title'] ;
+ if ($_GET["getText"] == "html") {
+ $d['text'] = bbcode($item['body']);
+ } elseif ($_GET["getText"] == "plain") {
+ $d['text'] = html2plain(bbcode($item['body']), 0);
+ }
+ } else {
+ $d['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0);
+ }
+ if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") {
+ unset($d['sender']); unset($d['recipient']);
+ }
+ $ret[]=$d;
}
@@ -1639,6 +1657,14 @@
function api_direct_messages_inbox(&$a, $type){
return api_direct_messages_box($a, $type, "inbox");
}
+ function api_direct_messages_all(&$a, $type){
+ return api_direct_messages_box($a, $type, "all");
+ }
+ function api_direct_messages_conversation(&$a, $type){
+ return api_direct_messages_box($a, $type, "conversation");
+ }
+ api_register_func('api/direct_messages/conversation','api_direct_messages_conversation',true);
+ api_register_func('api/direct_messages/all','api_direct_messages_all',true);
api_register_func('api/direct_messages/sent','api_direct_messages_sentbox',true);
api_register_func('api/direct_messages','api_direct_messages_inbox',true);