diff --git a/doc/htconfig.md b/doc/htconfig.md index f7266604f6..fa26236673 100644 --- a/doc/htconfig.md +++ b/doc/htconfig.md @@ -57,7 +57,7 @@ line to your .htconfig.php: * qsearch_limit - Default value is 100. * relay_server - Experimental Diaspora feature. Address of the relay server where public posts should be send to. For example https://podrelay.net * relay_subscribe (Boolean) - Enables the receiving of public posts from the relay. They will be included in the search and on the community page when it is set up to show all public items. -* relay_scope - Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts witt selected tags should be received. +* relay_scope - Can be "all" or "tags". "all" means that every public post should be received. "tags" means that only posts with selected tags should be received. * relay_server_tags - Comma separated list of tags for the "tags" subscription (see "relay_scrope") * relay_user_tags (Boolean) - If enabled, the tags from the saved searches will used for the "tags" subscription in addition to the "relay_server_tags". * remove_multiplicated_lines (Boolean) - If enabled, multiple linefeeds in items are stripped to a single one. diff --git a/include/api.php b/include/api.php index a380845ed1..a9c5e7a468 100644 --- a/include/api.php +++ b/include/api.php @@ -2362,29 +2362,54 @@ 'attendno' => array(), 'attendmaybe' => array() ); + $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); + // not used as result should be structured like other user data + //builtin_activity_puller($i, $activities); + + // get user data and add it to the array of the activity + $user = api_get_user($a, $i['author-link']); + switch($i['verb']) { + case ACTIVITY_LIKE: + $activities['like'][] = $user; + break; + case ACTIVITY_DISLIKE: + $activities['dislike'][] = $user; + break; + case ACTIVITY_ATTEND: + $activities['attendyes'][] = $user; + break; + case ACTIVITY_ATTENDNO: + $activities['attendno'][] = $user; + break; + case ACTIVITY_ATTENDMAYBE: + $activities['attendmaybe'][] = $user; + break; + default: + break; + } } if ($type == "xml") { $xml_activities = array(); - foreach ($activities as $k => $v) + foreach ($activities as $k => $v) { + // change xml element from "like" to "friendica:like" $xml_activities["friendica:".$k] = $v; - + // add user data into xml output + $k_user = 0; + foreach ($v as $user) + $xml_activities["friendica:".$k][$k_user++.":user"] = $user; + } $activities = $xml_activities; } - $res = array(); - $uri = $item['uri']."-l"; - foreach($activities as $k => $v) { - $res[$k] = (x($v,$uri)?count($v[$uri]):0); - #$res[$k] = ( x($v,$uri) ? array_map("api_contactlink_to_array", $v[$uri]) : array() ); - } - return $res; + return $activities; + } /** diff --git a/include/conversation.php b/include/conversation.php index 9d7b474af9..057526c547 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -390,7 +390,6 @@ function item_fieldlists() { /* These Fields are not added below (yet). They are here to for bug search. `item`.`type`, -`item`.`object`, `item`.`extid`, `item`.`received`, `item`.`changed`, @@ -399,7 +398,6 @@ These Fields are not added below (yet). They are here to for bug search. `item`.`target`, `item`.`resource-id`, `item`.`tag`, -`item`.`attach`, `item`.`inform`, `item`.`pubmail`, `item`.`visible`, @@ -424,8 +422,8 @@ These Fields are not added below (yet). They are here to for bug search. `item`.`verb`, `item`.`object-type`, `item`.`postopts`, `item`.`plink`, `item`.`guid`, `item`.`wall`, `item`.`private`, `item`.`starred`, `item`.`title`, `item`.`body`, `item`.`file`, `item`.`event-id`, - `item`.`location`, `item`.`coord`, `item`.`app`, - `item`.`rendered-hash`, `item`.`rendered-html`, + `item`.`location`, `item`.`coord`, `item`.`app`, `item`.`attach`, + `item`.`rendered-hash`, `item`.`rendered-html`, `item`.`object`, `item`.`allow_cid`, `item`.`allow_gid`, `item`.`deny_cid`, `item`.`deny_gid`, `item`.`id` AS `item_id`, `item`.`network` AS `item_network`, diff --git a/object/Item.php b/object/Item.php index ee40d186ce..9f01ac59b0 100644 --- a/object/Item.php +++ b/object/Item.php @@ -89,14 +89,14 @@ class Item extends BaseObject { $a = $this->get_app(); $item = $this->get_data(); - $edited = false; - if (strcmp($item['created'], $item['edited'])<>0) { - $edited = array( - 'label' => t('This entry was edited'), - 'date' => datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r'), - 'relative' => relative_date($item['edited']) - ); - } + $edited = false; + if (strcmp($item['created'], $item['edited'])<>0) { + $edited = array( + 'label' => t('This entry was edited'), + 'date' => datetime_convert('UTC', date_default_timezone_get(), $item['edited'], 'r'), + 'relative' => relative_date($item['edited']) + ); + } $commentww = ''; $sparkle = ''; $buttons = ''; @@ -439,10 +439,10 @@ class Item extends BaseObject { } } - if ($this->is_toplevel()) { - $result['total_comments_num'] = "$total_children"; - $result['total_comments_text'] = tt('comment', 'comments', $total_children); - } + if ($this->is_toplevel()) { + $result['total_comments_num'] = "$total_children"; + $result['total_comments_text'] = tt('comment', 'comments', $total_children); + } $result['private'] = $item['private']; $result['toplevel'] = ($this->is_toplevel() ? 'toplevel_item' : '');