diff --git a/include/api.php b/include/api.php index 762ea6d07b..2e310ea3e6 100644 --- a/include/api.php +++ b/include/api.php @@ -1336,7 +1336,7 @@ intval($since_id), intval($start), intval($count) ); - + $ret = api_format_items($r,$user_info); // Set all posts from the query above to seen @@ -2277,21 +2277,26 @@ */ function api_format_items_likes(&$item) { $activities = array( - ACTIVITY_LIKE => 'like', - ACTIVITY_DISLIKE => 'dislike', - ACTIVITY_ATTEND => 'attendyes', - ACTIVITY_ATTENDNO => 'attendno', - ACTIVITY_ATTENDMAYBE => 'attendmaybe' + 'like' => array(), + 'dislike' => array(), + 'attendyes' => array(), + 'attendno' => array(), + 'attendmaybe' => array() ); - $r = q("SELECT verb, count(verb) as n FROM item WHERE parent=%d GROUP BY verb", - intval($item['id'])); + $items = q('SELECT * FROM item + WHERE uid=%d AND `thr-parent`="%s" AND visible AND NOT deleted', + intval($item['uid']), + dbesc($item['uri'])); + foreach ($items as $i){ + builtin_activity_puller($i, $activities); + } $res = array(); - foreach($r as $row) { - if (x($activities, $row['verb'])) { - $res[$activities[$row['verb']]] = $row['n']; - } + $uri = $item['uri']; + foreach($activities as $k => $v) { + $res[$k] = (x($v,$uri)?$v[$uri]:0); } + return $res; } @@ -3395,8 +3400,9 @@ function api_friendica_activity(&$a, $type) { if (api_user()===false) throw new ForbiddenException(); - #$verb = (x($_REQUEST, 'verb') ? strtolower($_REQUEST['verb']) : ''); $verb = strtolower($a->argv[3]); + $verb = preg_replace("|\..*$|", "", $verb); + $id = (x($_REQUEST, 'id') ? $_REQUEST['id'] : 0); $res = do_like($id, $verb); @@ -3406,7 +3412,7 @@ $ok = "true"; else $ok = "ok"; - return api_apply_template('test', $type, array("$ok" => $ok)); + return api_apply_template('test', $type, array('ok' => $ok)); } else { throw new BadRequestException('Error adding activity'); } diff --git a/include/conversation.php b/include/conversation.php index f2d3cda33b..7eae1e052e 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -354,7 +354,7 @@ function count_descendants($item) { function visible_activity($item) { - // likes (etc.) can apply to other things besides posts. Check if they are post children, + // likes (etc.) can apply to other things besides posts. Check if they are post children, // in which case we handle them specially $hidden_activities = array(ACTIVITY_LIKE, ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE); @@ -505,7 +505,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $hide_comments_tpl = get_markup_template('hide_comments.tpl'); $conv_responses = array( - 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')), + 'like' => array('title' => t('Likes','title')), 'dislike' => array('title' => t('Dislikes','title')), 'attendyes' => array('title' => t('Attending','title')), 'attendno' => array('title' => t('Not attending','title')), 'attendmaybe' => array('title' => t('Might attend','title')) ); @@ -946,7 +946,6 @@ function item_photo_menu($item){ * @brief Checks item to see if it is one of the builtin activities (like/dislike, event attendance, consensus items, etc.) * Increments the count of each matching activity and adds a link to the author as needed. * - * @param array $a (not used) * @param array $item * @param array &$conv_responses (already created with builtin activity structure) * @return void @@ -1382,7 +1381,7 @@ function get_responses($conv_responses,$response_verbs,$ob,$item) { $ret[$v]['list'] = ((x($conv_responses[$v],$item['uri'])) ? $conv_responses[$v][$item['uri'] . '-l'] : ''); if(count($ret[$v]['list']) > MAX_LIKERS) { $ret[$v]['list_part'] = array_slice($ret[$v]['list'], 0, MAX_LIKERS); - array_push($ret[$v]['list_part'], '' . t('View all') . ''); } else {