Esempio n. 1
0
 /**
  * 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);
     });
 }
Esempio n. 2
0
 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));
 }
Esempio n. 3
0
<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));
}
?>
Esempio n. 4
0
<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
Esempio n. 5
0
    ?>
<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 
}
Esempio n. 6
0
        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;
            }
Esempio n. 7
0
</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)) {
    ?>
Esempio n. 8
0
            ?>
</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 -->
Esempio n. 9
0
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;
}
Esempio n. 10
0
<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;
Esempio n. 11
0
        }
        ?>
			</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">