상품문의를 ajax 방식으로 변경
This commit is contained in:
@ -7,9 +7,6 @@ if (G4_IS_MOBILE) {
|
||||
}
|
||||
|
||||
include_once(G4_LIB_PATH.'/iteminfo.lib.php');
|
||||
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
|
||||
|
||||
$captcha_html = captcha_html();
|
||||
|
||||
// 불법접속을 할 수 없도록 세션에 아무값이나 저장하여 hidden 으로 넘겨서 다음 페이지에서 비교함
|
||||
$token = md5(uniqid(rand(), true));
|
||||
@ -597,10 +594,12 @@ else
|
||||
<h2>상품문의</h2>
|
||||
<?php echo pg_anchor('qa'); ?>
|
||||
|
||||
<?php
|
||||
$qa_page_rows = 10; // 페이지당 목록수
|
||||
include_once('./itemqa.inc.php');
|
||||
?>
|
||||
<div id="itemqa"></div>
|
||||
<script>
|
||||
$(function(){
|
||||
$("#itemqa").load("./itemqa.php", {it_id:"<?php echo $it_id; ?>"});
|
||||
});
|
||||
</script>
|
||||
</section>
|
||||
|
||||
<?php if ($default['de_baesong_content']) { // 배송정보 내용이 있다면 ?>
|
||||
|
||||
208
shop/itemqa.php
Normal file
208
shop/itemqa.php
Normal file
@ -0,0 +1,208 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
$it_id = $_REQUEST['it_id'];
|
||||
?>
|
||||
|
||||
<section id="sit_qa_list">
|
||||
<h3>등록된 상품문의</h3>
|
||||
|
||||
<?php
|
||||
$sql_common = " from {$g4['shop_item_qa_table']} where it_id = '$it_id' ";
|
||||
|
||||
// 테이블의 전체 레코드수만 얻음
|
||||
$sql = " select COUNT(*) as cnt " . $sql_common;
|
||||
$row = sql_fetch($sql);
|
||||
$total_count = $row['cnt'];
|
||||
|
||||
$rows = 5;
|
||||
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
|
||||
if ($page == "") $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
|
||||
$from_record = ($page - 1) * $rows; // 시작 레코드 구함
|
||||
|
||||
$sql = "select *
|
||||
$sql_common
|
||||
order by iq_id desc
|
||||
limit $from_record, $rows ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++)
|
||||
{
|
||||
|
||||
$num = $total_count - ($page - 1) * $rows - $i;
|
||||
|
||||
$iq_name = get_text($row['iq_name']);
|
||||
$iq_subject = conv_subject($row['iq_subject'],50, '…');
|
||||
$iq_question = conv_content($row['iq_question'],0);
|
||||
$iq_answer = conv_content($row['iq_answer'],0);
|
||||
|
||||
$iq_time = substr($row['iq_time'], 2, 14);
|
||||
|
||||
//$qa = "<img src='$g4[shop_img_path]/icon_poll_q.gif' border=0>";
|
||||
//if ($row[iq_answer]) $qa .= "<img src='$g4[shop_img_path]/icon_answer.gif' border=0>";
|
||||
//$qa = "$qa";
|
||||
|
||||
$iq_stats = '';
|
||||
$iq_answer = '';
|
||||
$iq_flag = 0;
|
||||
if ($row['iq_answer'])
|
||||
{
|
||||
$iq_answer = conv_content($row['iq_answer'],0);
|
||||
$iq_stats = '답변완료';
|
||||
} else {
|
||||
$iq_stats = '답변전';
|
||||
$iq_answer = '답변이 등록되지 않았습니다.';
|
||||
$iq_flag = 1;
|
||||
}
|
||||
|
||||
if ($i == 0) echo '<ol id="sit_qa_ol">';
|
||||
?>
|
||||
|
||||
<li class="sit_qa_li">
|
||||
<button type="button" class="sit_qa_li_title" onclick="javascript:qa_menu('sit_qa_con_<?php echo $i; ?>')"><b><?php echo $num; ?>.</b> <?php echo $iq_subject; ?></button>
|
||||
<dl class="sit_qa_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_qa_con_<?php echo $i; ?>" class="sit_qa_con">
|
||||
<p class="sit_qa_qaq">
|
||||
<strong>문의내용</strong><br>
|
||||
<?php echo $iq_question; // 상품 문의 내용 ?>
|
||||
</p>
|
||||
<p class="sit_qa_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_qa_cmd">
|
||||
<a href="./itemqaform.php?w=u&it_id=<?php echo $it_id; ?>&iq_id=<?php echo $row['iq_id']; ?>" class="itemqa_mod btn01">수정</a>
|
||||
<a href="./itemqaformupdate.php?w=d&it_id=<?php echo $it_id; ?>&iq_id=<?php echo $row['iq_id']; ?>" class="itemqa_del btn01">삭제</a>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<?php }
|
||||
|
||||
if ($i >= 0) echo '</ol>';
|
||||
|
||||
if (!$i) echo '<p class="sit_empty">상품문의가 없습니다.</p>';
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
// 현재페이지, 총페이지수, 한페이지에 보여줄 행, URL
|
||||
function itemqa_page($write_pages, $cur_page, $total_page, $url, $add="")
|
||||
{
|
||||
$url = preg_replace('#&page=[0-9]*(&page=)$#', '$1', $url);
|
||||
|
||||
$str = '';
|
||||
if ($cur_page > 1) {
|
||||
$str .= '<a href="'.$url.'1'.$add.'" class="qa_page qa_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="qa_page qa_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="qa_page" onclick="return false;">'.$k.'</a><span class="sound_only">페이지</span>'.PHP_EOL;
|
||||
else
|
||||
$str .= '<span class="sound_only">열린</span><strong class="qa_current">'.$k.'</strong><span class="sound_only">페이지</span>'.PHP_EOL;
|
||||
}
|
||||
}
|
||||
|
||||
if ($total_page > $end_page) $str .= '<a href="'.$url.($end_page+1).$add.'" class="qa_page qa_next">다음</a>'.PHP_EOL;
|
||||
|
||||
if ($cur_page < $total_page) {
|
||||
$str .= '<a href="'.$url.$total_page.$add.'" class="qa_page qa_end" onclick="return false;">맨끝</a>'.PHP_EOL;
|
||||
}
|
||||
|
||||
if ($str)
|
||||
return "<nav class=\"qa_wrap\"><span class=\"qa\">{$str}</span></nav>";
|
||||
else
|
||||
return "";
|
||||
}
|
||||
|
||||
echo itemqa_page($config['cf_write_pages'], $page, $total_page, "./itemqa.php?it_id=$it_id&page=", "");
|
||||
?>
|
||||
|
||||
<div id="sit_qa_wbtn">
|
||||
<a href="./itemqaform.php?it_id=<?php echo $it_id; ?>" id="itemqa_form" class="btn02">상품문의 쓰기</a>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
$("#itemqa_form").click(function(){
|
||||
window.open(this.href, "itemqa_form", "width=800,height=550");
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".itemqa_mod").live("click", function() {
|
||||
window.open(this.href, "itemqa_form", "width=800,height=550");
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".itemqa_del").live("click", function() {
|
||||
if(!confirm("상품문의를 삭제하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
<?php if($is_member) { ?>
|
||||
document.location.href = this.href;
|
||||
<?php } else { ?>
|
||||
var iq_pass_frm = "<div id=\"iq_password_frm\">";
|
||||
iq_pass_frm += "<form name=\"fitemqapass\" method=\"post\" action=\""+this.href+"\">";
|
||||
iq_pass_frm += "<label for=\"iq_password\">비밀번호</label>";
|
||||
iq_pass_frm += "<input type=\"password\" name=\"iq_password\" id=\"iq_password\" size=\"20\">";
|
||||
iq_pass_frm += "<input type=\"submit\" value=\"확인\">";
|
||||
iq_pass_frm += "</form>";
|
||||
iq_pass_frm += "</div>";
|
||||
|
||||
$("#iq_password_frm").remove();
|
||||
$(this).after(iq_pass_frm);
|
||||
return false;
|
||||
<?php } ?>
|
||||
});
|
||||
|
||||
$("form[name=fitemqapass]").live("submit", function() {
|
||||
var pass = trim($("input[name=iq_password]").val());
|
||||
if(pass == "") {
|
||||
alert("비밀번호를 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
});
|
||||
|
||||
$(".qa_href").click(function(){
|
||||
var $content = $("#qa_div"+$(this).attr("target"));
|
||||
$(".qa_div").each(function(index, value){
|
||||
if ($(this).get(0) == $content.get(0)) { // 객체의 비교시 .get(0) 를 사용한다.
|
||||
$(this).is(":hidden") ? $(this).show() : $(this).hide();
|
||||
} else {
|
||||
$(this).hide();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".qa_page").click(function(){
|
||||
//alert($(this).attr("href"));
|
||||
$(top.document).find('#itemqa').load($(this).attr("href"));
|
||||
});
|
||||
});
|
||||
</script>
|
||||
74
shop/itemqaform.php
Normal file
74
shop/itemqaform.php
Normal file
@ -0,0 +1,74 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
|
||||
|
||||
$captcha_html = captcha_html();
|
||||
|
||||
$w = escape_trim($_REQUEST['w']);
|
||||
$it_id = escape_trim($_REQUEST['it_id']);
|
||||
$iq_id = escape_trim($_REQUEST['iq_id']);
|
||||
|
||||
if($w == 'u') {
|
||||
$sql = " select * from {$g4['shop_item_qa_table']} where it_id = '$it_id' and iq_id = '$iq_id' ";
|
||||
$qa = sql_fetch($sql);
|
||||
}
|
||||
|
||||
include_once(G4_PATH.'/head.sub.php');
|
||||
?>
|
||||
<div>
|
||||
<form name="fitemqa" method="post" action="./itemqaformupdate.php" onsubmit="return fitemqa_submit(this);" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w; ?>">
|
||||
<input type="hidden" name="iq_id" value="<?php echo $iq_id; ?>">
|
||||
<input type="hidden" name="it_id" value="<?php echo $it_id; ?>">
|
||||
<table class="frm_tbl">
|
||||
<colgroup>
|
||||
<col class="grid_3">
|
||||
<col>
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<?php if (!$is_member) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="iq_name">이름</label></th>
|
||||
<td><input type="text" name="iq_name" id="iq_name" value="<?php echo $qa['iq_name']; ?>" required class="frm_input" maxlength="20" minlength="2"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="iq_password">패스워드</label></th>
|
||||
<td>
|
||||
<span class="frm_info">패스워드는 최소 3글자 이상 입력하십시오.</span>
|
||||
<input type="password" name="iq_password" id="iq_password" required class="frm_input" maxlength="20" minlength="3">
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="iq_subject">제목</label></th>
|
||||
<td><input type="text" name="iq_subject" id="iq_subject" value="<?php echo $qa['iq_subject']; ?>" required class="frm_input" size="71" maxlength="100"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="iq_question">내용</label></th>
|
||||
<td><textarea name="iq_question" id="iq_question" required><?php echo $qa['iq_question']; ?></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td><?php echo $captcha_html; ?></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="작성완료" class="btn_submit">
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
function fitemqa_submit(f)
|
||||
{
|
||||
<?php echo chk_captcha_js(); ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G4_PATH.'/tail.sub.php');
|
||||
?>
|
||||
95
shop/itemqaformupdate.php
Normal file
95
shop/itemqaformupdate.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
include_once(G4_GCAPTCHA_PATH.'/gcaptcha.lib.php');
|
||||
|
||||
if ($w == '' || $w == 'u')
|
||||
{
|
||||
if (!chk_captcha()) {
|
||||
alert('자동등록방지 숫자가 틀렸습니다.');
|
||||
}
|
||||
|
||||
if (!$is_member)
|
||||
{
|
||||
if (!trim($_POST['iq_name'])) alert('이름을 입력하여 주십시오.');
|
||||
if (!trim($_POST['iq_password'])) alert('패스워드를 입력하여 주십시오.');
|
||||
}
|
||||
else
|
||||
{
|
||||
$iq_name = $member['mb_name'];
|
||||
$iq_password = $member['mb_password'];
|
||||
}
|
||||
|
||||
$iq_password = sql_password($iq_password);
|
||||
|
||||
if (!trim($_POST['iq_subject'])) alert('제목을 입력하여 주십시오.');
|
||||
if (!trim($_POST['iq_question'])) alert('내용을 입력하여 주십시오.');
|
||||
}
|
||||
|
||||
$url = "./item.php?it_id=$it_id";
|
||||
|
||||
if ($w == '')
|
||||
{
|
||||
$sql = " select max(iq_id) as max_iq_id from {$g4['shop_item_qa_table']} ";
|
||||
$row = sql_fetch($sql);
|
||||
$max_iq_id = $row['max_iq_id'];
|
||||
|
||||
$sql = " select max(iq_id) as max_iq_id from {$g4['shop_item_qa_table']}
|
||||
where it_id = '$it_id'
|
||||
and mb_id = '{$member['mb_id']}' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['max_iq_id'] && $row['max_iq_id'] == $max_iq_id)
|
||||
alert('같은 상품에 대하여 계속해서 질문 하실 수 없습니다.');
|
||||
|
||||
$sql = "insert {$g4['shop_item_qa_table']}
|
||||
set it_id = '$it_id',
|
||||
mb_id = '{$member['mb_id']}',
|
||||
iq_name = '$iq_name',
|
||||
iq_password = '$iq_password',
|
||||
iq_subject = '$iq_subject',
|
||||
iq_question = '$iq_question',
|
||||
iq_time = '".G4_TIME_YMDHIS."',
|
||||
iq_ip = '$REMOTE_ADDR' ";
|
||||
sql_query($sql);
|
||||
|
||||
alert_opener('상품문의가 등록되었습니다.', $url);
|
||||
}
|
||||
else if ($w == 'u')
|
||||
{
|
||||
$sql = " select iq_password from {$g4['shop_item_qa_table']} where iq_id = '$iq_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['iq_password'] != $iq_password)
|
||||
alert('패스워드가 틀리므로 수정하실 수 없습니다.');
|
||||
|
||||
$sql = " update {$g4['shop_item_qa_table']}
|
||||
set iq_subject = '$iq_subject',
|
||||
iq_question = '$iq_question'
|
||||
where iq_id = '$iq_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
alert_opener('상품문의가 수정되었습니다.', $url);
|
||||
}
|
||||
else if ($w == 'd')
|
||||
{
|
||||
if ($is_member)
|
||||
{
|
||||
$sql = " select count(*) as cnt from {$g4['shop_item_qa_table']} where mb_id = '{$member['mb_id']}' and iq_id = '$iq_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if (!$row['cnt'])
|
||||
die('자신의 상품문의만 삭제하실 수 있습니다.');
|
||||
}
|
||||
else
|
||||
{
|
||||
$iq_password = sql_password($iq_password);
|
||||
|
||||
$sql = " select iq_password from {$g4['shop_item_qa_table']} where iq_id = '$iq_id' ";
|
||||
$row = sql_fetch($sql);
|
||||
if ($row['iq_password'] != $iq_password)
|
||||
die('패스워드가 틀리므로 삭제하실 수 없습니다.');
|
||||
}
|
||||
|
||||
$sql = " delete from {$g4['shop_item_qa_table']} where mb_id = '{$member['mb_id']}' and iq_id = '$iq_id' ";
|
||||
sql_query($sql);
|
||||
|
||||
goto_url($url);
|
||||
}
|
||||
?>
|
||||
@ -1,5 +1,11 @@
|
||||
<?php
|
||||
include_once("./_common.php");
|
||||
include_once('./_common.php');
|
||||
|
||||
if (G4_IS_MOBILE) {
|
||||
include_once(G4_MSHOP_PATH.'/itemuseform.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G4_CKEDITOR_PATH.'/ckeditor.lib.php');
|
||||
|
||||
// 사용후기의 내용에 쓸수 있는 최대 글자수 (한글은 영문3자)
|
||||
@ -90,7 +96,7 @@ function fitemuse_submit(f)
|
||||
|
||||
if (is_content_editor_data.length > <?php echo $is_content_max_length; ?>) {
|
||||
alert("내용은 <?php echo $is_content_max_length; ?> 글자 이내에서 작성해 주세요. (한글은 영문 3자)\n\n현재 : "+is_content_editor_data.length+" 글자");
|
||||
CKEDITOR.instances.is_content.focus();
|
||||
CKEDITOR.instances.is_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
@ -1,5 +1,11 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
|
||||
if (G4_IS_MOBILE) {
|
||||
include_once(G4_MSHOP_PATH.'/itemuselist.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G4_LIB_PATH.'/thumb.lib.php');
|
||||
|
||||
$sfl = escape_trim($_REQUEST['sfl']);
|
||||
|
||||
Reference in New Issue
Block a user