From ef0cc850d4931c893adfa7ae6c06baba152522f4 Mon Sep 17 00:00:00 2001 From: gerhard6380 Date: Fri, 12 Aug 2016 15:40:22 +0200 Subject: [PATCH] remove api_friendica_direct_messages_all instead included 'friendica_verbose' parameter into standard function api_direct_messages_box() --- include/api.php | 111 +++++++----------------------------------------- 1 file changed, 16 insertions(+), 95 deletions(-) diff --git a/include/api.php b/include/api.php index fdaf50e661..df93c2aefb 100644 --- a/include/api.php +++ b/include/api.php @@ -2808,7 +2808,7 @@ } api_register_func('api/direct_messages/new','api_direct_messages_new',true, API_METHOD_POST); - function api_direct_messages_box($type, $box) { + function api_direct_messages_box($type, $box, $verbose) { $a = get_app(); @@ -2868,7 +2868,13 @@ intval($since_id), intval($start), intval($count) ); - + if ($verbose == "true") { + // stop execution and return error message if no mails available + if($r == null) { + $answer = array('result' => 'error', 'message' => 'no mails available'); + return api_format_data("direct_messages_all", $type, array('$result' => $answer)); + } + } $ret = Array(); foreach($r as $item) { @@ -2897,16 +2903,20 @@ } function api_direct_messages_sentbox($type){ - return api_direct_messages_box($type, "sentbox"); + $verbose = (x($_GET,'friendica_verbose')?strtolower($_GET['friendica_verbose']):"false"); + return api_direct_messages_box($type, "sentbox", $verbose); } function api_direct_messages_inbox($type){ - return api_direct_messages_box($type, "inbox"); + $verbose = (x($_GET,'friendica_verbose')?strtolower($_GET['friendica_verbose']):"false"); + return api_direct_messages_box($type, "inbox", $verbose); } function api_direct_messages_all($type){ - return api_direct_messages_box($type, "all"); + $verbose = (x($_GET,'friendica_verbose')?strtolower($_GET['friendica_verbose']):"false"); + return api_direct_messages_box($type, "all", $verbose); } function api_direct_messages_conversation($type){ - return api_direct_messages_box($type, "conversation"); + $verbose = (x($_GET,'friendica_verbose')?strtolower($_GET['friendica_verbose']):"false"); + return api_direct_messages_box($type, "conversation", $verbose); } api_register_func('api/direct_messages/conversation','api_direct_messages_conversation',true); api_register_func('api/direct_messages/all','api_direct_messages_all',true); @@ -3667,95 +3677,6 @@ api_register_func('api/friendica/notification', 'api_friendica_notification', true, API_METHOD_GET); - /** - * @brief return direct_messages (similar to direct_messages/all, but additional - * error string returned if no mails available to react in client with notification) - * - * @param string $type Known types are 'atom', 'rss', 'xml' and 'json' - * @return string (error -> No Mails available, success -> return messages) - */ - function api_friendica_direct_messages_all($type){ - $a = get_app(); - - if (api_user()===false) throw new ForbiddenException(); - - // params - $count = (x($_GET,'count')?$_GET['count']:20); - $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); - - $user_id = (x($_REQUEST,'user_id')?$_REQUEST['user_id']:""); - $screen_name = (x($_REQUEST,'screen_name')?$_REQUEST['screen_name']:""); - - // caller user info - unset($_REQUEST["user_id"]); - unset($_GET["user_id"]); - - unset($_REQUEST["screen_name"]); - unset($_GET["screen_name"]); - - $user_info = api_get_user($a); - $profile_url = $user_info["url"]; - - // pagination - $start = $page*$count; - - // filters - $sql_extra = "true"; - - if ($max_id > 0) - $sql_extra .= ' AND `mail`.`id` <= '.intval($max_id); - - if ($user_id !="") { - $sql_extra .= ' AND `mail`.`contact-id` = ' . intval($user_id); - } - elseif($screen_name !=""){ - $sql_extra .= " AND `contact`.`nick` = '" . dbesc($screen_name). "'"; - } - - $r = q("SELECT `mail`.*, `contact`.`nurl` AS `contact-url` FROM `mail`,`contact` WHERE `mail`.`contact-id` = `contact`.`id` AND `mail`.`uid`=%d AND $sql_extra AND `mail`.`id` > %d ORDER BY `mail`.`id` DESC LIMIT %d,%d", - intval(api_user()), - intval($since_id), - intval($start), intval($count) - ); - - // stop execution and return error message if no mails available - if($r == null) { - $answer = array('result' => 'error', 'message' => 'no mails available'); - return api_format_data("direct_messages_all", $type, array('$result' => $answer)); - } - - $ret = Array(); - foreach($r as $item) { - if ($box == "inbox" || $item['from-url'] != $profile_url){ - $recipient = $user_info; - $sender = api_get_user($a,normalise_link($item['contact-url'])); - } - elseif ($box == "sentbox" || $item['from-url'] == $profile_url){ - $recipient = api_get_user($a,normalise_link($item['contact-url'])); - $sender = $user_info; - - } - $ret[]=api_format_messages($item, $recipient, $sender); - } - - - $data = array('direct-messages' => $ret); - switch($type){ - case "atom": - case "rss": - $data = api_rss_extra($a, $data, $user_info); - } - - return api_format_data("direct-messages", $type, $data); - - } - api_register_func('api/friendica/direct_messages_all', 'api_friendica_direct_messages_all', true); - - /** * @brief update a direct_message to seen state *