日記のコメントリストを取得するクラス・ライブラリを修正してメンバーのプロフィール画像も一緒に取得するようにする。
修正するのは以下のファイル
/OpenPNE/webapp/lib/db/diary.php
【修正前】
/**
* 日記へのコメントリストを取得
*/
function k_p_fh_diary_c_diary_comment_list4c_diary_id($c_diary_id, $page_size, $page, $desc = true)
{
$sql = ‘SELECT * FROM c_diary_comment WHERE c_diary_id = ? ORDER BY r_datetime’;
if ($desc) {
$sql .= ‘ DESC’;
}
$params = array(intval($c_diary_id));
$c_diary_comment_list = db_get_all_page($sql, $page, $page_size, $params);
foreach ($c_diary_comment_list as $key => $value) {
$c_member = db_member_c_member4c_member_id_LIGHT($value[‘c_member_id’]);
$c_diary_comment_list[$key][‘nickname’] = $c_member[‘nickname’];
}
$sql = ‘SELECT COUNT(c_diary_comment_id) FROM c_diary_comment WHERE c_diary_id = ?’;
$params = array(intval($c_diary_id));
$total_num = db_get_one($sql, $params);
if ($total_num > 0) {
$total_page_num = ceil($total_num / $page_size);
if ($page >= $total_page_num) {
$next = false;
} else {
$next = true;
}
if ($page <= 1) {
$prev = false;
} else {
$prev = true;
}
}
return array($c_diary_comment_list, $prev, $next, $total_num, $total_page_num);
}
【修正後】
/**
* 日記へのコメントリストを取得
*/
function k_p_fh_diary_c_diary_comment_list4c_diary_id($c_diary_id, $page_size, $page, $desc = true)
{
$sql = ‘SELECT * FROM c_diary_comment WHERE c_diary_id = ? ORDER BY r_datetime’;
if ($desc) {
$sql .= ‘ DESC’;
}
$params = array(intval($c_diary_id));
$c_diary_comment_list = db_get_all_page($sql, $page, $page_size, $params);
foreach ($c_diary_comment_list as $key => $value) {
$c_member = db_member_c_member4c_member_id_LIGHT($value[‘c_member_id’]);
$c_diary_comment_list[$key][‘nickname’] = $c_member[‘nickname’];
$c_diary_comment_list[$key][‘image_filename’] = $c_member[‘image_filename’];
}
$sql = ‘SELECT COUNT(c_diary_comment_id) FROM c_diary_comment WHERE c_diary_id = ?’;
$params = array(intval($c_diary_id));
$total_num = db_get_one($sql, $params);
if ($total_num > 0) {
$total_page_num = ceil($total_num / $page_size);
if ($page >= $total_page_num) {
$next = false;
} else {
$next = true;
}
if ($page <= 1) {
$prev = false;
} else {
$prev = true;
}
}
return array($c_diary_comment_list, $prev, $next, $total_num, $total_page_num);
}
これで$item.image_filenameのような形でメイン画像のファイル名が取得出来るようになる。
なお、変更・修正する場合は自己責任で。