X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fapi.php;h=7d230629b0dab4445e41a0d9de140c46f71fef3e;hb=1f8182a4533c097cfc06f877f3392be2e41d82b4;hp=2da183f01925eb1651d8fe46c41a7ff28d6d7a1e;hpb=af1d4bb632aa1f6c9fb9f756f1d8606f9fe947e1;p=friendica.git diff --git a/include/api.php b/include/api.php index 2da183f019..7d230629b0 100644 --- a/include/api.php +++ b/include/api.php @@ -156,6 +156,7 @@ //echo "
"; var_dump($r); die(); } } + header("HTTP/1.1 404 Not Found"); logger('API call not implemented: '.$a->query_string." - ".print_r($_REQUEST,true)); $r = ''; switch($type){ @@ -490,7 +491,8 @@ $_REQUEST['type'] = 'wall'; $_REQUEST['profile_uid'] = local_user(); $_REQUEST['api_source'] = true; - $txt = urldecode(requestdata('status')); + $txt = requestdata('status'); + //$txt = urldecode(requestdata('status')); require_once('library/HTMLPurifier.auto.php'); require_once('include/html2bbcode.php'); @@ -554,7 +556,8 @@ } else - $_REQUEST['body'] = urldecode(requestdata('status')); + $_REQUEST['body'] = requestdata('status'); + //$_REQUEST['body'] = urldecode(requestdata('status')); $parent = requestdata('in_reply_to_status_id'); if(ctype_digit($parent)) @@ -565,18 +568,19 @@ if(requestdata('lat') && requestdata('long')) $_REQUEST['coord'] = sprintf("%s %s",requestdata('lat'),requestdata('long')); $_REQUEST['profile_uid'] = local_user(); - if(requestdata('parent')) + + if($parent) $_REQUEST['type'] = 'net-comment'; else { $_REQUEST['type'] = 'wall'; - if(x($_FILES,'media')) { - // upload the image if we have one - $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo - require_once('mod/wall_upload.php'); - $media = wall_upload_post($a); - if(strlen($media)>0) - $_REQUEST['body'] .= "\n\n".$media; - } + if(x($_FILES,'media')) { + // upload the image if we have one + $_REQUEST['hush']='yeah'; //tell wall_upload function to return img info instead of echo + require_once('mod/wall_upload.php'); + $media = wall_upload_post($a); + if(strlen($media)>0) + $_REQUEST['body'] .= "\n\n".$media; + } } // set this so that the item_post() function is quiet and doesn't redirect or emit json @@ -1237,6 +1241,40 @@ return($as); } + function api_format_messages($item, $recipient, $sender) { + // standard meta information + $ret=Array( + 'id' => $item['id'], + 'created_at' => api_date($item['created']), + 'sender_id' => $sender['id'] , + 'sender_screen_name' => $sender['screen_name'], + 'sender' => $sender, + 'recipient_id' => $recipient['id'], + 'recipient_screen_name' => $recipient['screen_name'], + 'recipient' => $recipient, + ); + + //don't send title to regular StatusNET requests to avoid confusing these apps + if (x($_GET, 'getText')) { + $ret['title'] = $item['title'] ; + if ($_GET["getText"] == "html") { + $ret['text'] = bbcode($item['body']); + } + elseif ($_GET["getText"] == "plain") { + $ret['text'] = html2plain(bbcode($item['body']), 0); + } + } + else { + $ret['text'] = $item['title']."\n".html2plain(bbcode($item['body']), 0); + } + if (isset($_GET["getUserObjects"]) && $_GET["getUserObjects"] == "false") { + unset($ret['sender']); + unset($ret['recipient']); + } + + return $ret; + } + function api_format_items($r,$user_info) { //logger('api_format_items: ' . print_r($r,true)); @@ -1526,10 +1564,10 @@ $replyto = ''; $sub = ''; if (x($_REQUEST,'replyto')) { - $r = q('SELECT `uri`, `title` FROM `mail` WHERE `uid`=%d AND `id`=%d', + $r = q('SELECT `parent-uri`, `title` FROM `mail` WHERE `uid`=%d AND `id`=%d', intval(local_user()), intval($_REQUEST['replyto'])); - $replyto = $r[0]['uri']; + $replyto = $r[0]['parent-uri']; $sub = $r[0]['title']; } else { @@ -1545,20 +1583,7 @@ if ($id>-1) { $r = q("SELECT * FROM `mail` WHERE id=%d", intval($id)); - $item = $r[0]; - $ret=Array( - 'id' => $item['id'], - 'created_at'=> api_date($item['created']), - 'sender_id'=> $sender['id'] , - 'sender_screen_name'=> $sender['screen_name'], - 'sender'=> $sender, - 'recipient_id'=> $recipient['id'], - 'recipient_screen_name'=> $recipient['screen_name'], - 'recipient'=> $recipient, - - 'text'=> $item['title']."\n".html2plain(bbcode($item['body']), 0) , - - ); + $ret = api_format_messages($r[0], $recipient, $sender); } else { $ret = array("error"=>$id); @@ -1577,7 +1602,7 @@ } api_register_func('api/direct_messages/new','api_direct_messages_new',true); - function api_direct_messages_box(&$a, $type, $box) { + function api_direct_messages_box(&$a, $type, $box) { if (local_user()===false) return false; $user_info = api_get_user($a); @@ -1589,14 +1614,17 @@ $start = $page*$count; - $profile_url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; + $profile_url = $a->get_baseurl() . '/profile/' . $a->user['nickname']; if ($box=="sentbox") { $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") { + } + 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 )."'"; } @@ -1606,41 +1634,17 @@ ); $ret = Array(); - foreach($r as $item){ + foreach($r as $item) { if ($box == "inbox" || $item['from-url'] != $profile_url){ - $recipient = $user_info; - $sender = api_get_user($a,$item['contact-id']); - } elseif ($box == "sentbox" || $item['from-url'] != $profile_url){ - $recipient = api_get_user($a,$item['contact-id']); - $sender = $user_info; + $recipient = $user_info; + $sender = api_get_user($a,$item['contact-id']); } - - $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, - ); - //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; + elseif ($box == "sentbox" || $item['from-url'] != $profile_url){ + $recipient = api_get_user($a,$item['contact-id']); + $sender = $user_info; + } + + $ret[]=api_format_messages($item, $recipient, $sender); } @@ -1724,4 +1728,6 @@ notifications/follow notifications/leave blocks/exists blocks/blocking +lists */ + not implemented