jQuery load 함수를 사용하여 사용후기(itemuse) 게시판을 노출

This commit is contained in:
gnuboard
2013-06-12 15:46:09 +09:00
parent 1d7225a5eb
commit 63f654f2cb
6 changed files with 245 additions and 160 deletions

View File

@ -558,9 +558,53 @@ else
<?php echo pg_anchor('use'); ?>
<?php
/*
<script>
function autoResize(id){
var newheight;
var newwidth;
if(document.getElementById){
newheight=document.getElementById(id).contentWindow.document .body.scrollHeight;
newwidth=document.getElementById(id).contentWindow.document .body.scrollWidth;
}
document.getElementById(id).height= (newheight) + "px";
document.getElementById(id).width= (newwidth) + "px";
}
</script>
<iframe src="./itemuse.php?it_id=<?php echo $it_id; ?>" id="iframe1" frameborder="0" scrolling="no" onLoad="autoResize('iframe1');">
</iframe>
*/
?>
<?php
/*
$use_page_rows = 10; // 페이지당 목록수
include_once('./itemuse.inc.php');
*/
?>
<div id="itemuse"></div>
<script>
$(function(){
/*
$.get("./itemuse.php", {it_id:<?php echo $it_id; ?>}, function(data){
$("#itemuse").html(data);
});
$('#itemuse').live('click', function(e) {
//alert((this).attr('href'));
//e.preventDefault();
$.get((this).attr('href'), {it_id:<?php echo $it_id; ?>}, function(data) {
//alert(data);
$('#container').html(data);
});
});
*/
$("#itemuse").load("./itemuse.php", {it_id:<?php echo $it_id; ?>});
});
</script>
</section>
<section id="sit_qa">

View File

