X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=object%2FItem.php;h=04c1a707e3a6e3eb6fef18ac4006dbe3252200c2;hb=36769d77eba0bc90cff6942ba55b00047cb25a2b;hp=63fa43d3e25eb2feb41e78f8cab56a84bb2432d7;hpb=a58be379300229b72aae193b6d7cac7287922c27;p=friendica.git diff --git a/object/Item.php b/object/Item.php index 63fa43d3e2..04c1a707e3 100644 --- a/object/Item.php +++ b/object/Item.php @@ -81,7 +81,7 @@ class Item extends BaseObject { * _ The data requested on success * _ false on failure */ - public function get_template_data($alike, $dlike, $thread_level=1) { + public function get_template_data($conv_responses, $thread_level=1) { require_once("mod/proxy.php"); $result = array(); @@ -117,9 +117,12 @@ class Item extends BaseObject { ? t('Private Message') : false); $shareable = ((($conv->get_profile_owner() == local_user()) && ($item['private'] != 1)) ? true : false); - if(local_user() && link_compare($a->contact['url'],$item['author-link'])) - $edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit")); - else + if(local_user() && link_compare($a->contact['url'],$item['author-link'])) { + if ($item["event-id"] != 0) + $edpost = array($a->get_baseurl($ssl_state)."/events/event/".$item['event-id'], t("Edit")); + else + $edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit")); + } else $edpost = false; if(($this->get_data_value('uid') == local_user()) || $this->is_visiting()) $dropping = true; @@ -175,8 +178,26 @@ class Item extends BaseObject { } }*/ - $like = ((x($alike,$item['uri'])) ? format_like($alike[$item['uri']],$alike[$item['uri'] . '-l'],'like',$item['uri']) : ''); - $dislike = ((x($dlike,$item['uri'])) ? format_like($dlike[$item['uri']],$dlike[$item['uri'] . '-l'],'dislike',$item['uri']) : ''); + // process action responses - e.g. like/dislike/attend/agree/whatever + $response_verbs = array('like'); + if(feature_enabled($conv->get_profile_owner(),'dislike')) + $response_verbs[] = 'dislike'; + if($item['object-type'] === ACTIVITY_OBJ_EVENT) { + $response_verbs[] = 'attendyes'; + $response_verbs[] = 'attendno'; + $response_verbs[] = 'attendmaybe'; + if($conv->is_writable()) { + $isevent = true; + $attend = array( t('I will attend'), t('I will not attend'), t('I might attend')); + } + } + + $responses = get_responses($conv_responses,$response_verbs,$this,$item); + + foreach ($response_verbs as $value=>$verbs) { + $responses[$verbs][output] = ((x($conv_responses[$verbs],$item['uri'])) ? format_like($conv_responses[$verbs][$item['uri']],$conv_responses[$verbs][$item['uri'] . '-l'],$verbs,$item['uri']) : ''); + + } /* * We should avoid doing this all the time, but it depends on the conversation mode @@ -291,7 +312,7 @@ class Item extends BaseObject { // Disable features that aren't available in several networks if (($item["item_network"] != NETWORK_DFRN) AND isset($buttons["dislike"])) { - unset($buttons["dislike"]); + unset($buttons["dislike"],$isevent); $tagger = ''; } @@ -331,6 +352,8 @@ class Item extends BaseObject { 'text' => $text_e, 'id' => $this->get_id(), 'guid' => urlencode($item['guid']), + 'isevent' => $isevent, + 'attend' => $attend, 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'olinktitle' => sprintf( t('View %s\'s profile @ %s'), htmlentities($this->get_owner_name()), ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])), 'to' => t('to'), @@ -364,15 +387,16 @@ class Item extends BaseObject { 'filer' => ((feature_enabled($conv->get_profile_owner(),'filing')) ? $filer : ''), 'drop' => $drop, 'vote' => $buttons, - 'like' => $like, - 'dislike' => $dislike, + 'like' => $responses['like']['output'], + 'dislike' => $responses['dislike']['output'], + 'responses' => $responses, 'switchcomment' => t('Comment'), 'comment' => $comment, 'previewing' => ($conv->is_preview() ? ' preview ' : ''), 'wait' => t('Please wait'), 'thread_level' => $thread_level, - 'postopts' => $langstr, - 'edited' => $edited, + 'postopts' => $langstr, + 'edited' => $edited, 'network' => $item["item_network"], 'network_name' => network_to_name($item['item_network'], $profile_link), ); @@ -387,7 +411,7 @@ class Item extends BaseObject { $nb_children = count($children); if($nb_children > 0) { foreach($children as $child) { - $result['children'][] = $child->get_template_data($alike, $dlike, $thread_level + 1); + $result['children'][] = $child->get_template_data($conv_responses, $thread_level + 1); } // Collapse if(($nb_children > 2) || ($thread_level > 1)) {