]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Merge pull request #806 from maase2/patch-6
[friendica.git] / include / api.php
index 60015566659452dc00782b26608f43d1ec18d323..292d87f0f29cc0e7e86342d14b7e03f290cc9677 100644 (file)
        function api_status_show(&$a, $type){
                $user_info = api_get_user($a);
                // get last public wall message
-               $lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `i`.`nick` as `reply_author`
-                               FROM `item`, `contact`,
-                                       (SELECT `item`.`id`, `item`.`contact-id`, `contact`.`nick` FROM `item`,`contact` WHERE `contact`.`id`=`item`.`contact-id`) as `i` 
+
+               $lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `c`.`nick` as `reply_author`
+                               FROM `item`, `contact`, `item` as `i`, `contact` as `c`
                                WHERE `item`.`contact-id` = %d
                                        AND `i`.`id` = `item`.`parent`
-                                       AND `contact`.`id`=`item`.`contact-id` AND `contact`.`self`=1
-                                       AND `type`!='activity'
+                                       AND `contact`.`id`=`item`.`contact-id` AND `c`.`id`=`i`.`contact-id` AND `contact`.`self`=1
+                                       AND `item`.`type`!='activity'
                                        AND `item`.`allow_cid`='' AND `item`.`allow_gid`='' AND `item`.`deny_cid`='' AND `item`.`deny_gid`=''
-                               ORDER BY `created` DESC 
+                               ORDER BY `item`.`created` DESC
                                LIMIT 1",
                                intval($user_info['id'])
                );
 
+//             $lastwall = q("SELECT `item`.*, `i`.`contact-id` as `reply_uid`, `i`.`nick` as `reply_author`
+//                             FROM `item`, `contact`,
+//                                     (SELECT `item`.`id`, `item`.`contact-id`, `contact`.`nick` FROM `item`,`contact` WHERE `contact`.`id`=`item`.`contact-id`) as `i` 
+//                             WHERE `item`.`contact-id` = %d
+//                                     AND `i`.`id` = `item`.`parent`
+//                                     AND `contact`.`id`=`item`.`contact-id` AND `contact`.`self`=1
+//                                     AND `type`!='activity'
+//                                     AND `item`.`allow_cid`='' AND `item`.`allow_gid`='' AND `item`.`deny_cid`='' AND `item`.`deny_gid`=''
+//                             ORDER BY `created` DESC
+//                             LIMIT 1",
+//                             intval($user_info['id'])
+//             );
+
                if (count($lastwall)>0){
                        $lastwall = $lastwall[0];
 
                                'created_at' => api_date($lastwall['created']),
                                'in_reply_to_status_id' => $in_reply_to_status_id,
                                'source' => (($lastwall['app']) ? $lastwall['app'] : 'web'),
-                               'id' => $lastwall['contact-id'],
+                               'id' => $lastwall['id'],
                                'in_reply_to_user_id' => $in_reply_to_user_id,
                                'in_reply_to_screen_name' => $in_reply_to_screen_name,
                                'geo' => '',
                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);
-               $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
                //$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
+               $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
+               $conversation_id = (x($_REQUEST,'conversation_id')?$_REQUEST['conversation_id']:0);
 
                $start = $page*$count;
 
                        $sql_extra .= ' AND `item`.`id` <= '.intval($max_id);
                if ($exclude_replies > 0)
                        $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
+               if ($conversation_id > 0)
+                       $sql_extra .= ' AND `item`.`parent` = '.intval($conversation_id);
 
                $r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                $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);
+               $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
+               $conversation_id = (x($_REQUEST,'conversation_id')?$_REQUEST['conversation_id']:0);
 
                $start = $page*$count;
 
 
                if ($max_id > 0)
                        $sql_extra = 'AND `item`.`id` <= '.intval($max_id);
+               if ($exclude_replies > 0)
+                       $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
+               if ($conversation_id > 0)
+                       $sql_extra .= ' AND `item`.`parent` = '.intval($conversation_id);
 
                /*$r = q("SELECT `item`.*, `item`.`id` AS `item_id`,
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                );
 
                if ($r[0]['body'] != "") {
-                       if (intval(get_config('system','new_share'))) {
+                       if (!intval(get_config('system','old_share'))) {
                                $post = "[share author='".str_replace("'", "&#039;", $r[0]['reply_author']).
                                                "' profile='".$r[0]['reply_url'].
                                                "' avatar='".$r[0]['reply_photo'].
                $page = (x($_REQUEST,'page')?$_REQUEST['page']-1:0);
                if ($page<0) $page=0;
                $since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
-               $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
                //$since_id = 0;//$since_id = (x($_REQUEST,'since_id')?$_REQUEST['since_id']:0);
-               
+               $exclude_replies = (x($_REQUEST,'exclude_replies')?1:0);
+               $conversation_id = (x($_REQUEST,'conversation_id')?$_REQUEST['conversation_id']:0);
+
                $start = $page*$count;
 
                $sql_extra = '';
                if ($user_info['self']==1) $sql_extra .= " AND `item`.`wall` = 1 ";
-               if ($exclude_replies > 0)  $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
+
+               if ($exclude_replies > 0)
+                       $sql_extra .= ' AND `item`.`parent` = `item`.`id`';
+               if ($conversation_id > 0)
+                       $sql_extra .= ' AND `item`.`parent` = '.intval($conversation_id);
 
                $r = q("SELECT `item`.*, `item`.`id` AS `item_id`, 
                        `contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`rel`,
                return api_apply_template('test', $type, array('$ok' => $ok));
 
        }
-       api_register_func('api/help/test','api_help_test',true);
+       api_register_func('api/help/test','api_help_test',false);
 
        /**
         *  https://dev.twitter.com/docs/api/1/get/statuses/friends