@ -1,8 +1,14 @@
<?php
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
$itemuse_write = G4_BBS_URL.'/write.php?bo_table=itemuse&amp;wr_1='.$it_id;
$itemuse_board = G4_BBS_URL.'/board.php?bo_table=itemuse&amp;wr_1='.$it_id;
include_once(G4_LIB_PATH.'/thumb.lib.php');
?>
<a href="<?php echo $itemuse_board; ?>">더보기</a>
<table id="sit_ps_tbl">
<thead>
<tr>
@ -14,7 +20,15 @@ include_once(G4_LIB_PATH.'/thumb.lib.php');
</tr>
</thead>
<?php
$sql_common = " from {$g4['shop_item_ps_table']} where it_id = '{$it['it_id']}' and is_confirm = '1' ";
/*
여분필드 용도
wr_1 : 상품코드
wr_2 : 상품명
wr_3 : 평점 1~5
wr_4 : 관리자확인
*/
//$sql_common = " from `{$g4['write_prefix']}itemuse` where wr_is_comment = 0 and wr_1 = '{$it['it_id']}' and wr_4 = '1' ";
$sql_common = " from `{$g4['write_prefix']}itemuse` where wr_is_comment = 0 and wr_1 = '{$it['it_id']}' ";
// 테이블의 전체 레코드수만 얻음
$sql = " select COUNT(*) as cnt " . $sql_common;
@ -25,104 +39,39 @@ $use_total_page = ceil($use_total_count / $use_page_rows); // 전체 페이지
if ($use_page == "") $use_page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$use_from_record = ($use_page - 1) * $use_page_rows; // 시작 레코드 구함
$sql = "select * $sql_common order by is_id desc limit $use_from_record, $use_page_rows ";
$sql = "select * $sql_common order by wr_num limit $use_from_record, $use_page_rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$num = $use_total_count - ($use_page - 1) * $use_page_rows - $i;
$use_num = $use_total_count - ($use_page - 1) * $use_page_rows - $i;
$use_star = get_star($row['wr_3']);
$use_name = get_text($row['wr_name']);
$use_subject = conv_subject($row['wr_subject'],50,"…");
$use_content = $row['wr_content'];
$use_time = substr($row['wr_datetime'], 2, 8);
$use_href = G4_BBS_URL.'/board.php?bo_table=itemuse&amp;wr_id='.$row['wr_id'];
$star = get_star($row['is_score']);
$is_name = get_text($row['is_name']);
$is_subject = conv_subject($row['is_subject'],50,"…");
//$is_content = conv_content($row[is_content],0);
$is_content = $row['is_content'];
//$is_content = preg_replace_callback("#<img[^>]+>#iS", "g4_thumb", $is_content);
$thumb = new g4_thumb(G4_DATA_PATH.'/itemuse', 500);
$is_content = $thumb->run($is_content);
$is_time = substr($row['is_time'], 2, 14);
// http://stackoverflow.com/questions/6967081/show-hide-multiple-divs-with-jquery?answertab=votes#tab-top
?>
<li class="sit_ps_li">
<button type="button" class="sit_ps_li_title" onclick="javascript:qa_menu('sit_ps_con_<?php echo $i; ?>')"><?php echo $num; ?>. <?php echo $iq_subject; ?></button>
<dl class="sit_ps_dl">
<dt>작성자</dt>
<dd><?php echo $iq_name; ?></dd>
<dt>작성일</dt>
<dd><?php echo $iq_time; ?></dd>
<dt>상태</dt>
<dd><?php echo $iq_stats; ?></dd>
</dl>
<div id="sit_ps_con_<?php echo $i; ?>" class="sit_ps_con">
<p class="sit_ps_qaq">
<strong>문의내용</strong><br>
<?php echo $iq_question; // 상품 문의 내용 ?>
</p>
<p class="sit_ps_qaa">
<strong>답변</strong><br>
<?php echo $iq_answer; ?>
</p>
<textarea id="tmp_iq_id<?php echo $i; ?>"><?php echo $row['iq_id']; ?></textarea>
<textarea id="tmp_iq_name<?php echo $i; ?>"><?php echo $row['iq_name']; ?></textarea>
<textarea id="tmp_iq_subject<?php echo $i; ?>"><?php echo $row['iq_subject']; ?></textarea>
<textarea id="tmp_iq_question<?php echo $i; ?>"><?php echo $row['iq_question']; ?></textarea>
<?php if ($row['mb_id'] == $member['mb_id'] && $iq_answer == 0) { ?>
<div class="sit_ps_cmd">
<button onclick="javascript:itemqa_update(<?php echo $i; ?>);" class="btn01">수정</button>
<button onclick="javascript:itemqa_delete(fitemqa_password<?php echo $i; ?>, <?php echo $i; ?>);" class="btn01">삭제</button>
</div>
<?php } ?>
</div>
</li>
<tr>
<td><?php echo $num; ?><span class="sound_only">번</span></td>
<td><?php echo $use_num; ?><span class="sound_only">번</span></td>
<td>
<a href="javascript:;" onclick="use_menu('is<?php echo $i; ?>')"><?php echo $is_subject; ?></a>
<div>
<div>
<?php echo $is_content; ?>
</div>
<textarea id="tmp_is_id<?php echo $i; ?>"><?php echo $row['is_id']; ?></textarea>
<textarea id="tmp_is_name<?php echo $i; ?>"><?php echo $row['is_name']; ?></textarea>
<textarea id="tmp_is_subject<?php echo $i; ?>"><?php echo $row['is_subject']; ?></textarea>
<textarea id="tmp_is_content<?php echo $i; ?>"><?php echo $row['is_content']; ?></textarea>
<?php if ($row[mb_id] == $member[mb_id]) { ?>
<a href="javascript:itemusewin('is_id=<?php echo $row['is_id']; ?>&amp;w=u');">수정</a>
<a href="javascript:itemuse_delete(fitemuse_password<?php echo $i; ?>, <?php echo $i; ?>);">삭제</a>
<?php } ?>
<div id="is<?php echo $i; ?>">
<!-- 사용후기 삭제 패스워드 입력 폼 -->
<form name="fitemuse_password<?php echo $i; ?>" method="post" action="./itemuseupdate.php" autocomplete="off">
<input type="hidden" name="w" value="">
<input type="hidden" name="is_id" value="">
<input type="hidden" name="it_id" value="<?php echo $it['it_id']; ?>">
<label for="is_password_<?php echo $i; ?>">패스워드</label>
<input type="password" name="is_password" id="is_password_<?php echo $i; ?>" required>
<input type="submit" value="확인">
</form>
</div>
<a href="<?php echo $use_href; ?>" class="use_href" onclick="return false;" target="<?php echo $i; ?>"><?php echo $use_subject; ?></a>
<div id="use_div<?php echo $i; ?>" class="use_div" style="display:none;">
<?php echo $use_content; ?>
</div>
</td>
<td><?php echo $is_name; ?></td>
<td><?php echo $is_time; ?></td>
<td><img src="<?php echo G4_URL; ?>/img/shop/s_star<?php echo $star; ?>.png" alt="별<?php echo $star; ?>개"></td>
<td><?php echo $use_name; ?></td>
<td><?php echo $use_time; ?></td>
<td><img src="<?php echo G4_URL; ?>/img/shop/s_star<?php echo $use_star; ?>.png" alt="별<?php echo $use_star; ?>개"></td>
</tr>
<?
<?php
}
if (!$i)
{
if (!$i) {
echo '<tr><td class="empty_class">등록된 사용후기가 없습니다.</td></tr>';
}
?>
@ -132,9 +81,16 @@ if (!$i)
if ($use_pages) {
$use_pages = get_paging(10, $use_page, $use_total_page, "./item.php?it_id=$it_id&amp;$qstr&amp;use_page=", "#use");
}
$itemuse_write = G4_BBS_URL.'/write.php?bo_table=itemuse&amp;wr_1='.$it_id.'&amp;wr_2='.urlencode($it_name);
?>
<!-- <a href="javascript:itemusewin('it_id=<?php echo $it_id; ?>');">사용후기 쓰기<span class="sound_only"> 새 창</span></a> -->
<a href="<?php echo $itemuse_write; ?>" onclick="window.open(this.href); return false;">사용후기 쓰기<span class="sound_only"> 새 창</span></a>
<script>
$(function(){
$(".use_href").click(function(){
$(".use_div").hide();
$("#use_div"+$(this).attr("target")).show();
});
});
</script>

145
shop/itemuse.php Normal file
View File

@ -0,0 +1,145 @@
<?php
include_once('./_common.php');
include_once(G4_LIB_PATH.'/thumb.lib.php');
$it_id = $_REQUEST['it_id'];
$itemuse_write = G4_BBS_URL.'/write.php?bo_table=itemuse&amp;wr_1='.$it_id;
$itemuse_board = G4_BBS_URL.'/board.php?bo_table=itemuse&amp;wr_1='.$it_id;
include_once(G4_PATH.'/head.sub.php');
?>
<a href="<?php echo $itemuse_board; ?>" target="_blank">더보기</a>
<table id="sit_ps_tbl">
<thead>
<tr>
<th>번호</th>
<th>제목</th>
<th>작성자</th>
<th>작성일</th>
<th>평점</th>
</tr>
</thead>
<?php
/*
여분필드 용도
wr_1 : 상품코드
wr_2 : 상품명
wr_3 : 평점 1~5
wr_4 : 관리자확인
*/
//$sql_common = " from `{$g4['write_prefix']}itemuse` where wr_is_comment = 0 and wr_1 = '{$it['it_id']}' and wr_4 = '1' ";
$sql_common = " from `{$g4['write_prefix']}itemuse` where wr_is_comment = 0 and wr_1 = '{$it_id}' ";
// 테이블의 전체 레코드수만 얻음
$sql = " select COUNT(*) as cnt " . $sql_common;
$row = sql_fetch($sql);
$total_count = $row['cnt'];
$rows = 2;
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page == "") $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 레코드 구함
$sql = "select * $sql_common order by wr_num limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$use_num = $total_count - ($page - 1) * $rows - $i;
$use_star = get_star($row['wr_3']);
$use_name = get_text($row['wr_name']);
$use_subject = conv_subject($row['wr_subject'],50,"…");
$use_content = $row['wr_content'];
$use_time = substr($row['wr_datetime'], 2, 8);
$use_href = G4_BBS_URL.'/board.php?bo_table=itemuse&amp;wr_id='.$row['wr_id'];
// http://stackoverflow.com/questions/6967081/show-hide-multiple-divs-with-jquery?answertab=votes#tab-top
?>
<tr>
<td><?php echo $use_num; ?><span class="sound_only">번</span></td>
<td>
<a href="<?php echo $use_href; ?>" class="use_href" onclick="return false;" target="<?php echo $i; ?>"><?php echo $use_subject; ?></a>
<div id="use_div<?php echo $i; ?>" class="use_div" style="display:none;">
<?php echo $use_content; ?>
</div>
</td>
<td><?php echo $use_name; ?></td>
<td><?php echo $use_time; ?></td>
<td><img src="<?php echo G4_URL; ?>/img/shop/s_star<?php echo $use_star; ?>.png" alt="별<?php echo $use_star; ?>개"></td>
</tr>
<?php
}
if (!$i) {
echo '<tr><td class="empty_class">등록된 사용후기가 없습니다.</td></tr>';
}
?>
</table>
<?php
// 현재페이지, 총페이지수, 한페이지에 보여줄 행, URL
function itemuse_page($write_pages, $cur_page, $total_page, $url, $add="")
{
$url = preg_replace('#&amp;page=[0-9]*(&amp;page=)$#', '$1', $url);
$str = '';
if ($cur_page > 1) {
$str .= '<a href="'.$url.'1'.$add.'" class="pg_page pg_start" onclick="return false;">처음</a>'.PHP_EOL;
}
$start_page = ( ( (int)( ($cur_page - 1 ) / $write_pages ) ) * $write_pages ) + 1;
$end_page = $start_page + $write_pages - 1;
if ($end_page >= $total_page) $end_page = $total_page;
if ($start_page > 1) $str .= '<a href="'.$url.($start_page-1).$add.'" class="pg_page pg_prev" onclick="return false;">이전</a>'.PHP_EOL;
if ($total_page > 1) {
for ($k=$start_page;$k<=$end_page;$k++) {
if ($cur_page != $k)
$str .= '<a href="'.$url.$k.$add.'" class="pg_page" onclick="return false;">'.$k.'</a><span class="sound_only">페이지</span>'.PHP_EOL;
else
$str .= '<span class="sound_only">열린</span><strong class="pg_current">'.$k.'</strong><span class="sound_only">페이지</span>'.PHP_EOL;
}
}
if ($total_page > $end_page) $str .= '<a href="'.$url.($end_page+1).$add.'" class="pg_page pg_next">다음</a>'.PHP_EOL;
if ($cur_page < $total_page) {
$str .= '<a href="'.$url.$total_page.$add.'" class="pg_page pg_end" onclick="return false;">맨끝</a>'.PHP_EOL;
}
if ($str)
return "<nav class=\"pg_wrap\"><span class=\"pg\">{$str}</span></nav>";
else
return "";
}
echo itemuse_page(10, $page, $total_page, "./itemuse.php?it_id=$it_id&amp;page=", "");
?>
<!-- <a href="javascript:itemusewin('it_id=<?php echo $it_id; ?>');">사용후기 쓰기<span class="sound_only"> 새 창</span></a> -->
<a href="<?php echo $itemuse_write; ?>" onclick="window.open(this.href); return false;">사용후기 쓰기<span class="sound_only"> 새 창</span></a>
<script>
$(function(){
$(".use_href").click(function(){
$(".use_div").hide();
$("#use_div"+$(this).attr("target")).show();
});
$(".pg_page").click(function(){
//alert($(this).attr("href"));
$(top.document).find('#itemuse').load($(this).attr("href"));
});
});
</script>
<?php
include_once(G4_PATH.'/tail.sub.php');
?>

