/** * Get comments common api controller * * @access protected * @param string $parent_table target parent table * @param int $parent_id target parent record id * @param string $public_flag_related related table for check brows authority * @param array $parent_member_id_relateds related table and property array for check edit authority * @param int $limit record count for get * @param int $limit_max record limited count for get * @param string $parent_id_prop parent table id property. * @return Response (json|html) * @throws Exception in Controller_Base::controller_common_api * @see Controller_Base::controller_common_api */ protected function api_get_comments_common($parent_table, $parent_id, $public_flag_related = null, $parent_member_id_relateds = array(), $limit = 0, $limit_max = 0, $parent_id_prop = null) { $this->api_accept_formats = array('json', 'html'); $this->controller_common_api(function () use($parent_table, $parent_id, $public_flag_related, $parent_member_id_relateds, $limit, $limit_max, $parent_id_prop) { $comment_table = $parent_table . '_comment'; $comment_model = Site_Model::get_model_name($comment_table); $parent_id = (int) $parent_id; $parent_model = Site_Model::get_model_name($parent_table); $parent_obj = $parent_model::check_authority($parent_id, 0, $public_flag_related); if (!$parent_id_prop) { $parent_id_prop = $parent_table . '_id'; } $auther_member_ids = Util_Orm::get_related_member_ids($parent_obj, $parent_member_id_relateds); foreach ($auther_member_ids as $member_id) { $this->check_browse_authority($public_flag_related ? $parent_obj->{$public_flag_related}->public_flag : $parent_obj->public_flag, $member_id); } $member_profile_image_size = Input::get('image_size') ?: 'M'; if (!in_array($member_profile_image_size, array('SS', 'S', 'M'))) { $member_profile_image_size = 'M'; } $default_params = array('latest' => 1, 'limit' => $limit ?: conf('view_params_default.list.comment.limit')); list($limit, $is_latest, $is_desc, $since_id, $max_id) = $this->common_get_list_params($default_params, $limit_max ?: conf('view_params_default.list.comment.limit_max')); list($list, $next_id, $all_comment_count) = $comment_model::get_list(array($parent_id_prop => $parent_id), $limit, $is_latest, $is_desc, $since_id, $max_id, null, $this->format == 'json', $this->format == 'json'); if (conf('like.isEnabled')) { $liked_ids = \Auth::check() ? \Site_Model::get_liked_ids($comment_table, $this->u->id, $list) : array(); } $api_uri_path_prefix = Site_Model::convert_table2controller_path($parent_table); $get_uri = sprintf('%s/comment/api/list/%d.json', $api_uri_path_prefix, $parent_id); $data = array('list' => $list, 'parent' => $parent_obj, 'next_id' => $next_id, 'delete_uri' => sprintf('%s/comment/api/delete.json', $api_uri_path_prefix), 'image_size' => $member_profile_image_size); if ($since_id) { $data['since_id'] = $since_id; } if ($this->format == 'html') { $data += array('auther_member_ids' => $auther_member_ids, 'list_more_box_attrs' => array('id' => 'listMoreBox_comment_' . $parent_id, 'data-uri' => $get_uri, 'data-list' => '#comment_list_' . $parent_id), 'counter_selector' => '#comment_count_' . $parent_id); if (conf('like.isEnabled')) { $data['liked_ids'] = $liked_ids; } } else { $data += array('count' => $all_comment_count, 'get_uri' => $get_uri); $data['parent'] = array('id' => $parent_id, 'member_id' => $parent_member_id_relateds ? array_shift($auther_member_ids) : $parent_obj->member_id); $data['image_size'] = array('key' => $member_profile_image_size, 'value' => conf('upload.types.img.types.m.sizes.' . $member_profile_image_size)); foreach ($list as $key => $row) { $row['body'] = convert_body($row['body'], array('nl2br' => conf('view_params_default.comment.nl2br'), 'is_truncate' => false, 'mention2link' => true)); $row['member'] = Model_Member::get_one_basic4id($row['member_id']); if (conf('like.isEnabled')) { $row['get_like_members_uri'] = sprintf('%s/comment/like/api/member/%d.html', $api_uri_path_prefix, $row['id']); $row['post_like_uri'] = sprintf('%s/comment/like/api/update/%d.json', $api_uri_path_prefix, $row['id']); $row['is_liked'] = \Auth::check() && in_array($row['id'], $liked_ids) ? 1 : 0; $row['comment_table'] = $comment_table; } $list[$key] = $row; } $data['list'] = $list; } $this->set_response_body_api($data, $this->format == 'html' ? '_parts/comment/list' : null); }); }
public static function get_normal_timeline_body($body, $type, $timeline_id, $image_count = 0, $is_detail = false) { if (!strlen($body) && $type == \Config::get('timeline.types.album_image_timeline')) { if (!$image_count) { return sprintf('%sに%sを %d 枚投稿しました。', term('timeline'), term('site.picture'), $image_count); } return sprintf('%sに%sを投稿しました。', term('timeline'), term('site.picture')); } return convert_body($body, array('is_truncate' => !$is_detail, 'truncate_width' => conf('articles.trim_width.body', 'timeline'), 'truncate_line' => conf('articles.truncate_lines.body', 'timeline'), 'read_more_uri' => 'timeline/' . $timeline_id, 'mention2link' => true)); }
<div class="article_body"> <?php echo convert_body($thread->body, array('is_truncate' => false)); ?> </div> <?php echo render('_parts/thumbnails', array('is_display_name' => true, 'images' => array('list' => $images, 'file_cate' => 't', 'size' => 'M', 'column_count' => 3))); ?> <div class="comment_info"> <?php // comment_count_and_link echo render('_parts/comment/count_and_link_display', array('id' => $thread->id, 'count' => $all_comment_count, 'link_hide_absolute' => true)); ?> <?php // like_count_and_link if (conf('like.isEnabled') && Auth::check()) { $data_like_link = array('id' => $thread->id, 'post_uri' => \Site_Util::get_api_uri_update_like('thread', $thread->id), 'get_member_uri' => \Site_Util::get_api_uri_get_liked_members('thread', $thread->id), 'count_attr' => array('class' => 'unset_like_count'), 'count' => $thread->like_count, 'is_liked' => $is_liked_self); echo render('_parts/like/count_and_link_execute', $data_like_link); } ?> <!-- share button --> <?php if (conf('site.common.shareButton.isEnabled', 'page') && check_public_flag($thread->public_flag)) { echo render('_parts/services/share', array('text' => $thread->title)); } ?>
<div class="article_body"> <?php echo convert_body($note->body, array('is_truncate' => false)); ?> </div> <?php if (Module::loaded('album')) { echo render('album::image/_parts/list', array('list' => $images, 'is_simple_view' => true)); } ?> <?php if ($note->is_published) { ?> <div class="comment_info"> <?php // comment_count_and_link echo render('_parts/comment/count_and_link_display', array('id' => $note->id, 'count' => $all_comment_count, 'link_hide_absolute' => true)); ?> <?php // like_count_and_link if (conf('like.isEnabled') && Auth::check()) { $data_like_link = array('id' => $note->id, 'post_uri' => \Site_Util::get_api_uri_update_like('note', $note->id), 'get_member_uri' => \Site_Util::get_api_uri_get_liked_members('note', $note->id), 'count_attr' => array('class' => 'unset_like_count'), 'count' => $note->like_count, 'is_liked' => $is_liked_self); echo render('_parts/like/count_and_link_execute', $data_like_link); } ?> <?php // Facebook feed
?> <h4><?php if (!empty($read_more_uri)) { echo Html::anchor($read_more_uri, $label); } else { echo $label; } ?> </h4> <?php } if (isset($body['value']) && strlen($body['value'])) { $body_value = $body['value']; if (empty($read_more_uri)) { $read_more_uri = ''; } if (!empty($body['truncate_count'])) { $convert_body_options = array('truncate_width' => $body['truncate_count']); if ($body['truncate_type'] == 'line') { $convert_body_options = array('truncate_line' => $body['truncate_count'], 'read_more_uri' => $read_more_uri, 'mention2link' => true); } $body_value = convert_body($body['value'], $convert_body_options); } ?> <div class="quote"> <?php echo $body_value; ?> </div> <?php }
echo Util_Array::conv_array2attr_string($box_attrs); ?> > <?php $data = array('member' => $comment->member, 'date' => array('datetime' => $comment->created_at), 'is_output_raw_content' => true); if (!empty($image_size)) { $data['size'] = $image_size; } if (conf('like.isEnabled')) { $data['like_link'] = array('id' => $comment->id, 'post_uri' => \Site_Util::get_api_uri_update_like($like_api_uri_prefix, $comment->id), 'get_member_uri' => \Site_Util::get_api_uri_get_liked_members($like_api_uri_prefix, $comment->id), 'count_attr' => array('class' => 'unset_like_count'), 'count' => $comment->like_count, 'is_liked' => isset($liked_ids) ? in_array($comment->id, $liked_ids) : false); } if (empty($is_hide_reply_link) && conf('mention.isEnabled', 'notice') && $comment->member) { $data['reply_link'] = array('id' => $comment->id, 'class' => 'ml5', 'target_id' => $parent->id, 'member_name' => member_name($comment->member)); } $content_view = View::forge('_parts/member_contents_box', $data); $content_view->set_safe('content', convert_body($comment->body, array('nl2br' => isset($nl2br) ? $nl2br : conf('view_params_default.comment.nl2br'), 'is_truncate' => empty($is_detail), 'truncate_width' => empty($is_detail) ? conf('view_params_default.list.comment.trim_width') : null, 'mention2link' => true))); echo $content_view->render(); $is_display_delete_btn = false; if (!empty($absolute_display_delete_btn)) { $is_display_delete_btn = true; } elseif (\Auth::check()) { if (!isset($auther_member_ids)) { $auther_member_ids = array(); } $auther_member_ids[] = $comment->member_id; if (isset($parent->member_id)) { $auther_member_ids[] = $parent->member_id; } if (in_array($u->id, $auther_member_ids)) { $is_display_delete_btn = true; }
</b> <?php if (isset($content) && strlen($content)) { if (empty($is_output_raw_content)) { $convert_body_options = array(); if (!empty($truncate_lines)) { $convert_body_options['truncate_line'] = $truncate_lines; if (empty($read_more_uri)) { $convert_body_options['read_more_uri'] = $read_more_uri; } } elseif (!empty($trim_width)) { $convert_body_options['truncate_width'] = $trim_width; } elseif (empty($is_convert_nl2br) || $is_convert_nl2br === false) { $convert_body_options['nl2br'] = false; } echo convert_body($content, $convert_body_options); } else { echo $content; } } if (!empty($quote_article)) { echo $quote_article; } if (!empty($images)) { echo render('_parts/thumbnails', array('images' => $images)); } ?> </div> <?php if ($date || isset($public_flag, $model, $id)) { ?>
?> </small> <?php $is_mycontents = Auth::check() && $u->id == $album->member_id; echo render('_parts/public_flag_selecter', array('model' => 'album', 'id' => $album->id, 'public_flag' => $album->public_flag, 'is_mycontents' => $is_mycontents, 'view_icon_only' => true, 'disabled_to_update' => $disable_to_update, 'have_children_public_flag' => true, 'child_model' => 'album_image')); ?> </div><!-- date_box --> <?php } else { echo render('_parts/member_contents_box', array('member' => $album->member, 'id' => $album->id, 'public_flag' => $album->public_flag, 'public_flag_view_icon_only' => true, 'public_flag_disabled_to_update' => $disable_to_update, 'have_children_public_flag' => true, 'model' => 'album', 'date' => array('datetime' => $album->created_at), 'child_model' => 'album_image')); } $album_image_count = \Album\Model_AlbumImage::get_list_count(array('where' => \Site_Model::get_where_public_flag4access_from($access_from, array(array('album_id', $album->id))))); ?> <div class="article"> <div class="body"><?php echo convert_body($album->body, array('nl2br' => false, 'truncate_width' => conf('articles.trim_width.body', 'album'))); ?> </div> <small><?php echo render('_parts/image_count_link', array('count' => $album_image_count, 'uri' => 'album/slide/' . $album->id . '#slidetop')); ?> </small> </div><!-- article --> <?php $dropdown_btn_group_attr = array('id' => 'btn_dropdown_' . $album->id, 'class' => array('dropdown', 'boxBtn')); $get_uri = sprintf('album/api/menu/%d.html', $album->id); $dropdown_btn_attr = array('class' => 'js-dropdown_content_menu', 'data-uri' => sprintf('album/api/menu/%d.html', $album->id), 'data-member_id' => $album->member_id, 'data-menu' => '#menu_' . $album->id, 'data-loaded' => 0); $menus = array(array('icon_term' => 'site.show_detail', 'href' => 'album/' . $album->id)); echo btn_dropdown('noterm.dropdown', $menus, false, 'xs', null, true, $dropdown_btn_group_attr, $dropdown_btn_attr, false); ?> </div><!-- img_box -->
function profile_value(Model_MemberProfile $member_profile) { switch ($member_profile->profile->form_type) { case 'checkbox': case 'select': case 'radio': return $member_profile->profile_option->label; break; case 'input': if ($member_profile->profile->value_type == 'url') { return anchor($member_profile->value, $member_profile->value); } return $member_profile->value; break; case 'textarea': return convert_body($member_profile->value, array('is_truncate' => false)); break; } return $member_profile->value; }
<div class="article_body"> <?php echo convert_body($album->body, array('is_truncate' => false)); ?> </div> <?php if (Config::get('album.display_setting.detail.display_slide_image')) { if ($list) { ?> <div id="myCarousel" class="carousel carousel-flex slide" data-ride="carousel"> <!-- Wrapper for slides --> <div class="carousel-inner"> <?php $i = 0; foreach ($list as $album_image) { ?> <div class="item<?php if (!$i) { ?> active<?php } ?> "> <?php echo img($album_image->get_image(), img_size('ai', 'L'), 'album/image/' . $album_image->id); if (!empty($album_image->name)) { ?> <div class="carousel-caption"> <p><?php echo $album_image->name;
} ?> </h4> <div class="list_subtitle"> <?php echo render('_parts/member_contents_box', array('member' => $note->member, 'model' => 'note', 'id' => $id, 'size' => 'M', 'public_flag' => $note->public_flag, 'date' => array('datetime' => $note->published_at ? $note->published_at : $note->updated_at))); $dropdown_btn_group_attr = array('id' => 'btn_dropdown_' . $id, 'class' => array('dropdown', 'boxBtn')); $dropdown_btn_attr = array('class' => 'js-dropdown_content_menu', 'data-uri' => sprintf('note/api/menu/%d.html', $id), 'data-member_id' => $note->member_id, 'data-menu' => '#menu_' . $note->id, 'data-loaded' => 0); $menus = array(array('icon_term' => 'site.show_detail', 'href' => 'note/' . $id)); echo btn_dropdown('noterm.dropdown', $menus, false, 'xs', null, true, $dropdown_btn_group_attr, $dropdown_btn_attr, false); ?> </div><!-- list_subtitle --> </div><!-- header --> <div class="body"> <?php echo convert_body($note->body, array('truncate_line' => conf('view_params_default.list.truncate_lines.body'), 'read_more_uri' => 'note/' . $id)); ?> </div> <?php if (Module::loaded('album') && ($images = \Note\Model_NoteAlbumImage::get_album_image4note_id($id, 4, array('id' => 'desc')))) { echo render('_parts/thumbnails', array('images' => array('list' => $images, 'additional_table' => 'note', 'size' => 'N_M', 'column_count' => 4), 'is_modal_link' => conf('site.common.thumbnailModalLink.isEnabled', 'page'))); } ?> <?php if ($note->is_published) { // note_comment list($comments, $comment_next_id, $all_comment_count) = \Note\Model_NoteComment::get_list(array('note_id' => $id), conf('view_params_default.list.comment.limit'), true, false, 0, 0, null, false, true); ?> <div class="comment_info">