X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=object%2FItem.php;h=04c1a707e3a6e3eb6fef18ac4006dbe3252200c2;hb=36769d77eba0bc90cff6942ba55b00047cb25a2b;hp=e680e293629122771d52593b6fb8808779c61173;hpb=0077494396a963b748f30a1e47f75fe097189956;p=friendica.git diff --git a/object/Item.php b/object/Item.php index e680e29362..04c1a707e3 100644 --- a/object/Item.php +++ b/object/Item.php @@ -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; @@ -134,7 +137,7 @@ class Item extends BaseObject { $filer = (($conv->get_profile_owner() == local_user()) ? t("save to folder") : false); $diff_author = ((link_compare($item['url'],$item['author-link'])) ? false : true); - $profile_name = (((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']); + $profile_name = htmlentities(((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']); if($item['author-link'] && (! $item['author-name'])) $profile_name = $item['author-link']; @@ -175,51 +178,26 @@ class Item extends BaseObject { } }*/ - // 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'; - $isevent = true; - $attend = array( t('I will attend'), t('I will not attend'), t('I might attend')); - } - $consensus = (($item['item_flags'] & ITEM_CONSENSUS)? true : false); - if($consensus) { - $response_verbs[] = 'agree'; - $response_verbs[] = 'disagree'; - $response_verbs[] = 'abstain'; + 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); - // like_button_label from red -> needs to be removed - //$like_button_label = tt('Like','Likes',$like_count,'noun'); + 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']) : ''); - // another part from red - it is here for compatility - maybe removed later - $like_count = ((x($conv_responses['like'],$item['uri'])) ? $conv_responses['like'][$item['uri']] : ''); - $like_list = ((x($conv_responses['like'],$item['uri'])) ? $conv_responses['like'][$item['uri'] . '-l'] : ''); - if (count($like_list) > MAX_LIKERS) { - $like_list_part = array_slice($like_list, 0, MAX_LIKERS); - array_push($like_list_part, '' . t('View all') . ''); - } else { - $like_list_part = ''; } - $like_button_label = tt('Like','Likes',$like_count,'noun'); - $dislike_count = ((x($conv_responses['dislike'],$item['uri'])) ? $conv_responses['dislike'][$item['uri']] : ''); - $dislike_list = ((x($conv_responses['dislike'],$item['uri'])) ? $conv_responses['dislike'][$item['uri'] . '-l'] : ''); - $dislike_button_label = tt('Dislike','Dislikes',$dislike_count,'noun'); - if (count($dislike_list) > MAX_LIKERS) { - $dislike_list_part = array_slice($dislike_list, 0, MAX_LIKERS); - array_push($dislike_list_part, '' . t('View all') . ''); - } else { - $dislike_list_part = ''; - } - - $like = ((x($conv_responses['like'],$item['uri'])) ? format_like($conv_responses['like'][$item['uri']],$conv_responses['like'][$item['uri'] . '-l'],'like',$item['uri']) : ''); - $dislike = ((x($conv_responses['dislike'],$item['uri'])) ? format_like($conv_responses['dislike'][$item['uri']],$conv_responses['dislike'][$item['uri'] . '-l'],'dislike',$item['uri']) : ''); - $like = ((x($conv_responses['like'],$item['uri'])) ? format_like($conv_responses['like'][$item['uri']],$conv_responses['like'][$item['uri'] . '-l'],'like',$item['uri']) : ''); /* * We should avoid doing this all the time, but it depends on the conversation mode @@ -278,6 +256,8 @@ class Item extends BaseObject { if ($shareable) $buttons['share'] = array( t('Share this'), t('share')); } + $comment = $this->get_comment_box($indent); + if(strcmp(datetime_convert('UTC','UTC',$item['created']),datetime_convert('UTC','UTC','now - 12 hours')) > 0){ $shiny = 'shiny'; } @@ -332,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 = ''; } @@ -347,6 +327,10 @@ class Item extends BaseObject { !diaspora_is_redmatrix($item["owner-link"]) AND isset($buttons["like"])) unset($buttons["like"]); + // Diaspora doesn't has multithreaded comments + if (($item["item_network"] == NETWORK_DIASPORA) AND ($indent == 'comment')) + unset($comment); + // Facebook can like comments - but it isn't programmed in the connector yet. if (($item["item_network"] == NETWORK_FACEBOOK) AND ($indent == 'comment') AND isset($buttons["like"])) unset($buttons["like"]); @@ -367,11 +351,11 @@ class Item extends BaseObject { 'body' => $body_e, 'text' => $text_e, 'id' => $this->get_id(), - 'guid' => $item['guid'], + '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'), $this->get_owner_name(), ((strlen($item['owner-link'])) ? $item['owner-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'), 'via' => t('via'), 'wall' => t('Wall-to-Wall'), @@ -379,7 +363,7 @@ class Item extends BaseObject { 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), 'name' => $name_e, - 'thumb' => proxy_url($profile_avatar), + 'thumb' => proxy_url($profile_avatar, false, PROXY_SIZE_THUMB), 'osparkle' => $osparkle, 'sparkle' => $sparkle, 'title' => $title_e, @@ -392,8 +376,8 @@ class Item extends BaseObject { 'indent' => $indent, 'shiny' => $shiny, 'owner_url' => $this->get_owner_url(), - 'owner_photo' => proxy_url($this->get_owner_photo()), - 'owner_name' => $owner_name_e, + 'owner_photo' => proxy_url($this->get_owner_photo(), false, PROXY_SIZE_THUMB), + 'owner_name' => htmlentities($owner_name_e), 'plink' => get_plink($item), 'edpost' => ((feature_enabled($conv->get_profile_owner(),'edit_posts')) ? $edpost : ''), 'isstarred' => $isstarred, @@ -403,16 +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' => $this->get_comment_box($indent), + '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), ); @@ -569,7 +553,7 @@ class Item extends BaseObject { */ public function set_conversation($conv) { $previous_mode = ($this->conversation ? $this->conversation->get_mode() : ''); - + $this->conversation = $conv; // Set it on our children too @@ -690,7 +674,7 @@ class Item extends BaseObject { if(!$this->is_toplevel() && !(get_config('system','thread_allow') && $a->theme_thread_allow)) { return ''; } - + $comment_box = ''; $conv = $this->get_conversation(); $template = get_markup_template($this->get_comment_box_template());