View File

@ -1,72 +0,0 @@
<?
include_once("./_common.php");
if (!function_exists('convert_charset'))
{
/*
-----------------------------------------------------------
Charset 을 변환하는 함수
-----------------------------------------------------------
iconv 함수가 있으면 iconv 로 변환하고
없으면 mb_convert_encoding 함수를 사용한다.
둘다 없으면 사용할 수 없다.
*/
function convert_charset($from_charset, $to_charset, $str)
{
if( function_exists('iconv') )
return iconv($from_charset, $to_charset, $str);
elseif( function_exists('mb_convert_encoding') )
return mb_convert_encoding($str, $to_charset, $from_charset);
else
die("Not found 'iconv' or 'mbstring' library in server.");
}
}
header("Content-Type: text/html; charset=$g4[charset]");
$subject = strtolower($_POST['subject']);
$content = strtolower(strip_tags($_POST['content']));
//euc-kr 일 경우 $config['cf_filter'] 를 utf-8로 변환한다.
if (strtolower($g4[charset]) == 'euc-kr')
{
//$subject = convert_charset('utf-8', 'cp949', $subject);
//$content = convert_charset('utf-8', 'cp949', $content);
$config['cf_filter'] = convert_charset('cp949', 'utf-8', $config['cf_filter']);
}
//$filter = explode(",", strtolower(trim($config['cf_filter'])));
// strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.)
$filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++)
{
$str = $filter[$i];
// 제목 필터링 (찾으면 중지)
$subj = "";
$pos = strpos($subject, $str);
if ($pos !== false)
{
if (strtolower($g4[charset]) == 'euc-kr')
$subj = convert_charset('utf-8', 'cp949', $str);//cp949 로 변환해서 반환
else
$subj = $str;
break;
}
// 내용 필터링 (찾으면 중지)
$cont = "";
$pos = strpos($content, $str);
if ($pos !== false)
{
if (strtolower($g4[charset]) == 'euc-kr')
$cont = convert_charset('utf-8', 'cp949', $str);//cp949 로 변환해서 반환
else
$cont = $str;
break;
}
}
die("{\"subject\":\"$subj\",\"content\":\"$cont\"}");
?>

View File

@ -175,7 +175,7 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
var subject = "";
var content = "";
$.ajax({
url: g4_bbs_url+"/filter.ajax.php",
url: g4_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": "",

View File

@ -1,5 +1,17 @@
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
// 상품코드
if (!$wr_1) {
alert("wr_1 에 상품코드를 넘겨주세요.");
}
// 상품명
if (!$wr_2) {
$sql = " select it_name from {$g4['shop_item_table']} where it_id = '$wr_1' ";
$row = sql_fetch($sql);
$wr_2 = $row['it_name'];
}
?>
<link rel="stylesheet" href="<?php echo $board_skin_url ?>/style.css">
@ -175,7 +187,7 @@ function fwrite_submit(f)
var subject = "";
var content = "";
$.ajax({
url: g4_bbs_url+"/filter.ajax.php",
url: g4_bbs_url+"/ajax.filter.php",
type: "POST",
data: {
"subject": f.wr_subject.value,