최초 커밋
This commit is contained in:
@@ -0,0 +1,990 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) define('_GNUBOARD_', true);
|
||||
|
||||
// 스킨 안에서 쓰는 상수 최소 셋만 “직접” 정의 (필요시 경로 수정)
|
||||
if (!defined('G5_URL')) define('G5_URL', '/egbim');
|
||||
if (!defined('G5_BBS_URL')) define('G5_BBS_URL', '/egbim/bbs');
|
||||
if (!defined('G5_IMG_URL')) define('G5_IMG_URL', '/egbim/img');
|
||||
|
||||
// 로그인 여부 플래그
|
||||
$isLoggedIn = !empty($_SESSION['user']['userId']);
|
||||
|
||||
// ✅ DB 연결
|
||||
$pdo = new PDO("mysql:host=db;dbname=egbim;charset=utf8mb4", "egbim", "baron3840!!", [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
]);
|
||||
|
||||
// ✅ EG-BIM (product_code=8) 기준 최신 external_version 가져오기
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT external_version
|
||||
FROM deploy_versions
|
||||
WHERE product_code = 1
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT 1
|
||||
");
|
||||
$stmt->execute();
|
||||
$version = $stmt->fetchColumn() ?: '1.0.0'; // fallback
|
||||
|
||||
// ✅ 다운로드 URL 자동 생성
|
||||
$download_url = "https://release-download.hmac.kr/eg-bim/{$version}/setup_eg-bim_{$version}.exe";
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Q&A 상세보기</title>
|
||||
<style>
|
||||
/* (기존 스타일을 여기에 복사) */
|
||||
</style>
|
||||
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script type="text/javascript" src="../js/popup.js?v=20260723"></script>
|
||||
<script type="text/javascript" src="../js/common.js"></script>
|
||||
<script type="text/javascript" src="../js/index.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_header.skin.php'); ?>
|
||||
<!-- //Header -->
|
||||
|
||||
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top js__dark">
|
||||
<h2>Q&A</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li ><a href="/egbim/bbs/faq.php">자주하는 질문(FAQ)</a></li>
|
||||
<li class="on"><a href="/egbim/bbs/descope_qa_list.php">문의하기(Q&A)</a></li>
|
||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">문의하기(Q&A)</span>
|
||||
|
||||
<div class="contents">
|
||||
<section class="qa-detail">
|
||||
<div class="qa-view">
|
||||
<div class="meta tbl-area">
|
||||
<!-- <div class="tbl-item status-control">
|
||||
<?php if (is_qna_admin()): ?>
|
||||
<form method="post" action="/egbim/bbs/descope_qa_status.php" style="display:inline;">
|
||||
<input type="hidden" name="post_id" value="<?= $post['post_id'] ?>">
|
||||
<select name="status" onchange="this.form.submit()">
|
||||
<option value="await" <?= $post['status']==='await'?'selected':'' ?>>답변대기</option>
|
||||
<option value="review" <?= $post['status']==='review'?'selected':'' ?>>검토중</option>
|
||||
<option value="done" <?= $post['status']==='done'?'selected':'' ?>>답변완료</option>
|
||||
</select>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<div class="status"><?= htmlspecialchars($post['status_label']) ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<div class="tbl-item">
|
||||
<span class="cate"><?=htmlspecialchars($post['category_label'])?></span>
|
||||
<p class="tit"><?=htmlspecialchars($post['title'])?></p>
|
||||
</div> -->
|
||||
<div class="tbl-item title-row">
|
||||
<!-- 왼쪽: 카테고리 + 제목 -->
|
||||
<div class="title-left">
|
||||
<span class="cate"><?=htmlspecialchars($post['category_label'])?></span>
|
||||
<span class="tit"><?=htmlspecialchars($post['title'])?></span>
|
||||
</div>
|
||||
|
||||
<!-- 오른쪽: 상태 -->
|
||||
<div class="title-right">
|
||||
<?php if (is_qna_admin()): ?>
|
||||
<form method="post" action="/egbim/bbs/descope_qa_status.php">
|
||||
<input type="hidden" name="post_id" value="<?= $post['post_id'] ?>">
|
||||
<select name="status" onchange="this.form.submit()" class="status-select status-<?= htmlspecialchars($post['status']) ?>">
|
||||
<option value="new" <?= $post['status']==='new'?'selected':'' ?>>문의접수</option>
|
||||
<option value="review" <?= $post['status']==='review'?'selected':'' ?>>문의검토</option>
|
||||
<option value="deep" <?= $post['status']==='deep'?'selected':'' ?>>정밀검토</option>
|
||||
<option value="patch" <?= $post['status']==='patch'?'selected':'' ?>>패치예정</option>
|
||||
<option value="done" <?= $post['status']==='done'?'selected':'' ?>>답변완료</option>
|
||||
</select>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<div class="status"><?= htmlspecialchars($post['status_label']) ?></div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="tbl-group user-info">
|
||||
<div class="tbl-item">
|
||||
<span>
|
||||
<i class="fa fa-clock-o" aria-hidden="true"></i>
|
||||
<?=htmlspecialchars($post['created_at'])?>
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<div class="tbl-item">
|
||||
<!-- 글번호 -->
|
||||
<span class="post">
|
||||
<i class="fa fa-hashtag" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['post_id']) ?>
|
||||
</span>
|
||||
|
||||
<?php if ($post['category'] === 'notice'): ?>
|
||||
<!-- ✅ 공지사항이면 "관리자"만 표시 -->
|
||||
<span>
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
관리자
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<!-- 작성자 이메일 -->
|
||||
<span>
|
||||
<i class="fa fa-envelope-o" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['login_id']) ?>
|
||||
</span>
|
||||
|
||||
<!-- 회사 -->
|
||||
<?php if ((int)$post['is_internal'] === 1 && !empty($post['family_company'])): ?>
|
||||
<span>
|
||||
<i class="fa fa-building-o" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['family_company']) ?>
|
||||
</span>
|
||||
<?php elseif (!empty($post['company'])): ?>
|
||||
<span>
|
||||
<i class="fa fa-building-o" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['company']) ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- 부서 -->
|
||||
<?php if (!empty($post['department'])): ?>
|
||||
<span>
|
||||
<i class="fa fa-sitemap" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['department']) ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- 작성자 이름 -->
|
||||
<span>
|
||||
<i class="fa fa-user" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['display_name']) ?>
|
||||
</span>
|
||||
|
||||
<!-- 관리자 전용 -->
|
||||
<?php if (is_qna_admin()): ?>
|
||||
<?php if (!empty($post['phone'])): ?>
|
||||
<span>
|
||||
<i class="fa fa-phone" aria-hidden="true"></i>
|
||||
<?= htmlspecialchars($post['phone']) ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
<span>
|
||||
<i class="fa fa-key" aria-hidden="true"></i>
|
||||
Q&A : <?= htmlspecialchars($post['post_id']) ?>
|
||||
</span>
|
||||
<?php
|
||||
// ✅ 최신 login_version 가져오기
|
||||
$loginVersion = null;
|
||||
$st = $pdo->prepare("
|
||||
SELECT login_version
|
||||
FROM user_program_info
|
||||
WHERE login_id = ?
|
||||
ORDER BY id DESC
|
||||
LIMIT 1
|
||||
");
|
||||
$st->execute([$post['login_id']]);
|
||||
$loginVersion = $st->fetchColumn();
|
||||
?>
|
||||
<?php if ($loginVersion): ?>
|
||||
<span>
|
||||
<i class="fa fa-code-fork" aria-hidden="true"></i>
|
||||
Ver <?= htmlspecialchars($loginVersion) ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="content">
|
||||
<?= $post['content'] ?>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 첨부파일 -->
|
||||
<?php if (!empty($attachments)): ?>
|
||||
<div class="attachments" style="margin-top:20px;">
|
||||
<h3>첨부파일</h3>
|
||||
<ul>
|
||||
<?php foreach ($attachments as $file): ?>
|
||||
<li>
|
||||
<?php if (!empty($_SESSION['user']['userId'])): ?>
|
||||
<!-- ✅ 로그인한 경우: 다운로드 가능 -->
|
||||
<a href="<?= htmlspecialchars($file['save_path']) ?>" download>
|
||||
<?= htmlspecialchars($file['ori_name']) ?>
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<!-- 🚫 비회원: 이름만 표시 (다운로드 막음) -->
|
||||
<?= htmlspecialchars($file['ori_name']) ?> <span style="color:#888;"></span>
|
||||
<?php endif; ?>
|
||||
<small>
|
||||
(<?= round($file['file_size'] / 1024, 1) ?> KB,
|
||||
<?= htmlspecialchars(substr($file['uploaded_at'],0,16)) ?>)
|
||||
</small>
|
||||
</li>
|
||||
<?php endforeach; ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
<div class="btn-group">
|
||||
|
||||
<!-- 수정 버튼 (로그인 사용자 == 작성자 인 경우에만) -->
|
||||
<?php if ($me === $post['login_id']): ?>
|
||||
<button class="btn btn-save" onclick="location.href='/egbim/bbs/descope_qa_write.php?id=<?= $post['post_id'] ?>'">수정</button>
|
||||
<!-- <button class="btn btn-save" type="button" onclick="confirmDelete(<?= $post['post_id'] ?>)">삭제</button> -->
|
||||
<button class="btn btn-save" id="btn-delete" data-status="<?= $post['status'] ?>" data-id="<?= $post['post_id'] ?>">삭제</button>
|
||||
<?php endif; ?>
|
||||
<!-- <button onclick="history.back()">닫기</button> -->
|
||||
<button class="btn btn-list" onclick="location.href='/egbim/bbs/descope_qa_list.php'">
|
||||
<i class="fa fa-list" aria-hidden="true"></i> 목록</button>
|
||||
</div>
|
||||
</section>
|
||||
<script>
|
||||
$(document).on('click', '#btn-delete', function(e) {
|
||||
e.preventDefault(); // 링크 이동 막기
|
||||
const status = $(this).data('status');
|
||||
const id = $(this).data('id');
|
||||
|
||||
if (status === 'review' || status === 'done') {
|
||||
alert("검토중이거나 답변완료 된 상태에서는 글을 삭제할 수 없습니다.\n관리자에게 문의해 주세요");
|
||||
return false;
|
||||
}
|
||||
|
||||
if (confirm("정말 삭제하시겠습니까?\n댓글과 첨부파일도 함께 삭제됩니다.")) {
|
||||
location.href = "/egbim/bbs/descope_qa_delete.php?id=" + id;
|
||||
}
|
||||
});
|
||||
|
||||
// function confirmDelete(pid) {
|
||||
// if (confirm("정말 이 글을 삭제하시겠습니까?\n댓글과 첨부파일도 함께 삭제됩니다.")) {
|
||||
// window.location.href = "/egbim/bbs/descope_qa_delete.php?id=" + pid;
|
||||
// }
|
||||
// }
|
||||
</script>
|
||||
<section class="comment-section">
|
||||
<h4>댓글 (<span id="comment-count"><?= count($comments) ?></span>)</h4>
|
||||
<div class="comment-wrap form-wrap">
|
||||
<div id="comments" class="comment-list">
|
||||
<?php foreach ($comments as $c): ?>
|
||||
<div class="comment" id="comment-<?= $c['comment_id'] ?>">
|
||||
<div class="comment-body">
|
||||
<!-- 댓글 내용 -->
|
||||
<div class="comment-text"><?= nl2br(htmlspecialchars($c['comment_text'])) ?></div>
|
||||
<?php if (!empty($c['images'])): ?>
|
||||
<div class="comment-images" style="margin-top:6px; display:flex; gap:12px;">
|
||||
<?php foreach ($c['images'] as $img): ?>
|
||||
<div style="text-align:center;">
|
||||
<img
|
||||
src="/egbim<?= htmlspecialchars($img['thumb_path']) ?>"
|
||||
onclick="window.open('/egbim<?= htmlspecialchars($img['file_path']) ?>', '_blank')"
|
||||
style="width:140px; border-radius:6px; margin:4px; cursor:pointer;">
|
||||
<div style="font-size:12px; color:#555; margin-top:4px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;">
|
||||
<?= htmlspecialchars($img['file_name']) ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- 작성자 + 날짜 같은 줄 -->
|
||||
<div class="comment-meta">
|
||||
<span class="comment-author"><strong><?= htmlspecialchars($c['user_name']) ?></strong></span>
|
||||
<span class="comment-date"><small><?= $c['created_at'] ?></small></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 수정/삭제 버튼 -->
|
||||
<div class="comment-actions" style="text-align:right;">
|
||||
<?php if (!empty($_SESSION['user']['loginIds'][0])): ?>
|
||||
<?php if ($_SESSION['user']['loginIds'][0] == $c['login_id']): ?>
|
||||
<!-- 본인 댓글: 수정 + 삭제 -->
|
||||
<button class="btn-edit" data-id="<?= $c['comment_id'] ?>">수정</button>
|
||||
<button class="btn-delete" data-id="<?= $c['comment_id'] ?>">삭제</button>
|
||||
<?php elseif (is_qna_admin()): ?>
|
||||
<!-- 관리자: 삭제만 -->
|
||||
<button class="btn-delete" data-id="<?= $c['comment_id'] ?>">삭제</button>
|
||||
<?php endif; ?>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
|
||||
<!-- 수정 모드 textarea (기본 숨김) -->
|
||||
<div class="comment-edit-box" style="display:none; margin-top:5px;">
|
||||
<textarea class="comment-edit-input" rows="3"><?= htmlspecialchars($c['comment_text']) ?></textarea>
|
||||
<div class="comment-edit-actions" style="text-align:right; margin-top:3px;">
|
||||
<button class="btn-save-edit" data-id="<?= $c['comment_id'] ?>">저장</button>
|
||||
<button class="btn-cancel-edit">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php endforeach; ?>
|
||||
</div>
|
||||
|
||||
<!-- 신규 댓글 입력 -->
|
||||
<?php if ($isLoggedIn): ?>
|
||||
<form id="commentForm" enctype="multipart/form-data">
|
||||
<div class="comment-row">
|
||||
<!-- 댓글 입력 칸 -->
|
||||
<textarea id="newComment" name="comment" class="input-text"
|
||||
rows="3" placeholder="댓글을 입력하세요"></textarea>
|
||||
|
||||
<!-- 저장 버튼 -->
|
||||
<button type="submit" class="btn-save">저장</button>
|
||||
</div>
|
||||
|
||||
<!-- 댓글 입력칸 바로 아래에 위치하는 업로드 영역 -->
|
||||
<div class="upload-wrap">
|
||||
<label for="commentImages" class="img-upload-btn">📷 이미지 첨부</label>
|
||||
<input type="file" id="commentImages" name="images[]" accept="image/*" multiple>
|
||||
<span id="fileName" class="file-name">선택된 파일 없음</span>
|
||||
|
||||
<div id="previewArea"></div>
|
||||
</div>
|
||||
</form>
|
||||
<?php else: ?>
|
||||
<p style="color:#888;">댓글 작성은 로그인 후 이용 가능합니다.</p>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
</section>
|
||||
</div> <!-- contents END -->
|
||||
|
||||
|
||||
</div> <!-- container END -->
|
||||
<!-- FOOTER -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_footer.skin.php'); ?>
|
||||
<!-- //FOOTER -->
|
||||
</div> <!-- wrapper END -->
|
||||
<script>
|
||||
try{
|
||||
AOS.init();
|
||||
if (typeof Lenis !== 'undefined') {
|
||||
const lenis = new Lenis();
|
||||
lenis.on('scroll', ScrollTrigger.update);
|
||||
gsap.ticker.add((time)=>{ lenis.raf(time * 1000) });
|
||||
gsap.ticker.lagSmoothing(0);
|
||||
window.lenis = lenis;
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
|
||||
<script>
|
||||
//상태 색상 변경 동적 업데이트
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
document.querySelectorAll('.status-select').forEach(sel => {
|
||||
sel.addEventListener('change', function() {
|
||||
this.className = 'status-select status-' + this.value;
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
// ✅ 수정한 댓글 저장 핸들러
|
||||
document.getElementById('commentForm')?.addEventListener('submit', async (e) => {
|
||||
e.preventDefault();
|
||||
const textEl = document.getElementById('newComment');
|
||||
const fileEl = document.getElementById('commentImages');
|
||||
const text = textEl.value.trim();
|
||||
const files = fileEl.files;
|
||||
|
||||
// 댓글 내용이나 이미지가 둘 다 없는 경우 방지
|
||||
if (!text && files.length === 0) {
|
||||
alert('댓글 또는 이미지를 입력하세요.');
|
||||
return;
|
||||
}
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append('postId', <?= json_encode($post['post_id']) ?>);
|
||||
formData.append('comment', text);
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
formData.append('images[]', files[i]);
|
||||
}
|
||||
|
||||
try {
|
||||
const res = await fetch('/egbim/bbs/descope_qa_comment.php', {
|
||||
method: 'POST',
|
||||
body: formData,
|
||||
credentials: 'include'
|
||||
});
|
||||
|
||||
const rawResponse = await res.text();
|
||||
let json;
|
||||
|
||||
try {
|
||||
// PHP Warning 메시지가 섞여 나올 경우를 대비해 JSON 시작점({)부터 파싱
|
||||
const jsonStart = rawResponse.indexOf('{');
|
||||
if (jsonStart === -1) throw new Error("JSON 데이터 없음");
|
||||
json = JSON.parse(rawResponse.substring(jsonStart));
|
||||
} catch (parseError) {
|
||||
console.error("서버 응답 파싱 실패:", rawResponse);
|
||||
throw new Error("서버 응답 형식이 올바르지 않습니다.");
|
||||
}
|
||||
|
||||
if (json.status === 'ok') {
|
||||
const commentsList = document.getElementById('comments');
|
||||
const newCommentDiv = document.createElement('div');
|
||||
newCommentDiv.className = 'comment';
|
||||
newCommentDiv.id = `comment-${json.comment_id}`;
|
||||
|
||||
// ✅ 이미지 HTML 생성 (서버에서 넘겨준 imageList 활용)
|
||||
let imageHTML = '';
|
||||
if (json.images && json.images.length > 0) {
|
||||
imageHTML = `<div class="comment-images" style="margin-top:6px; display:flex; gap:12px; flex-wrap:wrap;">`;
|
||||
json.images.forEach(img => {
|
||||
imageHTML += `
|
||||
<div style="text-align:center;">
|
||||
<img src="/egbim${img.thumb}"
|
||||
onclick="window.open('/egbim${img.full}', '_blank')"
|
||||
style="width:140px; border-radius:6px; margin:4px; cursor:pointer;"
|
||||
alt="${img.name}">
|
||||
<div style="font-size:12px; color:#555; margin-top:4px; max-width:140px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;">
|
||||
${img.name}
|
||||
</div>
|
||||
</div>`;
|
||||
});
|
||||
imageHTML += `</div>`;
|
||||
}
|
||||
|
||||
newCommentDiv.innerHTML = `
|
||||
<div class="comment-body">
|
||||
<div class="comment-text">${text.replace(/\n/g, '<br>')}</div>
|
||||
${imageHTML}
|
||||
<div class="comment-meta">
|
||||
<span class="comment-author"><strong>${json.user_name}</strong></span>
|
||||
<span class="comment-date"><small>${json.created_at}</small></span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="comment-actions" style="text-align:right;">
|
||||
<button class="btn-edit" data-id="${json.comment_id}">수정</button>
|
||||
<button class="btn-delete" data-id="${json.comment_id}">삭제</button>
|
||||
</div>
|
||||
<div class="comment-edit-box" style="display:none; margin-top:5px;">
|
||||
<textarea class="comment-edit-input" rows="3">${text}</textarea>
|
||||
<div class="comment-edit-actions" style="text-align:right; margin-top:3px;">
|
||||
<button class="btn-save-edit" data-id="${json.comment_id}">저장</button>
|
||||
<button class="btn-cancel-edit">취소</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
commentsList.appendChild(newCommentDiv);
|
||||
|
||||
// ✅ 댓글 수 카운트 갱신
|
||||
const countEl = document.getElementById('comment-count');
|
||||
if (countEl) {
|
||||
countEl.innerText = parseInt(countEl.innerText || 0) + 1;
|
||||
}
|
||||
|
||||
// 입력창 초기화
|
||||
textEl.value = '';
|
||||
fileEl.value = '';
|
||||
document.getElementById('previewArea').innerHTML = '';
|
||||
const fileNameEl = document.getElementById('fileName');
|
||||
if (fileNameEl) fileNameEl.innerText = '선택된 파일 없음';
|
||||
|
||||
alert("댓글이 등록되었습니다.");
|
||||
} else {
|
||||
alert(json.message || "저장 중 오류가 발생했습니다.");
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Error:", error);
|
||||
alert("통신 오류가 발생했습니다. 서버 응답을 확인하세요.");
|
||||
}
|
||||
});
|
||||
|
||||
// 댓글 수정 버튼
|
||||
$(document).on('click', '.btn-edit', function() {
|
||||
const id = $(this).data('id');
|
||||
const $comment = $(this).closest('.comment');
|
||||
const $text = $comment.find('.comment-text');
|
||||
const original = $text.text().trim();
|
||||
|
||||
// input으로 교체
|
||||
$text.replaceWith(`<textarea class="edit-input" data-id="${id}" rows="3">${original}</textarea>`);
|
||||
$(this).text("저장").removeClass("btn-edit").addClass("btn-save-edit").attr("data-id", id);;
|
||||
});
|
||||
|
||||
// 댓글 수정 저장
|
||||
$(document).on('click', '.btn-save-edit', function() {
|
||||
const id = $(this).data('id');
|
||||
const $input = $('.edit-input[data-id="'+id+'"]');
|
||||
const newText = $input.val().trim();
|
||||
|
||||
if (!newText) return alert("내용을 입력하세요");
|
||||
console.log("update click", id, newText);
|
||||
$.post("/egbim/bbs/descope_qa_comment_update.php",
|
||||
{ commentId:id, comment:newText },
|
||||
function(res) {
|
||||
if (res.status === 'ok') {
|
||||
alert(res.message || "댓글이 수정되었습니다.");
|
||||
$input.replaceWith(`<div class="comment-text">${newText}</div>`);
|
||||
$('.btn-save-edit[data-id="'+id+'"]').text("수정")
|
||||
.removeClass("btn-save-edit").addClass("btn-edit");
|
||||
} else {
|
||||
alert(res.message || "수정 실패");
|
||||
}
|
||||
}, "json");
|
||||
});
|
||||
|
||||
document.addEventListener('click', function(e) {
|
||||
// 수정 버튼 클릭 → textarea 열기
|
||||
if (e.target.classList.contains('btn-edit')) {
|
||||
const comment = e.target.closest('.comment');
|
||||
comment.querySelector('.comment-text').style.display = 'none';
|
||||
comment.querySelector('.comment-actions').style.display = 'none';
|
||||
comment.querySelector('.comment-edit-box').style.display = 'block';
|
||||
}
|
||||
|
||||
// 취소 버튼 → 원래 상태로
|
||||
if (e.target.classList.contains('btn-cancel-edit')) {
|
||||
const comment = e.target.closest('.comment');
|
||||
comment.querySelector('.comment-text').style.display = 'inline';
|
||||
comment.querySelector('.comment-actions').style.display = 'block';
|
||||
comment.querySelector('.comment-edit-box').style.display = 'none';
|
||||
}
|
||||
|
||||
// 저장 버튼 → AJAX로 수정 요청 (예시)
|
||||
if (e.target.classList.contains('btn-save-edit')) {
|
||||
const comment = e.target.closest('.comment');
|
||||
const id = e.target.dataset.id;
|
||||
const newText = comment.querySelector('.comment-edit-input').value;
|
||||
|
||||
// TODO: AJAX 호출해서 서버 업데이트
|
||||
console.log("수정 저장:", id, newText);
|
||||
|
||||
// UI 갱신
|
||||
comment.querySelector('.comment-text').textContent = newText;
|
||||
comment.querySelector('.comment-text').style.display = 'inline';
|
||||
comment.querySelector('.comment-actions').style.display = 'block';
|
||||
comment.querySelector('.comment-edit-box').style.display = 'none';
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
// 댓글 삭제 버튼
|
||||
$(document).on("click", ".btn-delete", function () {
|
||||
if (!confirm("정말 삭제하시겠습니까?")) return;
|
||||
|
||||
var commentId = $(this).data("id");
|
||||
|
||||
$.ajax({
|
||||
url: "/egbim/bbs/descope_qa_comment_delete.php",
|
||||
type: "POST",
|
||||
data: { commentId: commentId },
|
||||
dataType: "json",
|
||||
success: function (res) {
|
||||
if (res.status === "ok") {
|
||||
// DOM에서도 삭제
|
||||
$("#comment-" + commentId).fadeOut(300, function () {
|
||||
$(this).remove();
|
||||
});
|
||||
// ✅ 댓글 수 감소
|
||||
var countEl = $("#comment-count");
|
||||
var current = parseInt(countEl.text(), 10);
|
||||
if (current > 0) {
|
||||
countEl.text(current - 1);
|
||||
}
|
||||
alert("댓글이 삭제되었습니다.");
|
||||
} else {
|
||||
alert(res.message || "삭제 실패");
|
||||
}
|
||||
},
|
||||
error: function (xhr) {
|
||||
alert("삭제 요청 에러: " + xhr.responseText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
</script>
|
||||
<?php
|
||||
// Q&A 상세 페이지에서는 Descope 로그인에 필요한 최소 팝업만 포함합니다.
|
||||
$BASE = $_SERVER['DOCUMENT_ROOT'].'/egbim/skin/member/basic';
|
||||
$partials = [
|
||||
'login.skin.php',
|
||||
'register.skin.php',
|
||||
'privacy.skin.php',
|
||||
'password_lost.skin.php',
|
||||
];
|
||||
|
||||
foreach ($partials as $p) {
|
||||
$full = $BASE.'/'.$p;
|
||||
if (file_exists($full)) {
|
||||
include $full;
|
||||
echo "<!-- INCLUDED: {$full} -->\n"; // 디버그 표시
|
||||
} else {
|
||||
echo "<!-- MISSING: {$full} -->\n"; // 경로 문제 확인용
|
||||
}
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
$(function(){
|
||||
// footer family site toggle
|
||||
$('.family_btn').click(function(e){
|
||||
e.stopPropagation();
|
||||
$('.family_list, .family_btn').toggleClass('family_on');
|
||||
});
|
||||
$(document).click(function(e){
|
||||
if(!$(e.target).closest('.family_wrap').length){
|
||||
$('.family_list, .family_btn').removeClass('family_on');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
//descope 로그인, 로그아웃 js
|
||||
function updateHeaderMenu() {
|
||||
var isLoggedIn = !!sessionStorage.getItem("sessionJwt");
|
||||
// role 체크 예시 (로그인 시 저장해놓은 값)
|
||||
var isAdmin = sessionStorage.getItem('userRole') === 'super';
|
||||
|
||||
if (isLoggedIn) {
|
||||
$('.my_join2, .my_login2').show();
|
||||
$('.my_join, .my_login').hide();
|
||||
|
||||
// 마이페이지/관리자 메뉴 동적 출력
|
||||
if (isAdmin) {
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
} else {
|
||||
$('#my_join2').html("<a href='javascript:mypage03();'>마이페이지</a>");
|
||||
}
|
||||
} else {
|
||||
$('.my_join2, .my_login2').hide();
|
||||
$('.my_join, .my_login').show();
|
||||
$('#my_join2').html(""); // 혹시모를 내용 초기화
|
||||
}
|
||||
}
|
||||
|
||||
function descopeLogout() {
|
||||
fetch('/egbim/skin/member/basic/descope_logout.php', {
|
||||
method: 'POST',
|
||||
credentials: 'include' // PHPSESSID 쿠키 전송
|
||||
})
|
||||
.then(res => {
|
||||
if (!res.ok) throw new Error('서버 로그아웃 실패');
|
||||
// 1) 로컬 저장소 정리
|
||||
// sessionStorage.removeItem("refreshJwt");
|
||||
// sessionStorage.removeItem("sessionJwt");
|
||||
// sessionStorage.removeItem("userRole");
|
||||
// sessionStorage.removeItem("userName");
|
||||
// sessionStorage.removeItem("loginId");
|
||||
|
||||
sessionStorage.clear();
|
||||
localStorage.clear();
|
||||
// 2) UI 갱신
|
||||
updateHeaderMenu();
|
||||
// 3) 로그인 페이지로 이동
|
||||
window.location.href = '/egbim/index.php';
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
alert('로그아웃 중 오류가 발생했습니다.');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// 기존에 있던 updateHeaderMenu() 호출 뒤에
|
||||
$('#my_login2 a').off('click').on('click', function(e){
|
||||
e.preventDefault();
|
||||
descopeLogout();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
updateHeaderMenu();
|
||||
// (필요하다면, 로그인 성공 후에도 항상 updateHeaderMenu(); 호출)
|
||||
});
|
||||
|
||||
//descope login
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
|
||||
$.ajax({
|
||||
url : '/egbim/skin/member/basic/descope_login.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
dataType : "json",
|
||||
success : function(res){
|
||||
if(res.status === "ok") {
|
||||
// 토큰 저장
|
||||
// sessionStorage.setItem("refreshJwt", res.refreshJwt);
|
||||
sessionStorage.setItem("sessionJwt", res.sessionJwt);
|
||||
|
||||
// ✅ 사용자 정보 저장
|
||||
if (res.user) {
|
||||
sessionStorage.setItem("loginId", res.user.loginIds?.[0] || '');
|
||||
sessionStorage.setItem("userName", res.user.name || '');
|
||||
sessionStorage.setItem("company", res.user.customAttributes?.company || '');
|
||||
sessionStorage.setItem("familyCompany", res.user.customAttributes?.familyCompany || '');
|
||||
sessionStorage.setItem("position", res.user.customAttributes?.position || '');
|
||||
sessionStorage.setItem("team", res.user.customAttributes?.team || '');
|
||||
sessionStorage.setItem("familyUniqueKey", res.user.customAttributes?.familyUniqueKey || '');
|
||||
sessionStorage.setItem("phone", res.user.phone || '');
|
||||
}
|
||||
|
||||
// ✅ 추가: 관리자 등 정보 저장
|
||||
if(res.user && res.user.roleNames && res.user.roleNames[0])
|
||||
sessionStorage.setItem("userRole", res.user.roleNames[0]);
|
||||
else
|
||||
sessionStorage.removeItem("userRole");
|
||||
|
||||
// ✅ 로그인 후 메뉴 갱신
|
||||
updateHeaderMenu();
|
||||
|
||||
// UI 처리
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', '');
|
||||
lenis.start();
|
||||
// alert('로그인 하셨습니다.');
|
||||
} else {
|
||||
alert(res.message || "로그인 실패");
|
||||
|
||||
// 🔴 실패 횟수에 따라 안내 배너 교체
|
||||
if (res.failCount && res.failCount >= 8) {
|
||||
updateLoginBanner("fail");
|
||||
}
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err.statusText || "통신 오류");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ✅ 배너 교체 함수
|
||||
function updateLoginBanner(type = "default") {
|
||||
const $banner = $('#login_notice_banner');
|
||||
if (!$banner.length) return;
|
||||
|
||||
if (type === "default") {
|
||||
$banner.css({ background: "#063e01ff", color: "#fff" });
|
||||
$banner.find("strong").text("[로그인 시스템 변경 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
더 나은 보안을 위해 2025년 8월 8일부터 로그인 시스템이 변경되었습니다.<br>
|
||||
기존 회원 또한 신규 시스템에 맞춰 재가입을 진행해주시기 바랍니다.
|
||||
`);
|
||||
$banner.find("p:last").html(`※ 로그인 및 가입 관련 문의: <strong>010-8721-7453</strong>`);
|
||||
}
|
||||
|
||||
if (type === "fail") {
|
||||
$banner.css({ background: "#6a0202ff", color: "#faf6f6ff" });
|
||||
$banner.find("strong").text("[로그인 시도 제한 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
비밀번호 입력을 <strong>7회 이상 연속 실패</strong>하셨습니다.<br>
|
||||
<strong>8번째 시도부터 3분 대기</strong>가 적용됩니다.<br>
|
||||
10회 이상 실패 시 계정이 잠금 처리됩니다.
|
||||
`);
|
||||
$banner.find("p:last").text("");
|
||||
}
|
||||
}
|
||||
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 이지빔 프로그램 회원가입 url 쿼리스트링 파싱 함수
|
||||
function getQueryString(name) {
|
||||
const intro = document.querySelector('.intro_wrap');
|
||||
if (intro) {
|
||||
intro.style.display = "none";
|
||||
}
|
||||
const mainMask = document.querySelector('.main_mask');
|
||||
if (mainMask) {
|
||||
mainMask.classList.add('skip');
|
||||
}
|
||||
// mainMask.style.aimation = 'none';
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
return urlParams.get(name);
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
const popupParam = getQueryString('popup');
|
||||
|
||||
if (popupParam === 'signup') {
|
||||
console.log('쿼리 감지: signup → 회원가입 팝업 자동 오픈 시도');
|
||||
$('#pop_agreement').show(); // 팝업 보여주기
|
||||
|
||||
// 스크롤 잠금 (사용 중이면)
|
||||
$('body').css('overflow', 'hidden');
|
||||
if (typeof lenis !== 'undefined') {
|
||||
lenis.stop();
|
||||
}
|
||||
}
|
||||
|
||||
// 팝업 닫기 버튼 이벤트 연결
|
||||
$('#pop_agreement .btn_close').on('click', function() {
|
||||
$('#pop_agreement').hide();
|
||||
$('body').css('overflow', '');
|
||||
if (typeof lenis !== 'undefined') {
|
||||
lenis.start();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//이지빔 프로그램 비밀번호 재설정 url 쿼리스트링 파싱 함수
|
||||
$(document).ready(function() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const popup = urlParams.get('popup');
|
||||
const token = urlParams.get('t');
|
||||
|
||||
if (popup === 'pwreset') {
|
||||
// 팝업 전체 열기
|
||||
$('#pop_search').show();
|
||||
$('body').css('overflow', 'hidden');
|
||||
|
||||
// 내부 컨텐츠 모두 숨기기
|
||||
$('#pop_search .popup_contents_wrap').hide();
|
||||
|
||||
if (token) {
|
||||
// 토큰이 있으면 비밀번호 재설정 단계
|
||||
if (!sessionStorage.getItem('pwreset_shown')) {
|
||||
$('#password_reset').show();
|
||||
sessionStorage.setItem('pwreset_shown', '1');
|
||||
}
|
||||
} else {
|
||||
// 토큰이 없으면 아이디 입력 단계 (첫 번째 .popup_contents_wrap)
|
||||
$('#pop_search .popup_contents_wrap').first().show();
|
||||
}
|
||||
}
|
||||
|
||||
// 닫기 버튼
|
||||
$('#pop_search .btn_close').on('click', function() {
|
||||
$('#pop_search').hide();
|
||||
$('body').css('overflow', '');
|
||||
});
|
||||
});
|
||||
|
||||
// ✅ 댓글 이미지 미리보기
|
||||
document.addEventListener("change", function(e) {
|
||||
if (e.target.id === "commentImages") {
|
||||
const preview = document.getElementById("previewArea");
|
||||
preview.innerHTML = ""; // 초기화
|
||||
|
||||
[...e.target.files].forEach(file => {
|
||||
|
||||
// ▶ 개별 박스 생성
|
||||
const box = document.createElement("div");
|
||||
box.style.width = "80px";
|
||||
box.style.marginRight = "6px";
|
||||
box.style.textAlign = "center";
|
||||
box.style.fontSize = "12px";
|
||||
|
||||
// ▶ 썸네일 이미지
|
||||
const img = document.createElement("img");
|
||||
img.src = URL.createObjectURL(file);
|
||||
img.style.width = "80px";
|
||||
img.style.height = "80px";
|
||||
img.style.objectFit = "cover";
|
||||
img.style.borderRadius = "6px";
|
||||
img.style.display = "block";
|
||||
|
||||
// ▶ 파일명 (길면 ... 처리)
|
||||
const name = document.createElement("div");
|
||||
name.textContent = file.name;
|
||||
name.style.marginTop = "4px";
|
||||
name.style.whiteSpace = "nowrap";
|
||||
name.style.overflow = "hidden";
|
||||
name.style.textOverflow = "ellipsis";
|
||||
|
||||
// ▶ 박스에 넣기
|
||||
box.appendChild(img);
|
||||
box.appendChild(name);
|
||||
|
||||
// ▶ preview 영역에 넣기
|
||||
preview.appendChild(box);
|
||||
});
|
||||
}
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,708 @@
|
||||
<?php // descope_qa_list.skin.php
|
||||
|
||||
// ✅ DB 연결
|
||||
$pdo = new PDO("mysql:host=db;dbname=egbim;charset=utf8mb4", "egbim", "baron3840!!", [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
]);
|
||||
|
||||
// ✅ EG-BIM (product_code=8) 기준 최신 external_version 가져오기
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT external_version
|
||||
FROM deploy_versions
|
||||
WHERE product_code = 1
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT 1
|
||||
");
|
||||
$stmt->execute();
|
||||
$version = $stmt->fetchColumn() ?: '1.0.0'; // fallback
|
||||
|
||||
// ✅ 다운로드 URL 자동 생성
|
||||
$download_url = "https://release-download.hmac.kr/eg-bim/{$version}/setup_eg-bim_{$version}.exe";
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Q&A 게시판 리스트</title>
|
||||
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<script src="../js/jquery-3.6.1.min.js" type="text/javascript"></script>
|
||||
<script src="../js/jquery.mousewheel.min.js" type="text/javascript"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script src="../js/popup.js?v=20260723" type="text/javascript"></script>
|
||||
<script src="../js/common.js" type="text/javascript"></script>
|
||||
<script src="../js/index.js" type="text/javascript"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<!-- //디자인팀 작성 -->
|
||||
|
||||
<style>
|
||||
/* …기존 CSS 그대로… */
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_header.skin.php'); ?>
|
||||
<!-- //Header -->
|
||||
|
||||
<div class="qa-container container faq">
|
||||
<section class="intro">
|
||||
<div class="top js__dark">
|
||||
<h2 data-aos="fade-down" data-aos-duration="1000">Q&A</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="/egbim/bbs/faq.php">자주하는 질문(FAQ)</a></li>
|
||||
<li class="on"><a href="/egbim/bbs/descope_qa_list.php">문의하기(Q&A)</a></li>
|
||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">문의하기(Q&A)</span>
|
||||
|
||||
<div class="contents">
|
||||
<form class="qa-controls" method="get" action="">
|
||||
<div class="search-wrap">
|
||||
<div class="qa-filters">
|
||||
<div class="check-group">
|
||||
<!-- <strong>구분</strong> -->
|
||||
<?php
|
||||
// 선택 여부 유틸
|
||||
$isChecked = function($v) use ($cats) {
|
||||
return in_array($v, $cats ?? [], true) ? 'checked' : '';
|
||||
};
|
||||
// 아무 것도 선택 안되어 있으면 전체 on
|
||||
$allOn = empty($cats);
|
||||
?>
|
||||
<label><input type="checkbox" name="cat[]" value="all" <?= $allOn ? 'checked' : '' ?>> 전체</label>
|
||||
<label><input type="checkbox" name="cat[]" value="general" <?= $isChecked('general') ?>> 일반</label>
|
||||
<label><input type="checkbox" name="cat[]" value="improvement"<?= $isChecked('improvement') ?>> 개선</label>
|
||||
<label><input type="checkbox" name="cat[]" value="error" <?= $isChecked('error') ?>> 오류</label>
|
||||
<?php if (is_qna_admin($_SESSION['user']['loginIds'][0] ?? '')): ?>
|
||||
<label><input type="checkbox" name="cat[]" value="admin" <?= $isChecked('admin') ?>> 관리</label>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="check-box">
|
||||
<strong>작성자</strong>
|
||||
<label><input type="checkbox" name="writer" value="me" <?= $writer==='me' ?'checked':'' ?>> 내가 작성한 글</label>
|
||||
</div>
|
||||
<?php if (is_qna_admin($_SESSION['user']['loginIds'][0] ?? '')): ?>
|
||||
<?php $status = $_GET['status'] ?? 'all'; ?>
|
||||
<div class="check-box1" style="margin-left:20px;">
|
||||
<strong>상태</strong>
|
||||
<select name="status" class="status-select">
|
||||
<option value="all" <?= $status==='all'?'selected':'' ?>>전체</option>
|
||||
<option value="new" <?= $status==='new'?'selected':'' ?>>문의접수</option>
|
||||
<option value="review"<?= $status==='review'?'selected':'' ?>>문의검토</option>
|
||||
<option value="deep" <?= $status==='deep'?'selected':'' ?>>정밀검토</option>
|
||||
<option value="patch" <?= $status==='patch'?'selected':'' ?>>패치예정</option>
|
||||
<option value="done" <?= $status==='done'?'selected':'' ?>>답변완료</option>
|
||||
</select>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
</div>
|
||||
<div class="qa-search search-box">
|
||||
<?php if (is_qna_admin($_SESSION['user']['loginIds'][0] ?? '')): ?>
|
||||
<input type="number" class="qna-id-input" placeholder="Q&A ID">
|
||||
<button type="button" class="btn-move">이동</button>
|
||||
<?php endif; ?>
|
||||
|
||||
<input type="text" name="q" value="<?= htmlspecialchars($search) ?>" placeholder="제목+내용 검색어를 입력하세요">
|
||||
<button type="submit" class="btn-search">
|
||||
<i class="fa fa-search"></i> 검색
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<?php
|
||||
$CAT_LABELS = [
|
||||
'general' => '일반문의',
|
||||
'improvement' => '개선문의',
|
||||
'error' => '오류문의',
|
||||
'notice' => '공지사항',
|
||||
'admin' => '관리글',
|
||||
];
|
||||
?>
|
||||
<div class="tbl-wrap">
|
||||
<table>
|
||||
<colgroup>
|
||||
<col style="width:5%"><col style="width:7%"><col style="width:12%"><col style="width:12%">
|
||||
<col style="width:7%"><col style="width:auto"><col style="width:9%"><col style="width:9%">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th><th>구분</th><th>회사</th><th>부서</th>
|
||||
<th>작성자</th><th>제목</th><th>등록일</th><th>상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$totalIndex = $totalCount - ($page - 1) * $pageSize;
|
||||
$idx = 0;
|
||||
?>
|
||||
<?php foreach($posts as $row): ?>
|
||||
<?php
|
||||
$isNotice = ($row['category'] === 'notice');
|
||||
$rowNumber = $totalIndex - $idx; // 연속 번호 재계산
|
||||
?>
|
||||
<?php $isNotice = ($row['category'] === 'notice'); ?>
|
||||
<tr class="<?= $isNotice ? 'row-notice' : '' ?>" onclick="location.href='/egbim/bbs/descope_qa_detail.php?id=<?= urlencode($row['post_id']) ?>'" style="cursor:pointer;">
|
||||
<!-- 번호: 공지 or 연속번호 -->
|
||||
<td><?= $isNotice ? '공지' : $rowNumber ?></td>
|
||||
<!-- 구분 -->
|
||||
<td><?= htmlspecialchars($CAT_LABELS[$row['category']] ?? ($row['category'] ?? '')) ?></td>
|
||||
<!-- 회사 -->
|
||||
<td><?= htmlspecialchars($row['display_company']) ?></td>
|
||||
<!-- 부서 -->
|
||||
<td><?= htmlspecialchars($row['department'] ?? '') ?></td>
|
||||
<!-- 작성자 -->
|
||||
<td><?= htmlspecialchars($row['display_name']) ?></td>
|
||||
<!-- 제목 -->
|
||||
<td class="left">
|
||||
<?php if (!empty($row['is_secret'])): ?>
|
||||
<span style="color:#999">[비밀글]</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<span class="title-text">
|
||||
<?= htmlspecialchars($row['title']) ?>
|
||||
</span>
|
||||
|
||||
<!-- 댓글 개수 -->
|
||||
<?php if (!empty($row['comment_count'])): ?>
|
||||
<span class="badge badge-comment" style="color:#007bff; margin-left:5px;">
|
||||
<i class="fa fa-commenting-o"></i> <?= $row['comment_count'] ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
|
||||
<!-- 첨부파일 개수 -->
|
||||
<?php if (!empty($row['file_count'])): ?>
|
||||
<span class="badge badge-file" style="color:#28a745; margin-left:5px;">
|
||||
<i class="fa fa-paperclip"></i> <?= $row['file_count'] ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
|
||||
<!-- 등록일 -->
|
||||
<td><?= htmlspecialchars(substr($row['created_at'],0,10)) ?></td>
|
||||
<!-- 상태 -->
|
||||
<td>
|
||||
<?php if ($row['category'] === 'notice'): ?>
|
||||
<!-- 공지사항이면 상태값 안 보여줌 -->
|
||||
<span></span>
|
||||
<?php else: ?>
|
||||
<span class="status-<?= htmlspecialchars($row['status']) ?>">
|
||||
<?= $row['status']==='new' ? '문의접수'
|
||||
: ($row['status']==='review' ? '문의검토'
|
||||
: ($row['status']==='deep' ? '정밀검토'
|
||||
: ($row['status']==='patch' ? '패치예정'
|
||||
: ($row['status']==='done' ? '답변완료'
|
||||
: '')))) ?>
|
||||
</span>
|
||||
<?php endif; ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php $idx++; ?>
|
||||
<?php endforeach; ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php if ($totalPages > 1): ?>
|
||||
<div class="pagination">
|
||||
<?php if ($page > 1): ?>
|
||||
<a href="?<?= http_build_query(array_merge($_GET, ['page'=>$page-1])) ?>" class="prev">이전</a>
|
||||
<?php else: ?><span class="prev">이전</span><?php endif ?>
|
||||
|
||||
<?php
|
||||
$blockSize = 10;
|
||||
$currentBlock= ceil($page / $blockSize);
|
||||
$start = ($currentBlock - 1) * $blockSize + 1;
|
||||
$end = min($totalPages, $currentBlock * $blockSize);
|
||||
|
||||
for ($i = $start; $i <= $end; $i++):
|
||||
?>
|
||||
<?php if ($i == $page): ?>
|
||||
<!-- ✅ 여기! 현재 페이지는 span.current -->
|
||||
<span class="current"><?= $i ?></span>
|
||||
<?php else: ?>
|
||||
<a href="?<?= http_build_query(array_merge($_GET, ['page'=>$i])) ?>"><?= $i ?></a>
|
||||
<?php endif ?>
|
||||
<?php endfor ?>
|
||||
|
||||
<?php if ($page < $totalPages): ?>
|
||||
<a href="?<?= http_build_query(array_merge($_GET, ['page'=>$page+1])) ?>" class="next">다음</a>
|
||||
<?php else: ?><span class="next">다음</span><?php endif ?>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-write" onclick="openQaWrite()">
|
||||
<i class="fa fa-pencil" aria-hidden="true"></i> 문의등록
|
||||
</button>
|
||||
</div>
|
||||
</div><!-- contents END /egbim/skin/qa/basic/descope_qa_write.skin.php-->
|
||||
</div><!-- container END -->
|
||||
|
||||
<button class="btn_top js__top topbtn_on" onclick="window.scrollTo(0,0);" style="bottom:60px;"><div class="arrow"></div></button>
|
||||
|
||||
<!-- FOOTER -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_footer.skin.php'); ?>
|
||||
<!-- //FOOTER -->
|
||||
</div><!-- wrapper END -->
|
||||
|
||||
<script>
|
||||
// AOS / Lenis 초기화 (안전 가드)
|
||||
try {
|
||||
AOS.init();
|
||||
if (typeof Lenis !== 'undefined') {
|
||||
const lenis = new Lenis();
|
||||
lenis.on('scroll', ScrollTrigger.update);
|
||||
gsap.ticker.add((time)=>{ lenis.raf(time * 1000) });
|
||||
gsap.ticker.lagSmoothing(0);
|
||||
window.lenis = lenis; // 다른 코드에서 접근할 수 있게
|
||||
}
|
||||
} catch(e) { console.error(e); }
|
||||
</script>
|
||||
|
||||
<script>
|
||||
// ===== 공용 유틸 =====
|
||||
function getQueryString(name){
|
||||
// 페이지 구성 요소가 없을 수 있으므로 가드
|
||||
const intro = document.querySelector('.intro_wrap');
|
||||
if (intro) intro.style.display = "none";
|
||||
const mainMask = document.querySelector('.main_mask');
|
||||
if (mainMask) mainMask.classList.add('skip');
|
||||
return new URLSearchParams(window.location.search).get(name);
|
||||
}
|
||||
|
||||
// 필터 변경 시 자동 제출
|
||||
(function(){
|
||||
const form = document.querySelector('.qa-controls');
|
||||
const boxes = Array.from(document.querySelectorAll('.qa-controls input[name="cat[]"]'));
|
||||
const writer = document.querySelector('.qa-controls input[name="writer"]');
|
||||
|
||||
function submitForm(){ form && form.submit(); }
|
||||
|
||||
function syncAllToggle(changed){
|
||||
const allBox = boxes.find(b => b.value === 'all');
|
||||
const itemBoxes = boxes.filter(b => b.value !== 'all');
|
||||
|
||||
if (!allBox) return;
|
||||
|
||||
if (changed && changed.value === 'all') {
|
||||
// 전체 체크 시 개별은 해제
|
||||
if (allBox.checked) itemBoxes.forEach(b => b.checked = false);
|
||||
} else {
|
||||
// 개별 체크 시 전체 해제
|
||||
if (itemBoxes.some(b => b.checked)) allBox.checked = false;
|
||||
// 개별이 전부 해제되면 전체 자동 체크
|
||||
if (!itemBoxes.some(b => b.checked)) allBox.checked = true;
|
||||
}
|
||||
}
|
||||
|
||||
boxes.forEach(b => {
|
||||
b.addEventListener('change', function(){ syncAllToggle(this); submitForm(); });
|
||||
});
|
||||
if (writer) writer.addEventListener('change', submitForm);
|
||||
})();
|
||||
|
||||
// Footer family site toggle
|
||||
$(function(){
|
||||
$('.family_btn').on('click', function(e){
|
||||
e.stopPropagation();
|
||||
$('.family_list, .family_btn').toggleClass('family_on');
|
||||
});
|
||||
$(document).on('click', function(e){
|
||||
if(!$(e.target).closest('.family_wrap').length){
|
||||
$('.family_list, .family_btn').removeClass('family_on');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Cookie helpers (기존 로직 유지)
|
||||
function deleteCookie(name){
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname){
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i=0;i<ca.length;i++){
|
||||
let c = ca[i];
|
||||
while(c.charAt(0)==' '){ c = c.substring(1); }
|
||||
if(c.indexOf(name) == 0){ return c.substring(name.length, c.length); }
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// ===== 로그인/메뉴 표시 =====
|
||||
window.__serverSessionReady = <?= !empty($_SESSION['user']['userId']) ? 'true' : 'false' ?>;
|
||||
|
||||
const QNA_ADMIN_IDS = [
|
||||
'kjy0426@hanmaceng.co.kr',
|
||||
'b24014@hanmaceng.co.kr',
|
||||
'b23065@hanmaceng.co.kr',
|
||||
'b23008@baroncs.co.kr',
|
||||
'shyeom1@samaneng.com',
|
||||
'cjy627@hanmaceng.co.kr',
|
||||
'b23072@hanmaceng.co.kr',
|
||||
'b24051@hanmaceng.co.kr',
|
||||
'rmsgud1202@hanmaceng.co.kr',
|
||||
'm21318@hanmaceng.co.kr',
|
||||
'b21367@hanmaceng.co.kr',
|
||||
'b25023@hanmaceng.co.kr',
|
||||
'sdi9429@naver.com',
|
||||
'junsuy@hanmail.net',
|
||||
'ilphilo92@gmail.com'
|
||||
];
|
||||
|
||||
function isAdminLoginId(loginId = null) {
|
||||
const value = (loginId || sessionStorage.getItem('loginId') || '').trim().toLowerCase();
|
||||
return QNA_ADMIN_IDS.includes(value);
|
||||
}
|
||||
|
||||
function hasClientSession() {
|
||||
const loginId = sessionStorage.getItem('loginId') || '';
|
||||
const sessionJwt = sessionStorage.getItem('sessionJwt') || '';
|
||||
return loginId !== '' && sessionJwt.split('.').length === 3;
|
||||
}
|
||||
|
||||
function syncDescopeServerSession() {
|
||||
if (window.__serverSessionReady) {
|
||||
return Promise.resolve(true);
|
||||
}
|
||||
if (!hasClientSession()) {
|
||||
return Promise.resolve(false);
|
||||
}
|
||||
|
||||
return $.ajax({
|
||||
url: '/egbim/skin/member/basic/descope_restore_session.php',
|
||||
type: 'POST',
|
||||
dataType: 'json',
|
||||
data: {
|
||||
loginId: sessionStorage.getItem('loginId') || '',
|
||||
userId: sessionStorage.getItem('descopeUserId') || sessionStorage.getItem('loginId') || '',
|
||||
userName: sessionStorage.getItem('userName') || '',
|
||||
email: sessionStorage.getItem('loginId') || '',
|
||||
phone: sessionStorage.getItem('phone') || '',
|
||||
company: sessionStorage.getItem('company') || '',
|
||||
familyCompany: sessionStorage.getItem('familyCompany') || '',
|
||||
position: sessionStorage.getItem('position') || '',
|
||||
team: sessionStorage.getItem('team') || '',
|
||||
familyUniqueKey: sessionStorage.getItem('familyUniqueKey') || '',
|
||||
userRole: sessionStorage.getItem('userRole') || '',
|
||||
sessionJwt: sessionStorage.getItem('sessionJwt') || ''
|
||||
}
|
||||
}).then(function(res) {
|
||||
const ok = !!(res && res.status === 'ok');
|
||||
window.__serverSessionReady = ok;
|
||||
return ok;
|
||||
}).catch(function(err) {
|
||||
console.error(err);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
|
||||
async function openQaWrite() {
|
||||
if (!hasClientSession()) {
|
||||
alert('로그인이 필요한 서비스입니다.');
|
||||
window.location.href = '/egbim/index.php?popup=login';
|
||||
return;
|
||||
}
|
||||
|
||||
const ok = await syncDescopeServerSession();
|
||||
if (!ok) {
|
||||
alert('로그인 세션을 확인하지 못했습니다. 다시 로그인해 주세요.');
|
||||
window.location.href = '/egbim/index.php?popup=login';
|
||||
return;
|
||||
}
|
||||
|
||||
window.location.href = '/egbim/bbs/descope_qa_write.php';
|
||||
}
|
||||
|
||||
function updateHeaderMenu(){
|
||||
try{
|
||||
const jwt = sessionStorage.getItem('sessionJwt') || '';
|
||||
const loginId = sessionStorage.getItem('loginId') || '';
|
||||
const isLoggedIn = jwt.split('.').length === 3;
|
||||
const isAdmin = isAdminLoginId(loginId);
|
||||
|
||||
$('.my_join2, .my_login2').toggle(isLoggedIn);
|
||||
$('.my_join, .my_login').toggle(!isLoggedIn);
|
||||
|
||||
$('#my_join2').html(
|
||||
isLoggedIn && isAdmin
|
||||
? "<a href='/egbim/adm/index.php' target='_blank'>관리페이지</a>"
|
||||
: "<a href='/egbim/index.php'>메인으로</a>"
|
||||
);
|
||||
} catch(e){ console.error(e); }
|
||||
}
|
||||
|
||||
function descopeLogout() {
|
||||
fetch('/egbim/skin/member/basic/descope_logout.php', {
|
||||
method: 'POST',
|
||||
credentials: 'include' // PHPSESSID 쿠키 전송
|
||||
})
|
||||
.then(res => {
|
||||
if (!res.ok) throw new Error('서버 로그아웃 실패');
|
||||
// 1) 로컬 저장소 정리
|
||||
// sessionStorage.removeItem("refreshJwt");
|
||||
// sessionStorage.removeItem("sessionJwt");
|
||||
// sessionStorage.removeItem("userRole");
|
||||
// sessionStorage.removeItem("userName");
|
||||
// sessionStorage.removeItem("loginId");
|
||||
|
||||
sessionStorage.clear();
|
||||
localStorage.clear();
|
||||
// 2) UI 갱신
|
||||
updateHeaderMenu();
|
||||
// 3) 로그인 페이지로 이동
|
||||
window.location.href = '/egbim/index.php';
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
alert('로그아웃 중 오류가 발생했습니다.');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// 기존에 있던 updateHeaderMenu() 호출 뒤에
|
||||
$('#my_login2 a').off('click').on('click', function(e){
|
||||
e.preventDefault();
|
||||
descopeLogout();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
updateHeaderMenu();
|
||||
if (!window.__serverSessionReady && hasClientSession()) {
|
||||
syncDescopeServerSession();
|
||||
}
|
||||
// (필요하다면, 로그인 성공 후에도 항상 updateHeaderMenu(); 호출)
|
||||
});
|
||||
|
||||
|
||||
//descope login
|
||||
$(document).ready(function(){
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
|
||||
$.ajax({
|
||||
url : '/egbim/skin/member/basic/descope_login.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
dataType : "json",
|
||||
success : function(res){
|
||||
if(res.status === "ok") {
|
||||
// 토큰 저장
|
||||
// sessionStorage.setItem("refreshJwt", res.refreshJwt);
|
||||
sessionStorage.setItem("sessionJwt", res.sessionJwt);
|
||||
|
||||
// ✅ 사용자 정보 저장
|
||||
if (res.user) {
|
||||
sessionStorage.setItem("loginId", res.user.loginIds?.[0] || '');
|
||||
sessionStorage.setItem("userName", res.user.name || '');
|
||||
sessionStorage.setItem("company", res.user.customAttributes?.company || '');
|
||||
sessionStorage.setItem("familyCompany", res.user.customAttributes?.familyCompany || '');
|
||||
sessionStorage.setItem("position", res.user.customAttributes?.position || '');
|
||||
sessionStorage.setItem("team", res.user.customAttributes?.team || '');
|
||||
sessionStorage.setItem("familyUniqueKey", res.user.customAttributes?.familyUniqueKey || '');
|
||||
sessionStorage.setItem("phone", res.user.phone || '');
|
||||
}
|
||||
|
||||
// ✅ 추가: 관리자 등 정보 저장
|
||||
if(res.user && res.user.roleNames && res.user.roleNames[0])
|
||||
sessionStorage.setItem("userRole", res.user.roleNames[0]);
|
||||
else
|
||||
sessionStorage.removeItem("userRole");
|
||||
|
||||
// ✅ 로그인 후 메뉴 갱신
|
||||
updateHeaderMenu();
|
||||
|
||||
// UI 처리
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', '');
|
||||
lenis.start();
|
||||
// alert('로그인 하셨습니다.');
|
||||
} else {
|
||||
alert(res.message || "로그인 실패");
|
||||
|
||||
// 🔴 실패 횟수에 따라 안내 배너 교체
|
||||
if (res.failCount && res.failCount >= 8) {
|
||||
updateLoginBanner("fail");
|
||||
}
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err.statusText || "통신 오류");
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// ✅ 배너 교체 함수
|
||||
function updateLoginBanner(type = "default") {
|
||||
const $banner = $('#login_notice_banner');
|
||||
if (!$banner.length) return;
|
||||
|
||||
if (type === "default") {
|
||||
$banner.css({ background: "#063e01ff", color: "#fff" });
|
||||
$banner.find("strong").text("[로그인 시스템 변경 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
더 나은 보안을 위해 2025년 8월 8일부터 로그인 시스템이 변경되었습니다.<br>
|
||||
기존 회원 또한 신규 시스템에 맞춰 재가입을 진행해주시기 바랍니다.
|
||||
`);
|
||||
$banner.find("p:last").html(`※ 로그인 및 가입 관련 문의: <strong>010-8721-7453</strong>`);
|
||||
}
|
||||
|
||||
if (type === "fail") {
|
||||
$banner.css({ background: "#6a0202ff", color: "#faf6f6ff" });
|
||||
$banner.find("strong").text("[로그인 시도 제한 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
비밀번호 입력을 <strong>7회 이상 연속 실패</strong>하셨습니다.<br>
|
||||
<strong>8번째 시도부터 3분 대기</strong>가 적용됩니다.<br>
|
||||
10회 이상 실패 시 계정이 잠금 처리됩니다.
|
||||
`);
|
||||
$banner.find("p:last").text("");
|
||||
}
|
||||
}
|
||||
|
||||
// Q&A ID 검색
|
||||
$(document).on("click", ".btn-move", function() {
|
||||
const qnaId = $(".qna-id-input").val().trim();
|
||||
if (!qnaId) {
|
||||
alert("Q&A ID를 입력하세요.");
|
||||
return;
|
||||
}
|
||||
location.href = "/egbim/bbs/descope_qa_detail.php?id=" + qnaId;
|
||||
});
|
||||
|
||||
$("#qna-id-search").on("keypress", function(e){
|
||||
if(e.key === "Enter"){
|
||||
$("#qna-id-btn").click();
|
||||
}
|
||||
});
|
||||
|
||||
// 회원가입 약관동의 (기존 유지)
|
||||
$(document).on('click', '#fregister button[type=submit]', function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '/egbim/bbs/register_form.php',
|
||||
type: 'POST',
|
||||
datatype: 'json',
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data: { agree11, agree21 },
|
||||
success: function(){},
|
||||
error: function(err){ alert(err); }
|
||||
});
|
||||
});
|
||||
|
||||
// URL 쿼리 파싱에 따른 팝업 열기 (가드 추가)
|
||||
$(function(){
|
||||
try{
|
||||
const popupParam = getQueryString('popup');
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const token = urlParams.get('t');
|
||||
|
||||
if (popupParam === 'signup') {
|
||||
$('#pop_agreement').show();
|
||||
$('body').css('overflow','hidden');
|
||||
if (window.lenis) window.lenis.stop();
|
||||
}
|
||||
if (popupParam === 'pwreset') {
|
||||
$('#pop_search').show();
|
||||
$('body').css('overflow','hidden');
|
||||
$('#pop_search .popup_contents_wrap').hide();
|
||||
if (token) {
|
||||
if (!sessionStorage.getItem('pwreset_shown')) {
|
||||
$('#password_reset').show();
|
||||
sessionStorage.setItem('pwreset_shown', '1');
|
||||
}
|
||||
} else {
|
||||
$('#pop_search .popup_contents_wrap').first().show();
|
||||
}
|
||||
$('#pop_search .btn_close').on('click', function(){
|
||||
$('#pop_search').hide();
|
||||
$('body').css('overflow','');
|
||||
});
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
});
|
||||
|
||||
// 초기 메뉴 상태 반영 + storage 동기화
|
||||
document.addEventListener('DOMContentLoaded', function(){
|
||||
updateHeaderMenu();
|
||||
setTimeout(updateHeaderMenu, 0);
|
||||
});
|
||||
window.addEventListener('storage', function(e){
|
||||
if (e.key === 'sessionJwt' || e.key === 'userRole') updateHeaderMenu();
|
||||
});
|
||||
|
||||
// tmp 쿠키 시나리오 유지
|
||||
(function(){
|
||||
try{
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
})();
|
||||
</script>
|
||||
<?php
|
||||
// Q&A 페이지에서는 Descope 로그인에 필요한 최소 팝업만 포함합니다.
|
||||
$BASE = $_SERVER['DOCUMENT_ROOT'].'/egbim/skin/member/basic';
|
||||
$partials = [
|
||||
'login.skin.php',
|
||||
'register.skin.php',
|
||||
'privacy.skin.php',
|
||||
'password_lost.skin.php',
|
||||
];
|
||||
|
||||
foreach ($partials as $p) {
|
||||
$full = $BASE.'/'.$p;
|
||||
if (file_exists($full)) {
|
||||
include $full;
|
||||
echo "<!-- INCLUDED: {$full} -->\n"; // 디버그 표시
|
||||
} else {
|
||||
echo "<!-- MISSING: {$full} -->\n"; // 경로 문제 확인용
|
||||
}
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
<script>
|
||||
// 상태 셀렉트 변경 시 자동 검색 (관리자만 존재)
|
||||
const statusSelect = document.querySelector('.qa-controls select[name="status"]');
|
||||
if (statusSelect) {
|
||||
statusSelect.addEventListener('change', function () {
|
||||
document.querySelector('.qa-controls').submit();
|
||||
});
|
||||
}
|
||||
</script>
|
||||
@@ -0,0 +1,106 @@
|
||||
|
||||
<?php
|
||||
// require_once __DIR__ . 'egbim1/skin/member/basic/descope_session.php'; // auth.php 안에 session_start()와 로그인 체크
|
||||
|
||||
// DB 연결 (PDO)
|
||||
$host = 'eg-bim.com';
|
||||
$dbname = 'egbim';
|
||||
$user = 'egbim';
|
||||
$pass = 'egbim3840!!';
|
||||
$charset = 'utf8mb4';
|
||||
$dsn = "mysql:host={$host};dbname={$dbname};charset={$charset}";
|
||||
$options = [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
|
||||
];
|
||||
$pdo = new PDO($dsn, $user, $pass, $options);
|
||||
|
||||
// 폼 데이터 수집
|
||||
$userId = $_SESSION['user']['userId']; // auth.php에서 세션에 담긴 userId
|
||||
$category = trim($_POST['category'] ?? '');
|
||||
$title = trim($_POST['title'] ?? '');
|
||||
$content = trim($_POST['content'] ?? '');
|
||||
$secret = isset($_POST['secret']) ? 1 : 0; // 체크박스
|
||||
$status = 'await'; // 항상 답변대기
|
||||
|
||||
// 유효성 검사
|
||||
$errors = [];
|
||||
$allowedCats = ['error','improvement','general','notice'];
|
||||
if (!$category || !in_array($category, $allowedCats, true)) {
|
||||
$errors[] = '올바른 구분을 선택해주세요.';
|
||||
}
|
||||
if (mb_strlen($title) > 100 || $title === '') {
|
||||
$errors[] = '제목은 1~100자 사이여야 합니다.';
|
||||
}
|
||||
if (mb_strlen($content) === 0) {
|
||||
$errors[] = '내용을 입력해주세요.';
|
||||
}
|
||||
|
||||
if ($errors) {
|
||||
// 에러 처리: 뒤로 가기 or JSON 리턴
|
||||
foreach ($errors as $e) echo "<p style='color:red;'>$e</p>";
|
||||
echo "<p><a href='javascript:history.back()'>← 뒤로가기</a></p>";
|
||||
exit;
|
||||
}
|
||||
|
||||
try {
|
||||
// 트랜잭션 시작
|
||||
$pdo->beginTransaction();
|
||||
|
||||
// 1) 게시글 INSERT
|
||||
$sql = "INSERT INTO qa_posts
|
||||
(user_id, category, title, content, is_secret, status, created_at)
|
||||
VALUES
|
||||
(:uid, :cat, :tit, :cont, :sec, :st, NOW())";
|
||||
$stmt = $pdo->prepare($sql);
|
||||
$stmt->execute([
|
||||
':uid' => $userId,
|
||||
':cat' => $category,
|
||||
':tit' => $title,
|
||||
':cont' => $content,
|
||||
':sec' => $secret,
|
||||
':st' => $status,
|
||||
]);
|
||||
$postId = $pdo->lastInsertId();
|
||||
|
||||
// 2) 첨부파일 처리 (uploads/qa/YYYYMMDD 디렉토리)
|
||||
if (!empty($_FILES['attach']) && is_array($_FILES['attach']['tmp_name'])) {
|
||||
$baseDir = __DIR__ . '/uploads/qa/' . date('Ymd');
|
||||
if (!is_dir($baseDir)) mkdir($baseDir, 0755, true);
|
||||
|
||||
$fileStmt = $pdo->prepare(
|
||||
"INSERT INTO qa_attachments
|
||||
(post_id, file_name, file_path, file_size, uploaded_at)
|
||||
VALUES
|
||||
(:pid, :fname, :fpath, :fsize, NOW())"
|
||||
);
|
||||
|
||||
foreach ($_FILES['attach']['tmp_name'] as $i => $tmp) {
|
||||
if (!is_uploaded_file($tmp)) continue;
|
||||
$origName = $_FILES['attach']['name'][$i];
|
||||
$size = $_FILES['attach']['size'][$i];
|
||||
// 파일명 충돌 방지
|
||||
$ext = pathinfo($origName, PATHINFO_EXTENSION);
|
||||
$newName = uniqid() . ($ext ? ".$ext" : '');
|
||||
$dest = "$baseDir/$newName";
|
||||
if (move_uploaded_file($tmp, $dest)) {
|
||||
$fileStmt->execute([
|
||||
':pid' => $postId,
|
||||
':fname' => $origName,
|
||||
':fpath' => substr($dest, strlen(__DIR__)),
|
||||
':fsize' => $size,
|
||||
]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$pdo->commit();
|
||||
|
||||
// 완료 후 상세 보기로
|
||||
header("Location: view.php?id={$postId}");
|
||||
exit;
|
||||
|
||||
} catch (Exception $e) {
|
||||
$pdo->rollBack();
|
||||
exit('오류 발생: ' . $e->getMessage());
|
||||
}
|
||||
@@ -0,0 +1,659 @@
|
||||
<?php
|
||||
// skin/qa/basic/descope_qa_write.skin.php
|
||||
|
||||
// ✅ DB 연결
|
||||
$pdo = new PDO("mysql:host=db;dbname=egbim;charset=utf8mb4", "egbim", "baron3840!!", [
|
||||
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
|
||||
]);
|
||||
|
||||
// ✅ EG-BIM (product_code=8) 기준 최신 external_version 가져오기
|
||||
$stmt = $pdo->prepare("
|
||||
SELECT external_version
|
||||
FROM deploy_versions
|
||||
WHERE product_code = 1
|
||||
ORDER BY updated_at DESC
|
||||
LIMIT 1
|
||||
");
|
||||
$stmt->execute();
|
||||
$version = $stmt->fetchColumn() ?: '1.0.0'; // fallback
|
||||
|
||||
// ✅ 다운로드 URL 자동 생성
|
||||
$download_url = "https://release-download.hmac.kr/eg-bim/{$version}/setup_eg-bim_{$version}.exe";
|
||||
?>
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>111</title>
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<!-- 디자인팀 공통 -->
|
||||
<script type="text/javascript" src="/egbim/js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="/egbim/js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script type="text/javascript" src="/egbim/js/popup.js?v=20260723"></script>
|
||||
<script type="text/javascript" src="/egbim/js/common.js"></script>
|
||||
<script type="text/javascript" src="/egbim/js/index.js"></script>
|
||||
|
||||
<!-- CKEditor 5 (Classic Build) CDN -->
|
||||
<script src="https://cdn.ckeditor.com/ckeditor5/41.0.0/classic/ckeditor.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="/egbim/css/reset.css"/>
|
||||
<link rel="stylesheet" href="/egbim/css/font.css"/>
|
||||
<link rel="stylesheet" href="/egbim/css/style.css"/>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="wrapper">
|
||||
<!-- Header -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_header.skin.php'); ?>
|
||||
<!-- //Header -->
|
||||
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top js__dark">
|
||||
<h2>Q&A</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="/egbim/bbs/faq.php">자주하는 질문(FAQ)</a></li>
|
||||
<li class="on"><a href="/egbim/bbs/descope_qa_list.php">문의하기(Q&A)</a></li>
|
||||
<li><a href="https://939.co.kr/saman/" target="_blank">원격지원</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">문의하기(Q&A)</span>
|
||||
|
||||
<div class="contents">
|
||||
|
||||
<?php if (!empty($errors)): ?>
|
||||
<div class="qa-error-box" style="margin-bottom:20px;padding:14px 16px;border:1px solid #e66;background:#fff5f5;color:#b42318;line-height:1.6;">
|
||||
<?= nl2br(htmlspecialchars(implode("\n", $errors), ENT_QUOTES, 'UTF-8')) ?>
|
||||
</div>
|
||||
<?php endif; ?>
|
||||
|
||||
<?php
|
||||
$admin = is_qna_admin();
|
||||
?>
|
||||
<!-- ★ action 에 ?id= 붙여서 수정/등록 구분 -->
|
||||
<form id="qaForm"
|
||||
action="/egbim/bbs/descope_qa_write.php<?= $isEdit ? '?id=' . $post['post_id'] : '' ?>"
|
||||
method="POST"
|
||||
enctype="multipart/form-data">
|
||||
|
||||
<section class="form-wrap">
|
||||
<div class="form-area">
|
||||
<div class="form-group">
|
||||
<div class="form-item">
|
||||
<label class="form-tit" for="category">구분</label>
|
||||
<select class="select-sm" name="category" id="category" required>
|
||||
<option value="">-- 선택 --</option>
|
||||
<option value="오류문의" <?= $post['category']=='error' ? 'selected' : '' ?>>오류문의</option>
|
||||
<option value="개선문의" <?= $post['category']=='improvement' ? 'selected' : '' ?>>개선문의</option>
|
||||
<option value="일반문의" <?= $post['category']=='general' ? 'selected' : '' ?>>일반문의</option>
|
||||
<?php if ($admin): ?>
|
||||
<option value="공지사항" <?= $post['category']=='notice' ? 'selected' : '' ?>>공지사항</option>
|
||||
<option value="관리글" <?= $post['category']=='admin' ? 'selected' : '' ?>>관리글</option>
|
||||
<?php endif; ?>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<!-- <div class="form-item">
|
||||
<strong class="form-tit">처리상태</strong>
|
||||
<?php if (!$isEdit): ?>
|
||||
<input type="hidden" name="status" value="await">
|
||||
<?php endif; ?>
|
||||
<select class="select-sm" name="status" <?= $isEdit ? '' : 'disabled' ?>>
|
||||
<option value="await" <?= $post['status']==='await' ? 'selected':'' ?>>답변대기</option>
|
||||
<option value="review" <?= $post['status']==='review' ? 'selected':'' ?>>검토중</option>
|
||||
<option value="done" <?= $post['status']==='done' ? 'selected':'' ?>>답변완료</option>
|
||||
</select>
|
||||
</div> -->
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<strong class="form-tit">제목<span class="require">*</span></strong>
|
||||
<input type="text" name="title" style="width:100%;" placeholder="제목을 입력하세요"
|
||||
class="input-text" required
|
||||
value="<?= htmlspecialchars($post['title'], ENT_QUOTES, 'UTF-8') ?>">
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<strong class="form-tit">비밀글</strong>
|
||||
<label>
|
||||
<input type="checkbox" name="secret" value="1" <?= $post['is_secret'] ? 'checked':'' ?>>
|
||||
비밀글로 등록
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div class="form-item">
|
||||
<label class="form-tit" for="content">내용</label>
|
||||
<div class="form-col-group">
|
||||
<textarea id="content" name="content" class="text-area" placeholder="문의 내용을 작성해주세요"><?= $post['content'] ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<!--CKeditor script-->
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
const qaForm = document.getElementById("qaForm");
|
||||
const contentField = document.getElementById("content");
|
||||
const saveButton = qaForm?.querySelector('.btn-save');
|
||||
let isSubmitting = false;
|
||||
|
||||
const editorReady = ClassicEditor
|
||||
.create(contentField, {
|
||||
toolbar: [
|
||||
'heading', '|',
|
||||
'bold', 'italic', 'link',
|
||||
'bulletedList', 'numberedList', '|',
|
||||
'blockQuote', 'insertTable', 'imageUpload',
|
||||
'undo', 'redo'
|
||||
],
|
||||
language: 'ko',
|
||||
ckfinder: {
|
||||
uploadUrl: '/egbim/bbs/descope_qa_img_upload.php'
|
||||
}
|
||||
})
|
||||
.then((editor) => {
|
||||
window.editor = editor;
|
||||
return editor;
|
||||
})
|
||||
.catch((error) => {
|
||||
console.error(error);
|
||||
return null;
|
||||
});
|
||||
|
||||
qaForm?.addEventListener("submit", async function(e) {
|
||||
e.preventDefault();
|
||||
if (isSubmitting) return;
|
||||
|
||||
const editor = await editorReady;
|
||||
const editorData = editor ? editor.getData().trim() : contentField.value.trim();
|
||||
|
||||
if (!editorData) {
|
||||
alert("내용을 입력해주세요.");
|
||||
if (editor) {
|
||||
editor.editing.view.focus();
|
||||
} else {
|
||||
contentField.focus();
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
if (typeof syncFileInput === 'function') {
|
||||
syncFileInput();
|
||||
}
|
||||
|
||||
contentField.value = editorData;
|
||||
isSubmitting = true;
|
||||
if (saveButton) saveButton.disabled = true;
|
||||
qaForm.submit();
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<div class="form-item">
|
||||
<label class="form-tit" for="attach">첨부파일</label>
|
||||
<div class="form-col-group">
|
||||
<div class="attach-box">
|
||||
<input type="file" id="attach" name="attach[]" multiple>
|
||||
<small class="info-msg">* 최대 30MB 이내, exe 같은 실행파일은 직접 업로드할 수 없고 zip 등 압축파일로 첨부해야 합니다.</small>
|
||||
</div>
|
||||
|
||||
<!-- 드래그 앤 드롭 영역 -->
|
||||
<div id="drop-zone" class="drop-zone">
|
||||
<p>여기로 파일을 드래그하거나 클릭해서 선택하세요.</p>
|
||||
</div>
|
||||
|
||||
<!-- 업로드 파일 미리보기 -->
|
||||
<ul id="file-list"></ul>
|
||||
|
||||
<?php if ($isEdit): ?>
|
||||
<?php
|
||||
// DB에서 해당 글(post_id)의 기존 첨부파일 불러오기
|
||||
$stmt = $pdo->prepare("SELECT id, ori_name, file_size FROM qa_attachments WHERE post_id = ?");
|
||||
$stmt->execute([$post['post_id']]);
|
||||
$files = $stmt->fetchAll();
|
||||
?>
|
||||
<?php if (!empty($files)): ?>
|
||||
<div class="old-attachments">
|
||||
<p><strong>현재 첨부파일</strong></p>
|
||||
<ul>
|
||||
<?php foreach ($files as $file): ?>
|
||||
<li>
|
||||
<label>
|
||||
<input type="checkbox" name="delete_files[]" value="<?= $file['id'] ?>">
|
||||
<?= htmlspecialchars($file['ori_name']) ?>
|
||||
(<?= number_format($file['file_size']/1024,1) ?> KB)
|
||||
<span style="color:red;">[삭제]</span>
|
||||
</label>
|
||||
</li>
|
||||
<?php endforeach ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
<?php endif ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<button type="button" class="btn btn-cancel" onclick="history.back()">취소</button>
|
||||
<button type="submit" class="btn btn-save"><?= $isEdit ? '수정 저장' : '작성완료' ?></button>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
</div><!-- contents END -->
|
||||
</div><!-- container END -->
|
||||
|
||||
<!-- FOOTER -->
|
||||
<?php include_once(__DIR__ . '/../../member/basic/main_footer.skin.php'); ?>
|
||||
<!-- //FOOTER -->
|
||||
</div><!-- wrapper END -->
|
||||
|
||||
<!-- 첨부파일 drag -->
|
||||
<script>
|
||||
const dropZone = document.getElementById("drop-zone");
|
||||
const fileInput = document.getElementById("attach");
|
||||
const fileList = document.getElementById("file-list");
|
||||
const allowedExtensions = new Set(['jpg','jpeg','png','gif','pdf','hwp','doc','docx','xls','xlsx','zip','7z','dwg','dwt','dxf','grm','ctb','shx','shp','lin','lsp','reg']);
|
||||
|
||||
// 업로드 대기 파일 보관용
|
||||
let uploadFiles = [];
|
||||
|
||||
// 드래그 영역 클릭 → 파일 선택창 열기
|
||||
dropZone.addEventListener("click", () => fileInput.click());
|
||||
|
||||
// 드래그 시 시각 효과
|
||||
dropZone.addEventListener("dragover", (e) => {
|
||||
e.preventDefault();
|
||||
dropZone.classList.add("dragover");
|
||||
});
|
||||
dropZone.addEventListener("dragleave", () => {
|
||||
dropZone.classList.remove("dragover");
|
||||
});
|
||||
|
||||
// 드롭 처리
|
||||
dropZone.addEventListener("drop", (e) => {
|
||||
e.preventDefault();
|
||||
dropZone.classList.remove("dragover");
|
||||
addFiles(e.dataTransfer.files);
|
||||
});
|
||||
|
||||
// 버튼으로 파일 선택했을 때
|
||||
fileInput.addEventListener("change", () => {
|
||||
addFiles(fileInput.files);
|
||||
});
|
||||
|
||||
// 파일 추가 처리
|
||||
function addFiles(files) {
|
||||
for (const file of Array.from(files)) {
|
||||
const ext = (file.name.split('.').pop() || '').toLowerCase();
|
||||
if (!allowedExtensions.has(ext)) {
|
||||
alert(`허용되지 않은 확장자입니다: ${file.name}\nexe 파일은 zip 등으로 압축해서 업로드해주세요.`);
|
||||
continue;
|
||||
}
|
||||
if (file.size > 30 * 1024 * 1024) {
|
||||
alert(`파일 용량이 30MB를 초과합니다: ${file.name}`);
|
||||
continue;
|
||||
}
|
||||
const exists = uploadFiles.some((savedFile) => (
|
||||
savedFile.name === file.name &&
|
||||
savedFile.size === file.size &&
|
||||
savedFile.lastModified === file.lastModified
|
||||
));
|
||||
if (!exists) {
|
||||
uploadFiles.push(file);
|
||||
}
|
||||
}
|
||||
renderFileList();
|
||||
syncFileInput();
|
||||
}
|
||||
|
||||
// 파일 목록 출력
|
||||
function renderFileList() {
|
||||
fileList.innerHTML = "";
|
||||
uploadFiles.forEach(file => {
|
||||
const li = document.createElement("li");
|
||||
li.textContent = `${file.name} (${(file.size/1024).toFixed(1)} KB)`;
|
||||
fileList.appendChild(li);
|
||||
});
|
||||
}
|
||||
|
||||
// fileInput.files 에 다시 세팅 (서버로 전송 가능하게)
|
||||
function syncFileInput() {
|
||||
const dataTransfer = new DataTransfer();
|
||||
uploadFiles.forEach(file => dataTransfer.items.add(file));
|
||||
fileInput.files = dataTransfer.files;
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- ===== AOS / Lenis 초기화 (가드) ===== -->
|
||||
<script>
|
||||
try{
|
||||
AOS.init();
|
||||
if (typeof Lenis !== 'undefined') {
|
||||
const lenis = new Lenis();
|
||||
lenis.on('scroll', ScrollTrigger.update);
|
||||
gsap.ticker.add((time)=>{ lenis.raf(time * 1000) });
|
||||
gsap.ticker.lagSmoothing(0);
|
||||
window.lenis = lenis;
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
</script>
|
||||
|
||||
<!-- ===== 공용 유틸 & 헤더/팝업 동작 (list 스킨과 동일) ===== -->
|
||||
<script>
|
||||
//공용 유틸
|
||||
function getQueryString(name){
|
||||
const intro = document.querySelector('.intro_wrap');
|
||||
if (intro) intro.style.display = "none";
|
||||
const mainMask = document.querySelector('.main_mask');
|
||||
if (mainMask) mainMask.classList.add('skip');
|
||||
return new URLSearchParams(window.location.search).get(name);
|
||||
}
|
||||
|
||||
// 필터 변경 시 자동 제출
|
||||
document.querySelectorAll('.qa-controls input[name="writer"], .qa-controls input[name="status[]"]')
|
||||
.forEach(el=>{
|
||||
el.addEventListener('change', function(){
|
||||
this.closest('.qa-controls').submit();
|
||||
});
|
||||
});
|
||||
|
||||
// Family site 토글
|
||||
$(function(){
|
||||
$('.family_btn').on('click', function(e){
|
||||
e.stopPropagation();
|
||||
$('.family_list, .family_btn').toggleClass('family_on');
|
||||
});
|
||||
$(document).on('click', function(e){
|
||||
if(!$(e.target).closest('.family_wrap').length){
|
||||
$('.family_list, .family_btn').removeClass('family_on');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
function deleteCookie(name){
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name+"=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
|
||||
function getCookie(cname){
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i=0;i<ca.length;i++){
|
||||
let c = ca[i];
|
||||
while(c.charAt(0)==' '){ c = c.substring(1); }
|
||||
if(c.indexOf(name) == 0){ return c.substring(name.length, c.length); }
|
||||
}
|
||||
return "";
|
||||
}
|
||||
|
||||
// Header 메뉴 표시
|
||||
function updateHeaderMenu(){
|
||||
try{
|
||||
const jwt = sessionStorage.getItem('sessionJwt') || '';
|
||||
const loginId = sessionStorage.getItem('loginId') || '';
|
||||
const isLoggedIn = jwt.split('.').length === 3;
|
||||
const adminList = [
|
||||
'kjy0426@hanmaceng.co.kr',
|
||||
'b24014@hanmaceng.co.kr',
|
||||
'b23065@hanmaceng.co.kr',
|
||||
'b23008@baroncs.co.kr',
|
||||
'shyeom1@samaneng.com',
|
||||
'cjy627@hanmaceng.co.kr',
|
||||
'b23072@hanmaceng.co.kr',
|
||||
'b24051@hanmaceng.co.kr',
|
||||
'rmsgud1202@hanmaceng.co.kr',
|
||||
'm21318@hanmaceng.co.kr',
|
||||
'b21367@hanmaceng.co.kr',
|
||||
'b25023@hanmaceng.co.kr',
|
||||
'sdi9429@naver.com',
|
||||
'junsuy@hanmail.net',
|
||||
'ilphilo92@gmail.com'
|
||||
];
|
||||
const isAdmin = adminList.includes(loginId.toLowerCase());
|
||||
|
||||
$('.my_join2, .my_login2').toggle(isLoggedIn);
|
||||
$('.my_join, .my_login').toggle(!isLoggedIn);
|
||||
|
||||
$('#my_join2').html(
|
||||
isLoggedIn && isAdmin
|
||||
? "<a href='/egbim/adm/index.php' target='_blank'>관리페이지</a>"
|
||||
: "<a href='/egbim/index.php'>메인으로</a>"
|
||||
);
|
||||
} catch(e){ console.error(e); }
|
||||
}
|
||||
|
||||
function descopeLogout() {
|
||||
fetch('/egbim/skin/member/basic/descope_logout.php', {
|
||||
method: 'POST',
|
||||
credentials: 'include' // PHPSESSID 쿠키 전송
|
||||
})
|
||||
.then(res => {
|
||||
if (!res.ok) throw new Error('서버 로그아웃 실패');
|
||||
// 1) 로컬 저장소 정리
|
||||
// sessionStorage.removeItem("refreshJwt");
|
||||
// sessionStorage.removeItem("sessionJwt");
|
||||
// sessionStorage.removeItem("userRole");
|
||||
// sessionStorage.removeItem("userName");
|
||||
// sessionStorage.removeItem("loginId");
|
||||
|
||||
sessionStorage.clear();
|
||||
localStorage.clear();
|
||||
// 2) UI 갱신
|
||||
updateHeaderMenu();
|
||||
// 3) 로그인 페이지로 이동
|
||||
window.location.href = '/egbim/index.php';
|
||||
})
|
||||
.catch(err => {
|
||||
console.error(err);
|
||||
alert('로그아웃 중 오류가 발생했습니다.');
|
||||
});
|
||||
}
|
||||
|
||||
$(document).ready(function() {
|
||||
// 기존에 있던 updateHeaderMenu() 호출 뒤에
|
||||
$('#my_login2 a').off('click').on('click', function(e){
|
||||
e.preventDefault();
|
||||
descopeLogout();
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
updateHeaderMenu();
|
||||
// (필요하다면, 로그인 성공 후에도 항상 updateHeaderMenu(); 호출)
|
||||
});
|
||||
|
||||
//descope login
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
|
||||
$.ajax({
|
||||
url : '/egbim/skin/member/basic/descope_login.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
dataType : "json",
|
||||
success : function(res){
|
||||
if(res.status === "ok") {
|
||||
// 토큰 저장
|
||||
// sessionStorage.setItem("refreshJwt", res.refreshJwt);
|
||||
sessionStorage.setItem("sessionJwt", res.sessionJwt);
|
||||
|
||||
// ✅ 사용자 정보 저장
|
||||
if (res.user) {
|
||||
sessionStorage.setItem("loginId", res.user.loginIds?.[0] || '');
|
||||
sessionStorage.setItem("userName", res.user.name || '');
|
||||
sessionStorage.setItem("company", res.user.customAttributes?.company || '');
|
||||
sessionStorage.setItem("familyCompany", res.user.customAttributes?.familyCompany || '');
|
||||
sessionStorage.setItem("position", res.user.customAttributes?.position || '');
|
||||
sessionStorage.setItem("team", res.user.customAttributes?.team || '');
|
||||
sessionStorage.setItem("familyUniqueKey", res.user.customAttributes?.familyUniqueKey || '');
|
||||
sessionStorage.setItem("phone", res.user.phone || '');
|
||||
}
|
||||
|
||||
// ✅ 추가: 관리자 등 정보 저장
|
||||
if(res.user && res.user.roleNames && res.user.roleNames[0])
|
||||
sessionStorage.setItem("userRole", res.user.roleNames[0]);
|
||||
else
|
||||
sessionStorage.removeItem("userRole");
|
||||
|
||||
// ✅ 로그인 후 메뉴 갱신
|
||||
updateHeaderMenu();
|
||||
|
||||
// UI 처리
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', '');
|
||||
lenis.start();
|
||||
// alert('로그인 하셨습니다.');
|
||||
} else {
|
||||
alert(res.message || "로그인 실패");
|
||||
|
||||
// 🔴 실패 횟수에 따라 안내 배너 교체
|
||||
if (res.failCount && res.failCount >= 8) {
|
||||
updateLoginBanner("fail");
|
||||
}
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err.statusText || "통신 오류");
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// ✅ 배너 교체 함수
|
||||
function updateLoginBanner(type = "default") {
|
||||
const $banner = $('#login_notice_banner');
|
||||
if (!$banner.length) return;
|
||||
|
||||
if (type === "default") {
|
||||
$banner.css({ background: "#063e01ff", color: "#fff" });
|
||||
$banner.find("strong").text("[로그인 시스템 변경 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
더 나은 보안을 위해 2025년 8월 8일부터 로그인 시스템이 변경되었습니다.<br>
|
||||
기존 회원 또한 신규 시스템에 맞춰 재가입을 진행해주시기 바랍니다.
|
||||
`);
|
||||
$banner.find("p:last").html(`※ 로그인 및 가입 관련 문의: <strong>010-8721-7453</strong>`);
|
||||
}
|
||||
|
||||
if (type === "fail") {
|
||||
$banner.css({ background: "#6a0202ff", color: "#faf6f6ff" });
|
||||
$banner.find("strong").text("[로그인 시도 제한 안내]");
|
||||
$banner.find("p.left").html(`
|
||||
비밀번호 입력을 <strong>7회 이상 연속 실패</strong>하셨습니다.<br>
|
||||
<strong>8번째 시도부터 3분 대기</strong>가 적용됩니다.<br>
|
||||
10회 이상 실패 시 계정이 잠금 처리됩니다.
|
||||
`);
|
||||
$banner.find("p:last").text("");
|
||||
}
|
||||
}
|
||||
|
||||
// // 회원가입 약관동의 (기존 유지)
|
||||
$(document).on('click', '#fregister button[type=submit]', function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '/egbim/bbs/register_form.php',
|
||||
type: 'POST',
|
||||
datatype: 'json',
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data: { agree11, agree21 },
|
||||
success: function(){},
|
||||
error: function(err){ alert(err); }
|
||||
});
|
||||
});
|
||||
|
||||
// URL 쿼리 파싱 → 회원가입/비번재설정 팝업 자동 오픈
|
||||
$(function(){
|
||||
try{
|
||||
const popupParam = getQueryString('popup');
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const token = urlParams.get('t');
|
||||
|
||||
if (popupParam === 'signup') {
|
||||
$('#pop_agreement').show();
|
||||
$('body').css('overflow','hidden');
|
||||
if (window.lenis) window.lenis.stop();
|
||||
}
|
||||
if (popupParam === 'pwreset') {
|
||||
$('#pop_search').show();
|
||||
$('body').css('overflow','hidden');
|
||||
$('#pop_search .popup_contents_wrap').hide();
|
||||
if (token) {
|
||||
if (!sessionStorage.getItem('pwreset_shown')) {
|
||||
$('#password_reset').show();
|
||||
sessionStorage.setItem('pwreset_shown', '1');
|
||||
}
|
||||
} else {
|
||||
$('#pop_search .popup_contents_wrap').first().show();
|
||||
}
|
||||
$('#pop_search .btn_close').on('click', function(){
|
||||
$('#pop_search').hide();
|
||||
$('body').css('overflow','');
|
||||
});
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
});
|
||||
|
||||
// 초기 메뉴 상태 반영 + storage 동기화
|
||||
document.addEventListener('DOMContentLoaded', function(){
|
||||
updateHeaderMenu();
|
||||
setTimeout(updateHeaderMenu, 0);
|
||||
});
|
||||
window.addEventListener('storage', function(e){
|
||||
if (e.key === 'sessionJwt' || e.key === 'userRole') updateHeaderMenu();
|
||||
});
|
||||
|
||||
// tmp 쿠키 시나리오 유지
|
||||
(function(){
|
||||
try{
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
} catch(e){ console.error(e); }
|
||||
})();
|
||||
|
||||
</script>
|
||||
<?php
|
||||
// Q&A 페이지에서는 Descope 로그인에 필요한 최소 팝업만 포함합니다.
|
||||
$BASE = $_SERVER['DOCUMENT_ROOT'].'/egbim/skin/member/basic';
|
||||
$partials = [
|
||||
'login.skin.php',
|
||||
'register.skin.php',
|
||||
'privacy.skin.php',
|
||||
'password_lost.skin.php',
|
||||
];
|
||||
|
||||
foreach ($partials as $p) {
|
||||
$full = $BASE.'/'.$p;
|
||||
if (file_exists($full)) {
|
||||
include $full;
|
||||
echo "<!-- INCLUDED: {$full} -->\n"; // 디버그 표시
|
||||
} else {
|
||||
echo "<!-- MISSING: {$full} -->\n"; // 경로 문제 확인용
|
||||
}
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<script>
|
||||
</script>
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 211 B |
Binary file not shown.
|
After Width: | Height: | Size: 77 B |
@@ -0,0 +1,194 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 6;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<div id="bo_list">
|
||||
<?php if ($category_option) { ?>
|
||||
<!-- 카테고리 시작 { -->
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $qaconfig['qa_title'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- } 카테고리 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
|
||||
<div id="bo_btn_top">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($admin_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php } ?>
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_qa_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<div class="sch_bar">
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
|
||||
<button type="submit" value="검색" class="sch_btn" title="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
|
||||
</div>
|
||||
<button type="button" class="bo_sch_cls"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
<div class="bo_sch_bg"></div>
|
||||
</div>
|
||||
<script>
|
||||
// 게시판 검색
|
||||
$(".btn_bo_sch").on("click", function() {
|
||||
$(".bo_sch_wrap").toggle();
|
||||
})
|
||||
$('.bo_sch_bg, .bo_sch_cls').click(function(){
|
||||
$('.bo_sch_wrap').hide();
|
||||
});
|
||||
</script>
|
||||
<!-- } 게시판 검색 끝 -->
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
|
||||
<form name="fqalist" id="fqalist" action="./qadelete.php" onsubmit="return fqalist_submit(this);" method="post">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo get_text($token); ?>">
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $board['bo_subject'] ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<th scope="col" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 전체선택</b>
|
||||
</label>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th scope="col">번호</th>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col">글쓴이</th>
|
||||
<th scope="col">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
if ($i%2==0) $lt_class = "even";
|
||||
else $lt_class = "";
|
||||
?>
|
||||
<tr class="<?php echo $lt_class ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<td class="td_chk chk_box">
|
||||
<input type="checkbox" name="chk_qa_id[]" value="<?php echo $list[$i]['qa_id'] ?>" id="chk_qa_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_qa_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $list[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="td_num"><?php echo $list[$i]['num']; ?></td>
|
||||
<td class="td_subject">
|
||||
<span class="bo_cate_link"><?php echo $list[$i]['category']; ?></span>
|
||||
<a href="<?php echo $list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $list[$i]['subject']; ?>
|
||||
<?php if ($list[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_name"><?php echo $list[$i]['name']; ?></td>
|
||||
<td class="td_date"><?php echo $list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class=" <?php echo ($list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($list[$i]['qa_status'] ? '답변완료' : '답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if ($i == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 페이지 -->
|
||||
<?php echo $list_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value" class="btn btn_b01 btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button></li>
|
||||
<?php } ?>
|
||||
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fqalist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fqalist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다"))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
@@ -0,0 +1,857 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 6;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>FAQ - 1:1 문의</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "http://localhost/tova";
|
||||
var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
var g5_is_member = "1";
|
||||
var g5_is_admin = "";
|
||||
var g5_is_mobile = "";
|
||||
var g5_bo_table = "";
|
||||
var g5_sca = "";
|
||||
var g5_editor = "";
|
||||
var g5_cookie_domain = "";
|
||||
var g5_theme_shop_url = "http://localhost/tova/theme/basic/shop";
|
||||
var g5_shop_url = "http://localhost/tova/shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<!-- <script src="../js/common.js?ver=2304171"></script> -->
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 1:1문의하기 -->
|
||||
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<div id="bo_list">
|
||||
<?php if ($category_option) { ?>
|
||||
<!-- 카테고리 시작 { -->
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $qaconfig['qa_title'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- } 카테고리 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
|
||||
<div id="bo_btn_top">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($admin_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<!-- <?php //if ($admin_href) { ?><li><a href="<?php //echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php //} ?> -->
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_qa_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<div class="sch_bar">
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
|
||||
<button type="submit" value="검색" class="sch_btn" title="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
|
||||
</div>
|
||||
<button type="button" class="bo_sch_cls"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
</div>
|
||||
<script>
|
||||
// 게시판 검색
|
||||
$(".btn_bo_sch").on("click", function() {
|
||||
$(".bo_sch_wrap").toggle();
|
||||
})
|
||||
$('.bo_sch_bg, .bo_sch_cls').click(function(){
|
||||
$('.bo_sch_wrap').hide();
|
||||
});
|
||||
</script>
|
||||
<!-- } 게시판 검색 끝 -->
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
|
||||
<form name="fqalist" id="fqalist" action="./qadelete.php" onsubmit="return fqalist_submit(this);" method="post">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo get_text($token); ?>">
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $board['bo_subject'] ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<th scope="col" width="5%" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if(this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 전체선택</b>
|
||||
</label>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th scope="col" width="10%">번호</th>
|
||||
<th scope="col" width="100%">제목</th>
|
||||
<th scope="col" width="20%">글쓴이</th>
|
||||
<th scope="col" width="20%">등록일</th>
|
||||
<th scope="col" width="15%">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$row_cnt = 0;
|
||||
$row_num = 0;
|
||||
if($sca==""){
|
||||
$row_cnt = count($list2);
|
||||
$row_num = $row_cnt;
|
||||
}else{
|
||||
$row_cnt = count($list1);
|
||||
}
|
||||
for ($i=0; $i<$row_cnt; $i++) {
|
||||
if ($i%2==0) $lt_class = "even";
|
||||
else $lt_class = "";
|
||||
?>
|
||||
<tr class="<?php echo $lt_class ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<td class="td_chk chk_box">
|
||||
<input type="checkbox" name="chk_qa_id[]" value="<?php echo $sca==""?$list2[$i]['qa_id']:$list1[$i]['qa_id'] ?>" id="chk_qa_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_qa_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $sca==""?$list2[$i]['subject']:$list1[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="td_num"><?php echo $sca==""?$list2[$i]['num']:$list1[$i]['num']; //$row_num?></td>
|
||||
<td class="td_subject">
|
||||
<span class="bo_cate_link" style="width:80px;"><?php echo $sca==""?$list2[$i]['category']:$list1[$i]['category']; ?></span>
|
||||
<a href="<?php echo $sca==""?$list2[$i]['view_href']:$list1[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $sca==""?$list2[$i]['subject']:$list1[$i]['subject']; ?>
|
||||
<?php
|
||||
if($sca==""){
|
||||
if ($list2[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
}else{
|
||||
if ($list1[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_name"><?php echo $sca==""?$list2[$i]['name']:$list1[$i]['name']; ?></td>
|
||||
<td class="td_date"><?php echo $sca==""?$list2[$i]['date']:$list1[$i]['date']; ?></td>
|
||||
<td class="td_stat">
|
||||
<span class="<?php if($sca==""){echo ($list2[$i]['qa_status'] ? 'txt_done' : 'txt_rdy');}else{echo ($list1[$i]['qa_status'] ? 'txt_done' : 'txt_rdy');}?>">
|
||||
<?php if($sca==""){echo ($list2[$i]['qa_status'] ? '답변완료' : '답변대기');}else{echo ($list1[$i]['qa_status'] ? '답변완료' : '답변대기');} ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
$row_num = $row_num-1;
|
||||
}
|
||||
?>
|
||||
<?php if ($i == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 페이지 -->
|
||||
<?php echo $list_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value" class="btn btn_b01 btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button></li>
|
||||
<?php } ?>
|
||||
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
</div>
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
<script>
|
||||
AOS.init();
|
||||
const lenis = new Lenis()
|
||||
lenis.on('scroll', (e) => {
|
||||
// console.log(e)
|
||||
})
|
||||
lenis.on('scroll', ScrollTrigger.update)
|
||||
gsap.ticker.add((time)=>{
|
||||
lenis.raf(time * 1000)
|
||||
})
|
||||
gsap.ticker.lagSmoothing(0)
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fqalist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fqalist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다"))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// $('#pop_agreement').hide();
|
||||
// $('#pop_join').hide();
|
||||
// $('#pop_mypage01').hide();
|
||||
// $('#pop_search').hide();
|
||||
// $('#pop_mypage02').hide();
|
||||
// $('#pop_mypage03').hide();
|
||||
// $('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
alert(mb_name);
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qalist.php";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,834 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 6;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>FAQ - 1:1 문의</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "http://localhost/tova";
|
||||
var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
var g5_is_member = "1";
|
||||
var g5_is_admin = "";
|
||||
var g5_is_mobile = "";
|
||||
var g5_bo_table = "";
|
||||
var g5_sca = "";
|
||||
var g5_editor = "";
|
||||
var g5_cookie_domain = "";
|
||||
var g5_theme_shop_url = "http://localhost/tova/theme/basic/shop";
|
||||
var g5_shop_url = "http://localhost/tova/shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<script src="../js/common.js?ver=2304171"></script>
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery.mousewheel.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/common.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/popup.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/index.js"></script>
|
||||
|
||||
<!-- <script type="text/javascript" src="js/common.js"></script> -->
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 1:1문의하기 -->
|
||||
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<div id="bo_list">
|
||||
<?php if ($category_option) { ?>
|
||||
<!-- 카테고리 시작 { -->
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $qaconfig['qa_title'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<!-- } 카테고리 끝 -->
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시판 페이지 정보 및 버튼 시작 { -->
|
||||
<div id="bo_btn_top">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($admin_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<!-- <?php //if ($admin_href) { ?><li><a href="<?php //echo $admin_href ?>" class="btn_admin btn" title="관리자"><i class="fa fa-cog fa-spin fa-fw"></i><span class="sound_only">관리자</span></a></li><?php //} ?> -->
|
||||
<li>
|
||||
<button type="button" class="btn_bo_sch btn_b01 btn" title="게시판 검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">게시판 검색</span></button>
|
||||
<!-- 게시판 검색 시작 { -->
|
||||
<div class="bo_sch_wrap">
|
||||
<fieldset class="bo_sch">
|
||||
<h3>검색</h3>
|
||||
<legend>게시물 검색</legend>
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sfl" class="sound_only">검색대상</label>
|
||||
<select name="sfl" id="sfl">
|
||||
<?php echo get_qa_sfl_select_options($sfl); ?>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<div class="sch_bar">
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx); ?>" id="stx" required class="sch_input" size="25" maxlength="15" placeholder=" 검색어를 입력해주세요">
|
||||
<button type="submit" value="검색" class="sch_btn" title="검색"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
|
||||
</div>
|
||||
<button type="button" class="bo_sch_cls"><i class="fa fa-times" aria-hidden="true"></i><span class="sound_only">닫기</span></button>
|
||||
</form>
|
||||
</fieldset>
|
||||
</div>
|
||||
<script>
|
||||
// 게시판 검색
|
||||
$(".btn_bo_sch").on("click", function() {
|
||||
$(".bo_sch_wrap").toggle();
|
||||
})
|
||||
$('.bo_sch_bg, .bo_sch_cls').click(function(){
|
||||
$('.bo_sch_wrap').hide();
|
||||
});
|
||||
</script>
|
||||
<!-- } 게시판 검색 끝 -->
|
||||
</li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
<!-- } 게시판 페이지 정보 및 버튼 끝 -->
|
||||
|
||||
<form name="fqalist" id="fqalist" action="./qadelete.php" onsubmit="return fqalist_submit(this);" method="post">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo get_text($token); ?>">
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $board['bo_subject'] ?> 목록</caption>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<th scope="col" width="5%" class="all_chk chk_box">
|
||||
<input type="checkbox" id="chkall" onclick="if(this.checked) all_checked(true); else all_checked(false);" class="selec_chk">
|
||||
<label for="chkall">
|
||||
<span></span>
|
||||
<b class="sound_only">현재 페이지 게시물 전체선택</b>
|
||||
</label>
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th scope="col" width="5%">번호</th>
|
||||
<th scope="col" width="65%">제목</th>
|
||||
<th scope="col" width="10%">글쓴이</th>
|
||||
<th scope="col" width="10%">등록일</th>
|
||||
<th scope="col" width="10%">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
$row_cnt = 0;
|
||||
$row_num = 0;
|
||||
if($sca==""){
|
||||
$row_cnt = count($list2);
|
||||
$row_num = $row_cnt;
|
||||
}else{
|
||||
$row_cnt = count($list1);
|
||||
}
|
||||
for ($i=0; $i<$row_cnt; $i++) {
|
||||
if ($i%2==0) $lt_class = "even";
|
||||
else $lt_class = "";
|
||||
?>
|
||||
<tr class="<?php echo $lt_class ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<td class="td_chk chk_box">
|
||||
<input type="checkbox" name="chk_qa_id[]" value="<?php echo $sca==""?$list2[$i]['qa_id']:$list1[$i]['qa_id'] ?>" id="chk_qa_id_<?php echo $i ?>" class="selec_chk">
|
||||
<label for="chk_qa_id_<?php echo $i ?>">
|
||||
<span></span>
|
||||
<b class="sound_only"><?php echo $sca==""?$list2[$i]['subject']:$list1[$i]['subject'] ?></b>
|
||||
</label>
|
||||
</td>
|
||||
<?php } ?>
|
||||
<td class="td_num"><?php echo $sca==""?$list2[$i]['num']:$list1[$i]['num']; //$row_num?></td>
|
||||
<td class="td_subject">
|
||||
<span class="bo_cate_link" style="width:80px;"><?php echo $sca==""?$list2[$i]['category']:$list1[$i]['category']; ?></span>
|
||||
<a href="<?php echo $sca==""?$list2[$i]['view_href']:$list1[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $sca==""?$list2[$i]['subject']:$list1[$i]['subject']; ?>
|
||||
<?php
|
||||
if($sca==""){
|
||||
if ($list2[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
}else{
|
||||
if ($list1[$i]['icon_file']) echo " <i class=\"fa fa-download\" aria-hidden=\"true\"></i>" ;
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_name"><?php echo $sca==""?$list2[$i]['name']:$list1[$i]['name']; ?></td>
|
||||
<td class="td_date"><?php echo $sca==""?$list2[$i]['date']:$list1[$i]['date']; ?></td>
|
||||
<td class="td_stat">
|
||||
<span class="<?php if($sca==""){echo ($list2[$i]['qa_status'] ? 'txt_done' : 'txt_rdy');}else{echo ($list1[$i]['qa_status'] ? 'txt_done' : 'txt_rdy');}?>">
|
||||
<?php if($sca==""){echo ($list2[$i]['qa_status'] ? '답변완료' : '답변대기');}else{echo ($list1[$i]['qa_status'] ? '답변완료' : '답변대기');} ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php
|
||||
$row_num = $row_num-1;
|
||||
}
|
||||
?>
|
||||
<?php if ($i == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- 페이지 -->
|
||||
<?php echo $list_pages; ?>
|
||||
<!-- 페이지 -->
|
||||
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><button type="submit" name="btn_submit" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value" class="btn btn_b01 btn_admin"><i class="fa fa-trash-o" aria-hidden="true"></i><span class="sound_only">선택삭제</span></button></li>
|
||||
<?php } ?>
|
||||
<?php if ($list_href) { ?><li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="문의등록"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">문의등록</span></a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
</div>
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fqalist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fqalist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_qa_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다"))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- } 게시판 목록 끝 -->
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').hide();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qalist.php";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,76 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<section id="bo_v_ans">
|
||||
<h2><span class="bo_v_reply">답변</span> <?php echo get_text($answer['qa_subject']); ?></h2>
|
||||
<header>
|
||||
<div id="ans_datetime">
|
||||
<i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $answer['qa_datetime']; ?>
|
||||
</div>
|
||||
|
||||
<?php if ( $answer_update_href || $answer_delete_href ){ ?>
|
||||
<div id="ans_add">
|
||||
<button type="button" class="btn_more_add btn_more_opt btn_b01 btn" title="답변 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">답변 옵션</span></button>
|
||||
<ul class="more_add">
|
||||
<?php if($answer_update_href) { ?>
|
||||
<li><a href="<?php echo $answer_update_href; ?>" class="btn_b01 btn" title="답변수정">답변수정</a></li>
|
||||
<?php } ?>
|
||||
<?php if($answer_delete_href) { ?>
|
||||
<li><a href="<?php echo $answer_delete_href; ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="답변삭제">답변삭제</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 답변하기 옵션
|
||||
$(".btn_more_add").on("click", function() {
|
||||
$(".more_add").toggle();
|
||||
})
|
||||
</script>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</header>
|
||||
|
||||
<div id="ans_con">
|
||||
<?php
|
||||
// 파일 출력
|
||||
if(isset($answer['img_count']) && $answer['img_count']) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<$answer['img_count']; $i++) {
|
||||
echo get_view_thumbnail($answer['img_file'][$i], $qaconfig['qa_image_width']);
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<?php echo get_view_thumbnail(conv_content($answer['qa_content'], $answer['qa_html']), $qaconfig['qa_image_width']); ?>
|
||||
|
||||
<?php if(isset($answer['download_count']) && $answer['download_count']) { ?>
|
||||
<!-- 첨부파일 시작 { -->
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<$answer['download_count']; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<a href="<?php echo $answer['download_href'][$i]; ?>" class="view_file_download" download>
|
||||
<strong><?php echo $answer['download_source'][$i] ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
<div class="bo_v_btn">
|
||||
<a href="<?php echo $rewrite_href; ?>" class="add_qa" title="추가질문">추가질문</a>
|
||||
</div>
|
||||
@@ -0,0 +1,155 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<section id="bo_v_ans_form">
|
||||
<?php
|
||||
if($is_admin) // 관리자이면 답변등록
|
||||
{
|
||||
?>
|
||||
<h2>답변등록</h2>
|
||||
|
||||
<form name="fanswer" method="post" action="./qawrite_update.php" onsubmit="return fwrite_submit(this);" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="qa_id" value="<?php echo $view['qa_id']; ?>">
|
||||
<input type="hidden" name="w" value="a">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx; ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page; ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
$option = '';
|
||||
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" name="qa_html" value="1">';
|
||||
} else {
|
||||
$option .= "\n".'<input type="checkbox" id="qa_html" name="qa_html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="qa_html">html</label>';
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01">
|
||||
<ul>
|
||||
<?php if ($option) { ?>
|
||||
<li>
|
||||
옵션
|
||||
<?php echo $option; ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<li>
|
||||
<label for="qa_subject" class="sound_only">제목</label>
|
||||
<input type="text" name="qa_subject" value="" id="qa_subject" required class="frm_input required full_input" size="50" maxlength="255" placeholder="제목">
|
||||
</li>
|
||||
<li class="qa_content_wrap <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
|
||||
<label for="qa_content" class="sound_only">내용<strong>필수</strong></label>
|
||||
<span class="wr_content">
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_1" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 파일 #1</span></label>
|
||||
<input type="file" name="bf_file[1]" id="bf_file_1" title="파일첨부 1 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_2" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> 파일 #2</span></label>
|
||||
<input type="file" name="bf_file[2]" id="bf_file_2" title="파일첨부 2 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm_re">
|
||||
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">답변등록</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "2";
|
||||
else
|
||||
obj.value = "1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.qa_subject.value,
|
||||
"content": f.qa_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.qa_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_qa_content) != "undefined")
|
||||
ed_qa_content.returnFalse();
|
||||
else
|
||||
f.qa_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_bbs_url+"/ajax.write.token.php",
|
||||
data: { 'token_case' : 'qa_write' },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (typeof data.token !== "undefined") {
|
||||
token = data.token;
|
||||
if(typeof f.token === "undefined")
|
||||
$(f).prepend('<input type="hidden" name="token" value="">');
|
||||
$(f).find("input[name=token]").val(token);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<?php
|
||||
}
|
||||
else
|
||||
{
|
||||
?>
|
||||
<p id="ans_msg">고객님의 문의에 대한 답변을 준비 중입니다.</p>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
@@ -0,0 +1,863 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>FAQ - 문의작성하기</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// // 자바스크립트에서 사용하는 전역변수 선언
|
||||
// var g5_url = "http://localhost/tova";
|
||||
// var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
// var g5_is_member = "1";
|
||||
// var g5_is_admin = "";
|
||||
// var g5_is_mobile = "";
|
||||
// var g5_bo_table = "";
|
||||
// var g5_sca = "";
|
||||
// var g5_editor = "";
|
||||
// var g5_cookie_domain = "";
|
||||
// var g5_theme_shop_url = "theme/basic/shop";
|
||||
// var g5_shop_url = "shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<!-- <script src="../js/common.js?ver=2304171"></script> -->
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 답변등록 -->
|
||||
<div id="hd_login_msg">최고관리자 최고관리자님 로그인 중 <a href="http://localhost/tova/bbs/logout.php">로그아웃</a></div>
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<!-- 게시물 읽기 시작 { -->
|
||||
|
||||
<article id="bo_v">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php
|
||||
echo '<span class="bo_v_cate">'.$view['category'].'</span> '; // 분류 출력 끝
|
||||
?>
|
||||
<?php
|
||||
echo $view['subject']; // 글제목 출력
|
||||
?>
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자</span><strong><?php echo $view['name'] ?></strong>
|
||||
<span class="sound_only">작성일</span><strong class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $view['datetime']; ?></strong>
|
||||
<?php if($view['email'] || $view['hp']) { ?>
|
||||
<?php if($view['email']) { ?>
|
||||
<span class="sound_only">이메일</span>
|
||||
<strong><i class="fa fa-envelope-o" aria-hidden="true"></i> <?php echo $view['email']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php if($view['hp']) { ?>
|
||||
<span class="sound_only">휴대폰</span>
|
||||
<strong><i class="fa fa-phone" aria-hidden="true"></i> <?php echo $view['hp']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시물 상단 버튼 시작 { -->
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($update_href || $delete_href) { ?>
|
||||
<li>
|
||||
<!-- <button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 읽기 옵션</span></button> -->
|
||||
<button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i></button>
|
||||
<ul class="more_opt">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01 btn" title="수정">수정<i class="fa fa-pencil-square-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="삭제">삭제<i class="fa fa-trash-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 게시판 리스트 옵션
|
||||
$(".btn_more_opt").on("click", function() {
|
||||
$(".more_opt").toggle();
|
||||
})
|
||||
</script>
|
||||
<?php
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<!-- } 게시물 상단 버튼 끝 -->
|
||||
</section>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
if($view['img_count']) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<$view['img_count']; $i++) {
|
||||
//echo $view['img_file'][$i];
|
||||
echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']);
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 본문 내용 시작 { -->
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content'], $qaconfig['qa_image_width']); ?></div>
|
||||
<!-- } 본문 내용 끝 -->
|
||||
|
||||
<?php if($view['qa_type']) { ?>
|
||||
<div id="bo_v_addq"><a href="<?php echo $rewrite_href; ?>" class="btn_b01">추가질문</a></div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($view['download_count']) { ?>
|
||||
|
||||
<!-- 첨부파일 시작 { -->
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<$view['download_count']; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<a href="<?php echo $view['download_href'][$i]; ?>" class="view_file_download" download>
|
||||
<strong><?php echo $view['download_source'][$i] ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
</section>
|
||||
|
||||
|
||||
<div class="bo_v_bottom">
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01 btn"><i class="fa fa-chevron-left" aria-hidden="true"></i> 이전글</a></li><?php } ?>
|
||||
<?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01 btn">다음글 <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
<div class="list_btn"><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span>목록</span></a></div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// 질문글에서 답변이 있으면 답변 출력, 답변이 없고 관리자이면 답변등록폼 출력
|
||||
if(!$view['qa_type']) {
|
||||
if($view['qa_status'] && $answer['qa_id'])
|
||||
include_once($qa_skin_path.'/view.answer.skin.php');
|
||||
else
|
||||
include_once($qa_skin_path.'/view.answerform.skin.php');
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($view['rel_count']) { ?>
|
||||
<section id="bo_v_rel">
|
||||
<h2>연관질문</h2>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col" width="10%">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for($i=0; $i<$view['rel_count']; $i++) {
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="bo_cate_link"><?php echo get_text($rel_list[$i]['category']); ?></span>
|
||||
|
||||
<a href="<?php echo $rel_list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $rel_list[$i]['subject']; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_date"><?php echo $rel_list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class="<?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
<!-- } 게시판 읽기 끝 -->
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("a.view_image").click(function() {
|
||||
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
<!-- <div style='float:left; text-align:center;'>RUN TIME : 0.028378963470459<br></div> -->
|
||||
<!-- //그누보드 끝 --- FAQ : 답변등록 -->
|
||||
</div>
|
||||
<!-- FOOTER -->
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
<script>
|
||||
AOS.init();
|
||||
const lenis = new Lenis()
|
||||
lenis.on('scroll', (e) => {
|
||||
// console.log(e)
|
||||
})
|
||||
lenis.on('scroll', ScrollTrigger.update)
|
||||
gsap.ticker.add((time)=>{
|
||||
lenis.raf(time * 1000)
|
||||
})
|
||||
gsap.ticker.lagSmoothing(0)
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
$(function(){
|
||||
// footer family site toggle
|
||||
$('.family_btn').click(function(e){
|
||||
e.stopPropagation();
|
||||
$('.family_list, .family_btn').toggleClass('family_on');
|
||||
});
|
||||
$(document).click(function(e){
|
||||
if(!$(e.target).closest('.family_wrap').length){
|
||||
$('.family_list, .family_btn').removeClass('family_on');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// $('#pop_agreement').hide();
|
||||
// $('#pop_join').hide();
|
||||
// $('#pop_mypage01').hide();
|
||||
// $('#pop_search').hide();
|
||||
// $('#pop_mypage02').hide();
|
||||
// $('#pop_mypage03').hide();
|
||||
// $('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qaview.php?qa_id=<?php echo $view['qa_num'] ?>";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,852 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>FAQ - 문의작성하기</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "http://localhost/tova";
|
||||
var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
var g5_is_member = "1";
|
||||
var g5_is_admin = "";
|
||||
var g5_is_mobile = "";
|
||||
var g5_bo_table = "";
|
||||
var g5_sca = "";
|
||||
var g5_editor = "";
|
||||
var g5_cookie_domain = "";
|
||||
var g5_theme_shop_url = "theme/basic/shop";
|
||||
var g5_shop_url = "shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<script src="../js/common.js?ver=2304171"></script>
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery.mousewheel.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/common.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/popup.js"></script>
|
||||
<!-- <script type="text/javascript" src="<?php echo G5_URL ?>/js/index.js"></script> -->
|
||||
|
||||
<!-- <script type="text/javascript" src="js/common.js"></script> -->
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<h1><a href="../index.php"></a></h1>
|
||||
<div class="menu_my">
|
||||
<img src="../img/ico_my.svg" alt="">
|
||||
<ul class="menu_my_list" style="display: none;">
|
||||
<li id="my_join2" class="my_join2">
|
||||
<?
|
||||
if ($_SESSION['is_admin']=="super"){
|
||||
echo "<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>";
|
||||
} else {
|
||||
echo "<a href='javascript:mypage01();'>마이페이지</a>";
|
||||
}
|
||||
?>
|
||||
</li>
|
||||
<li id="my_login2" class="my_login2"><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
<li id="my_join" class="my_join"><a href="javascript:agreement();">회원가입</a></li>
|
||||
<li id="my_login" class="my_login"><a href="javascript:login();">로그인</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="menu_ham"><a href="javascript:sitemap();"><div></div><div></div><div></div></a></div>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>TOVA 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 답변등록 -->
|
||||
<div id="hd_login_msg">최고관리자 최고관리자님 로그인 중 <a href="http://localhost/tova/bbs/logout.php">로그아웃</a></div>
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<!-- 게시물 읽기 시작 { -->
|
||||
|
||||
<article id="bo_v">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php
|
||||
echo '<span class="bo_v_cate">'.$view['category'].'</span> '; // 분류 출력 끝
|
||||
?>
|
||||
<?php
|
||||
echo $view['subject']; // 글제목 출력
|
||||
?>
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자</span><strong><?php echo $view['name'] ?></strong>
|
||||
<span class="sound_only">작성일</span><strong class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $view['datetime']; ?></strong>
|
||||
<?php if($view['email'] || $view['hp']) { ?>
|
||||
<?php if($view['email']) { ?>
|
||||
<span class="sound_only">이메일</span>
|
||||
<strong><i class="fa fa-envelope-o" aria-hidden="true"></i> <?php echo $view['email']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php if($view['hp']) { ?>
|
||||
<span class="sound_only">휴대폰</span>
|
||||
<strong><i class="fa fa-phone" aria-hidden="true"></i> <?php echo $view['hp']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시물 상단 버튼 시작 { -->
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($update_href || $delete_href) { ?>
|
||||
<li>
|
||||
<!-- <button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 읽기 옵션</span></button> -->
|
||||
<button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i></button>
|
||||
<ul class="more_opt">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01 btn" title="수정">수정<i class="fa fa-pencil-square-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="삭제">삭제<i class="fa fa-trash-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 게시판 리스트 옵션
|
||||
$(".btn_more_opt").on("click", function() {
|
||||
$(".more_opt").toggle();
|
||||
})
|
||||
</script>
|
||||
<?php
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<!-- } 게시물 상단 버튼 끝 -->
|
||||
</section>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
if($view['img_count']) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<$view['img_count']; $i++) {
|
||||
//echo $view['img_file'][$i];
|
||||
echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']);
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 본문 내용 시작 { -->
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content'], $qaconfig['qa_image_width']); ?></div>
|
||||
<!-- } 본문 내용 끝 -->
|
||||
|
||||
<?php if($view['qa_type']) { ?>
|
||||
<div id="bo_v_addq"><a href="<?php echo $rewrite_href; ?>" class="btn_b01">추가질문</a></div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($view['download_count']) { ?>
|
||||
|
||||
<!-- 첨부파일 시작 { -->
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<$view['download_count']; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<a href="<?php echo $view['download_href'][$i]; ?>" class="view_file_download" download>
|
||||
<strong><?php echo $view['download_source'][$i] ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
</section>
|
||||
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01 btn"><i class="fa fa-chevron-left" aria-hidden="true"></i> 다음글</a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01 btn">이전글 <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
// 질문글에서 답변이 있으면 답변 출력, 답변이 없고 관리자이면 답변등록폼 출력
|
||||
if(!$view['qa_type']) {
|
||||
if($view['qa_status'] && $answer['qa_id'])
|
||||
include_once($qa_skin_path.'/view.answer.skin.php');
|
||||
else
|
||||
include_once($qa_skin_path.'/view.answerform.skin.php');
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($view['rel_count']) { ?>
|
||||
<section id="bo_v_rel">
|
||||
<h2>연관질문</h2>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col" width="10%">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for($i=0; $i<$view['rel_count']; $i++) {
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="bo_cate_link"><?php echo get_text($rel_list[$i]['category']); ?></span>
|
||||
|
||||
<a href="<?php echo $rel_list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $rel_list[$i]['subject']; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_date"><?php echo $rel_list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class="<?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
<!-- } 게시판 읽기 끝 -->
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("a.view_image").click(function() {
|
||||
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
<!-- <div style='float:left; text-align:center;'>RUN TIME : 0.028378963470459<br></div> -->
|
||||
<!-- //그누보드 끝 --- FAQ : 답변등록 -->
|
||||
</div>
|
||||
<!-- FOOTER -->
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<div class="footer_close"></div>
|
||||
<div class="footer_wrap">
|
||||
<img class="logo_baron" src="<?php echo G5_URL ?>/img/baron_logo.svg" alt="">
|
||||
<span class="ceo">대표이사 : 장종찬</span>
|
||||
<span class="btn_privacy"><a href="javascript:privacy('privacy');"><em>개인정보 처리방침</em></a><a href="javascript:privacy('agreement');">이용약관</a></span>
|
||||
<span class="copyright">© 2017 Baron. All rights reserved.</span>
|
||||
<ul class="footer_menu">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/value.php">EG-BIM</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/interface.php">인터페이스</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/primary.php">주요기능</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/floorplan.php">도면관리</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/forbim.php">for BIM</a></li>
|
||||
</ul>
|
||||
<div class="footer_sitemap">
|
||||
<div class="family_wrap">
|
||||
<div class="family_btn"><span>Family Site</span><i></i></div>
|
||||
<ul class="family_list">
|
||||
<li><a href="http://k-tova.com" target="_blank">TOVA</a></li>
|
||||
<li><a href="" target="_blank">GAIA</a></li>
|
||||
<li><a href="" target="_blank">바론컨설턴트</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').hide();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qaview.php?qa_id=<?php echo $view['qa_num'] ?>";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,827 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>FAQ - 문의작성하기</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "http://localhost/tova";
|
||||
var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
var g5_is_member = "1";
|
||||
var g5_is_admin = "";
|
||||
var g5_is_mobile = "";
|
||||
var g5_bo_table = "";
|
||||
var g5_sca = "";
|
||||
var g5_editor = "";
|
||||
var g5_cookie_domain = "";
|
||||
var g5_theme_shop_url = "theme/basic/shop";
|
||||
var g5_shop_url = "shop";
|
||||
</script>
|
||||
<!-- <script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<script src="../js/common.js?ver=2304171"></script>
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script> -->
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery.mousewheel.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/common.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/popup.js"></script>
|
||||
<!-- <script type="text/javascript" src="<?php echo G5_URL ?>/js/index.js"></script> -->
|
||||
|
||||
<!-- <script type="text/javascript" src="js/common.js"></script> -->
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 답변등록 -->
|
||||
<div id="hd_login_msg">최고관리자 최고관리자님 로그인 중 <a href="http://localhost/tova/bbs/logout.php">로그아웃</a></div>
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<!-- 게시물 읽기 시작 { -->
|
||||
|
||||
<article id="bo_v">
|
||||
<header>
|
||||
<h2 id="bo_v_title">
|
||||
<?php
|
||||
echo '<span class="bo_v_cate">'.$view['category'].'</span> '; // 분류 출력 끝
|
||||
?>
|
||||
<?php
|
||||
echo $view['subject']; // 글제목 출력
|
||||
?>
|
||||
</h2>
|
||||
</header>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<span class="sound_only">작성자</span><strong><?php echo $view['name'] ?></strong>
|
||||
<span class="sound_only">작성일</span><strong class="bo_date"><i class="fa fa-clock-o" aria-hidden="true"></i> <?php echo $view['datetime']; ?></strong>
|
||||
<?php if($view['email'] || $view['hp']) { ?>
|
||||
<?php if($view['email']) { ?>
|
||||
<span class="sound_only">이메일</span>
|
||||
<strong><i class="fa fa-envelope-o" aria-hidden="true"></i> <?php echo $view['email']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php if($view['hp']) { ?>
|
||||
<span class="sound_only">휴대폰</span>
|
||||
<strong><i class="fa fa-phone" aria-hidden="true"></i> <?php echo $view['hp']; ?></strong>
|
||||
<?php } ?>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 게시물 상단 버튼 시작 { -->
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span class="sound_only">목록</span></a></li>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01 btn" title="글쓰기"><i class="fa fa-pencil" aria-hidden="true"></i><span class="sound_only">글쓰기</span></a></li><?php } ?>
|
||||
<?php if ($update_href || $delete_href) { ?>
|
||||
<li>
|
||||
<!-- <button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i><span class="sound_only">게시판 읽기 옵션</span></button> -->
|
||||
<button type="button" class="btn_more_opt btn_b01 btn" title="게시판 읽기 옵션"><i class="fa fa-ellipsis-v" aria-hidden="true"></i></button>
|
||||
<ul class="more_opt">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01 btn" title="수정">수정<i class="fa fa-pencil-square-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01 btn" onclick="del(this.href); return false;" title="삭제">삭제<i class="fa fa-trash-o" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<script>
|
||||
// 게시판 리스트 옵션
|
||||
$(".btn_more_opt").on("click", function() {
|
||||
$(".more_opt").toggle();
|
||||
})
|
||||
</script>
|
||||
<?php
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
<!-- } 게시물 상단 버튼 끝 -->
|
||||
</section>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
if($view['img_count']) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<$view['img_count']; $i++) {
|
||||
//echo $view['img_file'][$i];
|
||||
echo get_view_thumbnail($view['img_file'][$i], $qaconfig['qa_image_width']);
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 본문 내용 시작 { -->
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content'], $qaconfig['qa_image_width']); ?></div>
|
||||
<!-- } 본문 내용 끝 -->
|
||||
|
||||
<?php if($view['qa_type']) { ?>
|
||||
<div id="bo_v_addq"><a href="<?php echo $rewrite_href; ?>" class="btn_b01">추가질문</a></div>
|
||||
<?php } ?>
|
||||
|
||||
<?php if($view['download_count']) { ?>
|
||||
|
||||
<!-- 첨부파일 시작 { -->
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<$view['download_count']; $i++) {
|
||||
?>
|
||||
<li>
|
||||
<i class="fa fa-download" aria-hidden="true"></i>
|
||||
<a href="<?php echo $view['download_href'][$i]; ?>" class="view_file_download" download>
|
||||
<strong><?php echo $view['download_source'][$i] ?></strong>
|
||||
</a>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<!-- } 첨부파일 끝 -->
|
||||
<?php } ?>
|
||||
</section>
|
||||
|
||||
|
||||
<div class="bo_v_bottom">
|
||||
<?php if ($prev_href || $next_href) { ?>
|
||||
<ul class="bo_v_nb">
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01 btn"><i class="fa fa-chevron-left" aria-hidden="true"></i> 이전글</a></li><?php } ?>
|
||||
<?php if ($prev_href) { ?><li><a href="<?php echo $prev_href ?>" class="btn_b01 btn">다음글 <i class="fa fa-chevron-right" aria-hidden="true"></i></a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
<div class="list_btn"><a href="<?php echo $list_href ?>" class="btn_b01 btn" title="목록"><i class="fa fa-list" aria-hidden="true"></i><span>목록</span></a></div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
// 질문글에서 답변이 있으면 답변 출력, 답변이 없고 관리자이면 답변등록폼 출력
|
||||
if(!$view['qa_type']) {
|
||||
if($view['qa_status'] && $answer['qa_id'])
|
||||
include_once($qa_skin_path.'/view.answer.skin.php');
|
||||
else
|
||||
include_once($qa_skin_path.'/view.answerform.skin.php');
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($view['rel_count']) { ?>
|
||||
<section id="bo_v_rel">
|
||||
<h2>연관질문</h2>
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col" width="10%">등록일</th>
|
||||
<th scope="col">상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for($i=0; $i<$view['rel_count']; $i++) {
|
||||
?>
|
||||
<tr>
|
||||
<td>
|
||||
<span class="bo_cate_link"><?php echo get_text($rel_list[$i]['category']); ?></span>
|
||||
|
||||
<a href="<?php echo $rel_list[$i]['view_href']; ?>" class="bo_tit">
|
||||
<?php echo $rel_list[$i]['subject']; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="td_date"><?php echo $rel_list[$i]['date']; ?></td>
|
||||
<td class="td_stat"><span class="<?php echo ($rel_list[$i]['qa_status'] ? 'txt_done' : 'txt_rdy'); ?>"><?php echo ($rel_list[$i]['qa_status'] ? '<i class="fa fa-check-circle" aria-hidden="true"></i> 답변완료' : '<i class="fa fa-times-circle" aria-hidden="true"></i> 답변대기'); ?></span></td>
|
||||
</tr>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
|
||||
|
||||
</article>
|
||||
<!-- } 게시판 읽기 끝 -->
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$("a.view_image").click(function() {
|
||||
window.open(this.href, "large_image", "location=yes,links=no,toolbar=no,top=10,left=10,width=10,height=10,resizable=yes,scrollbars=no,status=no");
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
<!-- <div style='float:left; text-align:center;'>RUN TIME : 0.028378963470459<br></div> -->
|
||||
<!-- //그누보드 끝 --- FAQ : 답변등록 -->
|
||||
</div>
|
||||
<!-- FOOTER -->
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').hide();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qaview.php?qa_id=<?php echo $view['qa_num'] ?>";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@@ -0,0 +1,847 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>FAQ - 문의작성하기</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// // 자바스크립트에서 사용하는 전역변수 선언
|
||||
// var g5_url = "http://localhost/tova";
|
||||
// var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
// var g5_is_member = "1";
|
||||
// var g5_is_admin = "";
|
||||
// var g5_is_mobile = "";
|
||||
// var g5_bo_table = "";
|
||||
// var g5_sca = "";
|
||||
// var g5_editor = "";
|
||||
// var g5_cookie_domain = "";
|
||||
// var g5_theme_shop_url = "theme/basic/shop";
|
||||
// var g5_shop_url = "shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<!-- <script src="../js/common.js?ver=2304171"></script> -->
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/aos@2.3.1/dist/aos.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="https://unpkg.com/lenis@1.1.9/dist/lenis.css">
|
||||
<script src="https://unpkg.com/aos@2.3.1/dist/aos.js"></script>
|
||||
<script src="https://unpkg.com/lenis@1.1.9/dist/lenis.min.js"></script>
|
||||
<script type="text/javascript" src="js/common.js"></script>
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 문의작성하기 -->
|
||||
<!-- <div id="hd_login_msg">송대일님 로그인 중 <a href="http://localhost/tova/bbs/logout.php">로그아웃</a></div> -->
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<section id="bo_w">
|
||||
<h2>1:1문의 작성</h2>
|
||||
<!-- 게시물 작성/수정 시작 { -->
|
||||
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="qa_id" value="<?php echo $qa_id ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
$option = '';
|
||||
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" name="qa_html" value="1">';
|
||||
} else {
|
||||
$option .= "\n".'<input type="checkbox" id="qa_html" name="qa_html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="qa_html">html</label>';
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01">
|
||||
<ul>
|
||||
<?php if ($category_option) { ?>
|
||||
<li class="bo_w_select write_div">
|
||||
<label for="qa_category" class="sound_only">분류<strong>필수</strong></label>
|
||||
<select name="qa_category" id="qa_category" required >
|
||||
<option value="">분류를 선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<li class="bo_w_mail chk_box">
|
||||
<label for="qa_email" class="sound_only">이메일</label>
|
||||
<input type="text" name="qa_email" value="<?php echo get_text($write['qa_email']); ?>" id="qa_email" <?php echo $req_email; ?> class="<?php echo $req_email.' '; ?>frm_input full_input email" size="50" maxlength="100" placeholder="이메일" readonly>
|
||||
<input type="checkbox" name="qa_email_recv" id="qa_email_recv" value="1" <?php if($write['qa_email_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_email_recv" class="frm_info"><span></span>댓글 답변받기</label>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
<li class="bo_w_hp chk_box">
|
||||
<label for="qa_hp" class="sound_only">휴대폰</label>
|
||||
<input type="text" name="qa_hp" value="<?php echo get_text($write['qa_hp']); ?>" id="qa_hp" <?php echo $req_hp; ?> class="<?php echo $req_hp.' '; ?>frm_input full_input" size="30" placeholder="휴대폰" readonly>
|
||||
<?php if($qaconfig['qa_use_sms']) { ?>
|
||||
<input type="checkbox" name="qa_sms_recv" id="qa_sms_recv" value="1" <?php if($write['qa_sms_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_sms_recv" class="frm_info"><span></span>답변등록 SMS알림 수신</label>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_sbj">
|
||||
<label for="qa_subject" class="sound_only">제목<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" name="qa_subject" value="<?php echo get_text($write['qa_subject']); ?>" id="qa_subject" required class="frm_input full_input required" size="50" maxlength="255" placeholder="제목">
|
||||
</li>
|
||||
|
||||
<li class="qa_content_wrap <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
|
||||
<label for="qa_content" class="sound_only">내용<strong class="sound_only">필수</strong></label>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
|
||||
</li>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<li>
|
||||
옵션
|
||||
<?php echo $option; ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_1" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> </span></label>
|
||||
<input type="file" name="bf_file[1]" id="bf_file_1" title="파일첨부 1 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file1']) { ?>
|
||||
<input type="checkbox" id="bf_file_del1" name="bf_file_del[1]" value="1"> <label for="bf_file_del1"><?php echo $write['qa_source1']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_2" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> </span></label>
|
||||
<input type="file" name="bf_file[2]" id="bf_file_2" title="파일첨부 2 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file2']) { ?>
|
||||
<input type="checkbox" id="bf_file_del2" name="bf_file_del[2]" value="1"> <label for="bf_file_del2"><?php echo $write['qa_source2']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm write_div">
|
||||
<a href="<?php echo $list_href; ?>" class="btn_cancel btn">취소</a>
|
||||
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "2";
|
||||
else
|
||||
obj.value = "1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.qa_subject.value,
|
||||
"content": f.qa_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.qa_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_qa_content) != "undefined")
|
||||
ed_qa_content.returnFalse();
|
||||
else
|
||||
f.qa_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
var hp = f.qa_hp.value.replace(/[0-9\-]/g, "");
|
||||
if(hp.length > 0) {
|
||||
alert("휴대폰번호는 숫자, - 으로만 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
<?php } ?>
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_bbs_url+"/ajax.write.token.php",
|
||||
data: { 'token_case' : 'qa_write' },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (typeof data.token !== "undefined") {
|
||||
token = data.token;
|
||||
|
||||
if(typeof f.token === "undefined")
|
||||
$(f).prepend('<input type="hidden" name="token" value="">');
|
||||
|
||||
$(f).find("input[name=token]").val(token);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</section>
|
||||
<!-- } 게시물 작성/수정 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
<!-- //그누보드 끝 --- FAQ : 문의작성하기 -->
|
||||
</div>
|
||||
<!-- FOOTER -->
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
<script>
|
||||
AOS.init();
|
||||
const lenis = new Lenis()
|
||||
lenis.on('scroll', (e) => {
|
||||
// console.log(e)
|
||||
})
|
||||
lenis.on('scroll', ScrollTrigger.update)
|
||||
gsap.ticker.add((time)=>{
|
||||
lenis.raf(time * 1000)
|
||||
})
|
||||
gsap.ticker.lagSmoothing(0)
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
// $('.btn_close').hide();
|
||||
// $('#pop_login').hide();
|
||||
// $('#pop_agreement').hide();
|
||||
// $('#pop_join').hide();
|
||||
// $('#pop_mypage01').hide();
|
||||
// $('#pop_search').hide();
|
||||
// $('#pop_mypage02').hide();
|
||||
// $('#pop_mypage03').hide();
|
||||
// $('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
// ------유나 추가
|
||||
$('.popup_wrap').hide();
|
||||
$('body').css('overflow', ''); // 기본 스크롤 상태로 복귀
|
||||
lenis.start();
|
||||
console.log('로그인 완료 및 lenis 재시작/유나 추가')
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qawrite.php";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,825 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$qa_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<head>
|
||||
<!-- Google tag (gtag.js) -->
|
||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-STZ2R5Q7HG"></script>
|
||||
<script>
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag(){dataLayer.push(arguments);}
|
||||
gtag('js', new Date());
|
||||
|
||||
gtag('config', 'G-STZ2R5Q7HG');
|
||||
</script>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="imagetoolbar" content="no">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<title>FAQ - 문의작성하기</title>
|
||||
<!-- 그누보드 작성 -->
|
||||
<link rel="stylesheet" href="../theme/basic/css/default.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/font-awesome/css/font-awesome.min.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/connect/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/popular/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/qa/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/outlogin/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/latest/notice/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../theme/basic/skin/visit/basic/style.css?ver=2303229">
|
||||
<link rel="stylesheet" href="../js/owlcarousel/owl.carousel.min.css?ver=2303229">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="http://localhost/tova/js/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "http://localhost/tova";
|
||||
var g5_bbs_url = "http://localhost/tova/bbs";
|
||||
var g5_is_member = "1";
|
||||
var g5_is_admin = "";
|
||||
var g5_is_mobile = "";
|
||||
var g5_bo_table = "";
|
||||
var g5_sca = "";
|
||||
var g5_editor = "";
|
||||
var g5_cookie_domain = "";
|
||||
var g5_theme_shop_url = "theme/basic/shop";
|
||||
var g5_shop_url = "shop";
|
||||
</script>
|
||||
<script src="../js/jquery-1.12.4.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery-migrate-1.4.1.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.menu.js?ver=2304171"></script>
|
||||
<script src="../js/common.js?ver=2304171"></script>
|
||||
<script src="../js/wrest.js?ver=2304171"></script>
|
||||
<script src="../js/placeholders.min.js?ver=2304171"></script>
|
||||
<script src="../js/owlcarousel/owl.carousel.min.js?ver=2304171"></script>
|
||||
<script src="../js/jquery.bxslider.js?ver=2304171"></script>
|
||||
<!-- //그누보드 작성 -->
|
||||
|
||||
<!-- 디자인팀 작성 -->
|
||||
<link rel="stylesheet" href="../css/reset.css"/>
|
||||
<link rel="stylesheet" href="../css/font.css"/>
|
||||
<link rel="stylesheet" href="../css/style.css"/>
|
||||
|
||||
<script type="text/javascript" src="../js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="../js/jquery.mousewheel.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/gsap.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollTrigger.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/gsap@3.12.5/dist/ScrollToPlugin.min.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery-3.6.1.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/jquery.mousewheel.min.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/common.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/popup.js"></script>
|
||||
<script type="text/javascript" src="<?php echo G5_URL ?>/js/index.js"></script>
|
||||
|
||||
<!-- <script type="text/javascript" src="js/common.js"></script> -->
|
||||
<script type="text/javascript" src="../js/popup.js"></script>
|
||||
<!-- //디자인팀 작성 -->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="wrapper">
|
||||
<input id="hid_mb_id" type="hidden" value="<?echo $_SESSION['session_id'];?>"></input>
|
||||
<!-- HEADER -->
|
||||
<header class="js__header">
|
||||
<?php include_once($member_skin_path.'/main_header.skin.php'); ?>
|
||||
</header>
|
||||
<!-- //Header -->
|
||||
<!-- floating_menu -->
|
||||
<div class="floating_menu">
|
||||
<ul>
|
||||
<li class="floating_faq"><a href="<?php echo G5_BBS_URL ?>/faq.php">
|
||||
<i></i>
|
||||
<span>FAQ</span>
|
||||
</a></li>
|
||||
<li class="floating_buy"><a href="<?php echo G5_BBS_URL ?>/buy.php">
|
||||
<i></i>
|
||||
<span>구매하기</span>
|
||||
</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- //floating_menu -->
|
||||
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<?php
|
||||
include_once($member_skin_path.'/login.skin.php');
|
||||
include_once($member_skin_path.'/mypage01.skin.php');
|
||||
include_once($member_skin_path.'/register.skin.php');
|
||||
include_once($member_skin_path.'/register_form.skin.php');
|
||||
include_once($member_skin_path.'/mypage02.skin.php');
|
||||
include_once($member_skin_path.'/mypage03.skin.php');
|
||||
include_once($member_skin_path.'/sitemap.skin.php');
|
||||
include_once($member_skin_path.'/privacy.skin.php');
|
||||
include_once($member_skin_path.'/password_lost.skin.php');
|
||||
?>
|
||||
<!-- 모든 팝업페이지 경로 -->
|
||||
<div class="container faq">
|
||||
<section class="intro">
|
||||
<div class="top">
|
||||
<h2 class="js__reveal rTB">FAQ</h2>
|
||||
<span>EG-BIM 관련 문의하기</span>
|
||||
</div>
|
||||
<ul class="sub_tab">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">자주하는 질문</a></li>
|
||||
<li class="on"><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1 문의하기</a></li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<span class="sub_tit">1:1 문의하기</span>
|
||||
<!-- 그누보드 시작 --- FAQ : 문의작성하기 -->
|
||||
<!-- <div id="hd_login_msg">송대일님 로그인 중 <a href="http://localhost/tova/bbs/logout.php">로그아웃</a></div> -->
|
||||
<hr>
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="container_wr">
|
||||
<div id="container">
|
||||
<h2 id="container_title"><span title="1:1문의">1:1문의</span></h2>
|
||||
|
||||
<section id="bo_w">
|
||||
<h2>1:1문의 작성</h2>
|
||||
<!-- 게시물 작성/수정 시작 { -->
|
||||
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
<input type="hidden" name="qa_id" value="<?php echo $qa_id ?>">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="token" value="<?php echo $token ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
$option = '';
|
||||
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" name="qa_html" value="1">';
|
||||
} else {
|
||||
$option .= "\n".'<input type="checkbox" id="qa_html" name="qa_html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'."\n".'<label for="qa_html">html</label>';
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
|
||||
<div class="form_01">
|
||||
<ul>
|
||||
<?php if ($category_option) { ?>
|
||||
<li class="bo_w_select write_div">
|
||||
<label for="qa_category" class="sound_only">분류<strong>필수</strong></label>
|
||||
<select name="qa_category" id="qa_category" required >
|
||||
<option value="">분류를 선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<li class="bo_w_mail chk_box">
|
||||
<label for="qa_email" class="sound_only">이메일</label>
|
||||
<input type="text" name="qa_email" value="<?php echo get_text($write['qa_email']); ?>" id="qa_email" <?php echo $req_email; ?> class="<?php echo $req_email.' '; ?>frm_input full_input email" size="50" maxlength="100" placeholder="이메일" readonly>
|
||||
<input type="checkbox" name="qa_email_recv" id="qa_email_recv" value="1" <?php if($write['qa_email_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_email_recv" class="frm_info"><span></span>댓글 답변받기</label>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
<li class="bo_w_hp chk_box">
|
||||
<label for="qa_hp" class="sound_only">휴대폰</label>
|
||||
<input type="text" name="qa_hp" value="<?php echo get_text($write['qa_hp']); ?>" id="qa_hp" <?php echo $req_hp; ?> class="<?php echo $req_hp.' '; ?>frm_input full_input" size="30" placeholder="휴대폰" readonly>
|
||||
<?php if($qaconfig['qa_use_sms']) { ?>
|
||||
<input type="checkbox" name="qa_sms_recv" id="qa_sms_recv" value="1" <?php if($write['qa_sms_recv']) echo 'checked="checked"'; ?> class="selec_chk">
|
||||
<label for="qa_sms_recv" class="frm_info"><span></span>답변등록 SMS알림 수신</label>
|
||||
<?php } ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_sbj">
|
||||
<label for="qa_subject" class="sound_only">제목<strong class="sound_only">필수</strong></label>
|
||||
<input type="text" name="qa_subject" value="<?php echo get_text($write['qa_subject']); ?>" id="qa_subject" required class="frm_input full_input required" size="50" maxlength="255" placeholder="제목">
|
||||
</li>
|
||||
|
||||
<li class="qa_content_wrap <?php echo $is_dhtml_editor ? $config['cf_editor'] : ''; ?>">
|
||||
<label for="qa_content" class="sound_only">내용<strong class="sound_only">필수</strong></label>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
|
||||
</li>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<li>
|
||||
옵션
|
||||
<?php echo $option; ?>
|
||||
</li>
|
||||
<?php } ?>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_1" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> </span></label>
|
||||
<input type="file" name="bf_file[1]" id="bf_file_1" title="파일첨부 1 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file1']) { ?>
|
||||
<input type="checkbox" id="bf_file_del1" name="bf_file_del[1]" value="1"> <label for="bf_file_del1"><?php echo $write['qa_source1']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<li class="bo_w_flie">
|
||||
<div class="file_wr">
|
||||
<label for="bf_file_2" class="lb_icon"><i class="fa fa-download" aria-hidden="true"></i><span class="sound_only"> </span></label>
|
||||
<input type="file" name="bf_file[2]" id="bf_file_2" title="파일첨부 2 : 용량 <?php echo $upload_max_filesize; ?> 이하만 업로드 가능" class="frm_file">
|
||||
<?php if($w == 'u' && $write['qa_file2']) { ?>
|
||||
<input type="checkbox" id="bf_file_del2" name="bf_file_del[2]" value="1"> <label for="bf_file_del2"><?php echo $write['qa_source2']; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm write_div">
|
||||
<a href="<?php echo $list_href; ?>" class="btn_cancel btn">취소</a>
|
||||
<button type="submit" id="btn_submit" accesskey="s" class="btn_submit btn">작성완료</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "2";
|
||||
else
|
||||
obj.value = "1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo $editor_js; // 에디터 사용시 자바스크립트에서 내용을 폼필드로 넣어주며 내용이 입력되었는지 검사함 ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.qa_subject.value,
|
||||
"content": f.qa_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.qa_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_qa_content) != "undefined")
|
||||
ed_qa_content.returnFalse();
|
||||
else
|
||||
f.qa_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
<?php if ($is_hp) { ?>
|
||||
var hp = f.qa_hp.value.replace(/[0-9\-]/g, "");
|
||||
if(hp.length > 0) {
|
||||
alert("휴대폰번호는 숫자, - 으로만 입력해 주십시오.");
|
||||
return false;
|
||||
}
|
||||
<?php } ?>
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: g5_bbs_url+"/ajax.write.token.php",
|
||||
data: { 'token_case' : 'qa_write' },
|
||||
cache: false,
|
||||
async: false,
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if (typeof data.token !== "undefined") {
|
||||
token = data.token;
|
||||
|
||||
if(typeof f.token === "undefined")
|
||||
$(f).prepend('<input type="hidden" name="token" value="">');
|
||||
|
||||
$(f).find("input[name=token]").val(token);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</section>
|
||||
<!-- } 게시물 작성/수정 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- } 콘텐츠 끝 -->
|
||||
<hr>
|
||||
<script>
|
||||
$(function() {
|
||||
// 폰트 리사이즈 쿠키있으면 실행
|
||||
font_resize("container", get_cookie("ck_font_resize_rmv_class"), get_cookie("ck_font_resize_add_class"));
|
||||
});
|
||||
</script>
|
||||
<!-- //그누보드 끝 --- FAQ : 문의작성하기 -->
|
||||
</div>
|
||||
<!-- FOOTER -->
|
||||
<button class="btn_top js__top" onclick="window.scrollTo(0,0);"><div class="arrow"></div></button>
|
||||
<footer class="footer_off">
|
||||
<?php include_once($member_skin_path.'/main_footer.skin.php'); ?>
|
||||
</footer>
|
||||
<!-- //FOOTER -->
|
||||
</div>
|
||||
</body>
|
||||
|
||||
<!-- 상단(헤더) 스크립트 구문 -->
|
||||
<script>
|
||||
// 회원 탈퇴
|
||||
function member_leave() {
|
||||
if (confirm("회원에서 탈퇴 하시겠습니까?"))
|
||||
location.href = '<?php echo G5_BBS_URL ?>/member_leave.php';
|
||||
}
|
||||
// 회원 탈퇴
|
||||
|
||||
if($('#hid_mb_id').val()==''){
|
||||
document.getElementById('my_join2').style.display = 'none';
|
||||
document.getElementById('my_login2').style.display = 'none';
|
||||
document.getElementById('my_join').style.display = '';
|
||||
document.getElementById('my_login').style.display = '';
|
||||
}else{
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
}
|
||||
let x = document.cookie;
|
||||
if(x.includes("tmp_1=John")){
|
||||
deleteCookie("tmp_1");
|
||||
$('#pop_mypage02').show();
|
||||
}
|
||||
function deleteCookie(name) {
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/bbs;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/faq;";
|
||||
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/egbim/qa;";
|
||||
}
|
||||
function getCookie(cname) {
|
||||
let name = cname + "=";
|
||||
let decodedCookie = decodeURIComponent(document.cookie);
|
||||
let ca = decodedCookie.split(';');
|
||||
for(let i = 0; i <ca.length; i++) {
|
||||
let c = ca[i];
|
||||
while (c.charAt(0) == ' ') {
|
||||
c = c.substring(1);
|
||||
}
|
||||
if (c.indexOf(name) == 0) {
|
||||
return c.substring(name.length, c.length);
|
||||
}
|
||||
}
|
||||
return "";
|
||||
}
|
||||
//alert(getCookie("tmp_1"));
|
||||
//로그인
|
||||
$('#flogin button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#login_id').val();
|
||||
let mb_password = $('#login_pw').val();
|
||||
//alert('<?php echo G5_URL ?>/bbs/login.php');
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/login_check_tova.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success" || ss.replace('"','').replace('"','') == "super"){
|
||||
//$(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#hid_mb_id').val(mb_id);
|
||||
document.getElementById('my_join2').style.display = '';
|
||||
document.getElementById('my_login2').style.display = '';
|
||||
document.getElementById('my_join').style.display = 'none';
|
||||
document.getElementById('my_login').style.display = 'none';
|
||||
//location.href="<?php echo G5_URL ?>/bbs/session.php?id="+mb_id;
|
||||
if(ss.replace('"','').replace('"','') == "super"){
|
||||
$('#my_join2').html("<a href='http://eg-bim.com/egbim/adm/index.php' target='_blank'>관리페이지</a>");
|
||||
}else{
|
||||
$('#my_join2').html("<a href='javascript:mypage01();'>마이페이지</a>");
|
||||
}
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
//alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 약관동의
|
||||
$('#fregister button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let agree11 = $('#agree11').val();
|
||||
let agree21 = $('#agree21').val();
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form.php',
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
contentType: 'application/json; charset=utf-8',
|
||||
data : {
|
||||
'agree11' : agree11,
|
||||
'agree21' : agree21
|
||||
},
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
}
|
||||
});
|
||||
});
|
||||
//회원가입 정보입력
|
||||
$('#fregisterform button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let mb_id = $('#reg_mb_id').val();
|
||||
let mb_password = $('#reg_mb_password').val();
|
||||
let mb_password_re = $('#reg_mb_password_re').val();
|
||||
let mb_name = $('#reg_mb_name').val();
|
||||
let mb_email1 = $('#reg_mb_email1').val();
|
||||
let mb_email2 = $('#mb_email2').val();
|
||||
let reg_domain2 = $('#register_domain2').val();
|
||||
let mb_hp = $('#reg_mb_hp').val();
|
||||
let mb_comp = $('#reg_mb_comp').val();
|
||||
let mb_comp_team = $('#reg_mb_comp_team').val();
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + reg_domain2;
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/register_form_update.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
if(ss){
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').hide();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').hide();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원가입이 완료됐습니다.\n다시 로그인 해주세요');
|
||||
$('#reg_mb_id').val('');
|
||||
$('#reg_mb_password').val('');
|
||||
$('#reg_mb_password_re').val('');
|
||||
$('#reg_mb_name').val('');
|
||||
$('#reg_mb_email1').val('');
|
||||
$('#reg_mb_hp').val('');
|
||||
$('#reg_mb_comp').val('');
|
||||
$('#reg_mb_comp_team').val('');
|
||||
$('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
// $.removeCookie(mb_id,{path:'<?php //echo G5_URL ?>/bbs/register_form_update.php'});
|
||||
});
|
||||
|
||||
//회원정보 수정
|
||||
$('#fregisterform_up button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
let mb_id = $('#update_mb_id').val();
|
||||
let mb_password = $('#update_mb_password').val();
|
||||
let mb_password_re = $('#update_mb_password_re').val();
|
||||
let mb_name = $('#update_mb_name').val();
|
||||
let mb_email1 = $('#update_mb_email1').val();
|
||||
let mb_email2 = $('#update_mb_email2').val();
|
||||
let update_domain2 = $('#update_domain2').val();
|
||||
if (mb_email2 == "type"){
|
||||
mb_email2 = '@' + update_domain2;
|
||||
}
|
||||
let mb_hp = $('#update_mb_hp').val();
|
||||
let mb_comp = $('#update_mb_comp').val();
|
||||
let mb_comp_team = $('#update_mb_comp_team').val();
|
||||
|
||||
//alert(mb_password+' '+mb_password_re+' '+mb_name+' '+mb_email1+' '+mb_email2+' '+mb_hp+' '+mb_comp+' '+mb_comp_team);
|
||||
if (mb_id.length < 4) {
|
||||
alert('1');
|
||||
alert("아이디를 4글자 이상 입력하십시오.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
var special_pattern = /[`~!@#$%^&*|\\\'\";:\/?]/gi
|
||||
if (special_pattern.test(mb_id) == true) {
|
||||
alert("아이디는 특수문자를 사용할수 없습니다.");
|
||||
mb_id.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 비밀번호 검사
|
||||
if(!/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,25}$/.test(mb_password)){
|
||||
alert('비밀번호는 숫자+영문자+특수문자 조합으로 8자리 이상 사용해야 합니다.');
|
||||
mb_password.focus();
|
||||
return false;
|
||||
}
|
||||
// if (mb_password_re.length < 8 || mb_password.length < 8) {
|
||||
// alert("비밀번호를 8글자 이상 입력하십시오.");
|
||||
// mb_password.focus();
|
||||
// return false;
|
||||
// }
|
||||
|
||||
// 비밀번호 & 2차비밀번호 검사
|
||||
if (mb_password != mb_password_re) {
|
||||
alert(mb_password_re);
|
||||
alert("비밀번호가 같지 않습니다.");
|
||||
mb_password_re.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 이름 검사
|
||||
if (mb_name == "") {
|
||||
if (mb_name.length < 1) {
|
||||
alert("이름을 입력하십시오.");
|
||||
mb_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 메일 검사
|
||||
if (mb_email1 == "") {
|
||||
if (mb_email1.length < 1) {
|
||||
alert("메일 주소를 입력하십시오.");
|
||||
mb_email1.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// 핸드폰 번호 검사
|
||||
if (mb_hp.length < 11) {
|
||||
alert("휴대전화번호 11자리를 입력하십시오.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
if(isNaN(mb_hp)){
|
||||
alert("휴대전화번호는 숫자만 입력가능합니다.");
|
||||
mb_hp.focus();
|
||||
return false;
|
||||
}
|
||||
// 회사명 검사
|
||||
if (mb_comp == "") {
|
||||
if (mb_comp.length < 1) {
|
||||
alert("회사명을 입력하십시오");
|
||||
mb_comp.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// 팀명 검사
|
||||
if (mb_comp_team == "") {
|
||||
if (mb_comp_team.length < 1) {
|
||||
alert("팀명을 입력하십시오");
|
||||
mb_comp_team.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage03.php',
|
||||
data : {
|
||||
'mb_id' : mb_id,
|
||||
'mb_password' : mb_password,
|
||||
'mb_password_re' : mb_password_re,
|
||||
'mb_name' : mb_name,
|
||||
'mb_email1' : mb_email1,
|
||||
'mb_email2' : mb_email2,
|
||||
'mb_hp' : mb_hp,
|
||||
'mb_comp' : mb_comp,
|
||||
'mb_comp_team' : mb_comp_team,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
|
||||
// $(".popup_wrap").show();
|
||||
$('.btn_close').show();
|
||||
$('#pop_login').hide();
|
||||
$('#pop_agreement').hide();
|
||||
$('#pop_join').hide();
|
||||
$('#pop_mypage01').hide();
|
||||
$('#pop_search').hide();
|
||||
$('#pop_mypage02').show();
|
||||
$('#pop_mypage03').hide();
|
||||
$('#pop_privacy').hide();
|
||||
// $('.register_fs').hide();
|
||||
// $('.join_progress .join_step').removeClass('on');
|
||||
// $('.join_progress .join_step').eq(2).addClass('on');
|
||||
// $('.messages').show();
|
||||
alert('회원정보 수정이 완료됐습니다.');
|
||||
document.getElementById("span_email").innerText=mb_email1+mb_email2;
|
||||
document.getElementById("span_hp").innerText=mb_hp;
|
||||
document.getElementById("span_comp").innerText=mb_comp;
|
||||
document.getElementById("span_comp_team").innerText=mb_comp_team;
|
||||
// $('#update_mb_id').val('');
|
||||
// $('#update_mb_password').val('');
|
||||
// $('#update_mb_password_re').val('');
|
||||
// $('#update_mb_name').val('');
|
||||
// $('#update_mb_email1').val('');
|
||||
// $('#update_mb_hp').val('');
|
||||
// $('#update_mb_comp').val('');
|
||||
// $('#update_mb_comp_team').val('');
|
||||
// $('#dupl_check_yn').val('N');
|
||||
|
||||
}else{
|
||||
alert('실패했습니다.');
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert('에러');
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$('#fmyconfirmpw button[type=submit]').click(function(e){
|
||||
e.preventDefault();
|
||||
|
||||
let l_mb_password = $('#password_mypage').val();
|
||||
let l_mb_id = $('#hid_mb_id').val();
|
||||
|
||||
$.ajax({
|
||||
url : '<?php echo G5_URL ?>/bbs/mypage02.php',
|
||||
data : {
|
||||
'mb_id' : l_mb_id,
|
||||
'mb_password' : l_mb_password,
|
||||
},
|
||||
type : "POST",
|
||||
datatype : "json",
|
||||
success : function(data){
|
||||
var ss='';
|
||||
for(i=0; i<data.length; i++){
|
||||
ss=ss + data[i];
|
||||
}
|
||||
//alert(ss.replace('"','').replace('"',''));
|
||||
if(ss.replace('"','').replace('"','') == "success"){
|
||||
$('#password_mypage').val('');
|
||||
//mypage02();
|
||||
document.cookie = "tmp_1=John";
|
||||
location.href="<?php echo G5_URL ?>/bbs/qawrite.php";
|
||||
}else
|
||||
{
|
||||
alert(trim(ss));
|
||||
$('#password_mypage').select();
|
||||
}
|
||||
},
|
||||
error : function(err){
|
||||
alert(err);
|
||||
alert(err.status);
|
||||
alert(err.statusText);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
</script>
|
||||
@@ -0,0 +1,134 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Q&A 게시판 리스트</title>
|
||||
<style>
|
||||
/* 전체 컨테이너 */
|
||||
.qa-container {
|
||||
max-width: 1200px;
|
||||
margin: 2rem auto;
|
||||
font-family: sans-serif;
|
||||
}
|
||||
/* ① 필터 + ② 검색/문의등록 영역을 한 줄에 flex 배치 */
|
||||
.qa-controls {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
/* 필터 박스 */
|
||||
.qa-filters > div {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
/* 검색 + 버튼 세로 스택 */
|
||||
.qa-search {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-end;
|
||||
}
|
||||
.qa-search input {
|
||||
padding: 0.3rem;
|
||||
width: 200px;
|
||||
margin-right: 0.3rem;
|
||||
}
|
||||
.qa-search button {
|
||||
padding: 0.4rem 0.8rem;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
/* ③ 테이블 */
|
||||
table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
th, td {
|
||||
padding: 0.6rem;
|
||||
border: 1px solid #ddd;
|
||||
text-align: left;
|
||||
}
|
||||
th {
|
||||
background: #f4f4f4;
|
||||
}
|
||||
/* 상태 표시용 간단한 스타일 */
|
||||
.status-await { color: #d9534f; } /* 답변대기 */
|
||||
.status-done { color: #5cb85c; } /* 답변완료 */
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="qa-container">
|
||||
<h1>Q&A 게시판 리스트</h1>
|
||||
|
||||
<!-- ① 필터 + ② 검색/문의등록 -->
|
||||
<div class="qa-controls">
|
||||
<div class="qa-filters">
|
||||
<div>
|
||||
<strong>작성자</strong><br>
|
||||
<label><input type="radio" name="writer" value="all" checked> 전체</label>
|
||||
<label><input type="radio" name="writer" value="me"> 본인</label>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="qa-filters2">
|
||||
|
||||
<div>
|
||||
<strong>처리상태</strong><br>
|
||||
<label><input type="checkbox" name="status" value="await" checked> 답변대기</label>
|
||||
<label><input type="checkbox" name="status" value="done" checked> 답변완료</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="qa-search">
|
||||
<!-- 검색 -->
|
||||
<div>
|
||||
<input type="text" placeholder="검색어를 입력하세요">
|
||||
<button>🔍 검색</button>
|
||||
</div>
|
||||
<!-- 문의등록 버튼 -->
|
||||
<button style="background:#337ab7;color:#fff;border:none;cursor:pointer;">
|
||||
문의등록
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ③ 데이터 테이블 -->
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>번호</th>
|
||||
<th>구분</th>
|
||||
<th>회사</th>
|
||||
<th>부서</th>
|
||||
<th>작성자</th>
|
||||
<th>제목</th>
|
||||
<th>등록일</th>
|
||||
<th>상태</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>12</td>
|
||||
<td>회원</td>
|
||||
<td>장헌산업</td>
|
||||
<td>기획실</td>
|
||||
<td>송영석</td>
|
||||
<td>ez‑bim 화면모드 최적화 문의</td>
|
||||
<td>25‑07‑04</td>
|
||||
<td class="status-done">답변완료</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>11</td>
|
||||
<td>회원</td>
|
||||
<td>장헌산업</td>
|
||||
<td>기획실</td>
|
||||
<td>윤선일</td>
|
||||
<td>노트북 모니터링 최적화 부탁드립니다.</td>
|
||||
<td>25‑06‑21</td>
|
||||
<td class="status-await">답변대기</td>
|
||||
</tr>
|
||||
<!-- 더 많은 행… -->
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user