SNS 수정중
This commit is contained in:
@ -35,9 +35,9 @@ if ($is_nogood) $colspan++;
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b02">RSS</a></li><?php } ?>
|
||||
<?php if ($rss_href) { ?><li><a href="<?php echo $rss_href ?>" class="btn_b01">RSS</a></li><?php } ?>
|
||||
<?php if ($admin_href) { ?><li><a href="<?php echo $admin_href ?>" class="btn_admin">관리자</a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01">글쓰기</a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
@ -115,7 +115,7 @@ if ($is_nogood) $colspan++;
|
||||
|
||||
?>
|
||||
</td>
|
||||
<td class="td_name sv_use"><?php echo $list[$i]['name'] ?></td>
|
||||
<td class="td_name"><?php echo $list[$i]['name'] ?></td>
|
||||
<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>
|
||||
<td class="td_num"><?php echo $list[$i]['wr_hit'] ?></td>
|
||||
<?php if ($is_good) { ?><td class="td_num"><?php echo $list[$i]['wr_good'] ?></td><?php } ?>
|
||||
@ -140,7 +140,7 @@ if ($is_nogood) $colspan++;
|
||||
</ul>
|
||||
|
||||
<ul class="btn_bo_user">
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b01">글쓰기</a></li><?php } ?>
|
||||
<?php if ($write_href) { ?><li><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a></li><?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
@ -174,7 +174,7 @@ if ($is_nogood) $colspan++;
|
||||
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
|
||||
</select>
|
||||
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" id="stx" required class="frm_input required" size="15" maxlength="15">
|
||||
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required class="frm_input required" size="15" maxlength="15">
|
||||
<input type="submit" value="검색" class="btn_submit">
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
@ -2,81 +2,83 @@
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (!$is_member) return;
|
||||
if (!$config['cf_facebook_use']) return;
|
||||
|
||||
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
||||
$facebook = new Facebook(array(
|
||||
'appId' => $config['cf_facebook_appid'],
|
||||
'secret' => $config['cf_facebook_secret']
|
||||
));
|
||||
|
||||
$user = $facebook->getUser();
|
||||
|
||||
if ($user) {
|
||||
try {
|
||||
$user_profile = $facebook->api('/me');
|
||||
} catch (FacebookApiException $e) {
|
||||
error_log($e);
|
||||
$user = null;
|
||||
}
|
||||
} else {
|
||||
$appid = $config['cf_facebook_appid'];
|
||||
$secret = $config['cf_facebook_secret'];
|
||||
$access_token = $_COOKIE['fbs_'.$appid.'_access_token'];
|
||||
|
||||
$graph_url = "https://graph.facebook.com/oauth/access_token?client_id=$appid&client_secret=$secret&grant_type=client_credentials";
|
||||
$access_token = file_get_contents($graph_url);
|
||||
|
||||
if($access_token){
|
||||
|
||||
$graph_url = "https://graph.facebook.com/oauth/access_token_info?client_id=$appid&" . $access_token;
|
||||
$access_token_info = json_decode(file_get_contents($graph_url));
|
||||
|
||||
function nonceHasBeenUsed($auth_nonce) {
|
||||
// Here you would check your database to see if the nonce
|
||||
// has been used before. For the sake of this example, we'll
|
||||
// just assume the answer is "no".
|
||||
return false;
|
||||
}
|
||||
|
||||
if (nonceHasBeenUsed($access_token_info->auth_nonce) != true) {
|
||||
if ($result = @file_get_contents("https://graph.facebook.com/me/?".$access_token)) {
|
||||
$result = json_decode($result, true);
|
||||
print_r2($result);
|
||||
$user = $result['id'];
|
||||
}
|
||||
}
|
||||
/*
|
||||
if ($result = @file_get_contents("https://graph.facebook.com/me/?access_token=".$access_token)) {
|
||||
$result = json_decode($result, true);
|
||||
|
||||
print_r2($result);
|
||||
//echo $_SESSION['uid'] = $result['id'];
|
||||
//if ($result = @file_get_contents("https://graph.facebook.com/{$result['id']}/accounts/test-users?installed=true&name={$result['name']}&locale={$result['locale']}&permissions=read_stream&method=post&access_token=".$access_token)) {
|
||||
if ($result = @file_get_contents("https://graph.facebook.com/{$result['id']}/accounts/test-users?access_token=".$access_token)) {
|
||||
$result = json_decode($result, true);
|
||||
print_r2($result);
|
||||
$user = $result['id'];
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
}
|
||||
if (!$config['cf_facebook_use'] && !$config['cf_twitter_use']) return;
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">SNS 등록</th>
|
||||
<td>
|
||||
<div id="sns_facebook">
|
||||
<?php
|
||||
if ($user) {
|
||||
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" '.($member['mb_facebook_checked']?'checked':'').' value="1">';
|
||||
echo '<img src="'.G4_SNS_URL.'/icon/facebook_on.png" id="facebook_icon">';
|
||||
} else {
|
||||
$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php", "scope"=>"publish_stream,read_stream,offline_access", "display"=>"popup"));
|
||||
if ($config['cf_facebook_use']) {
|
||||
include_once(G4_SNS_PATH."/facebook/src/facebook.php");
|
||||
$facebook = new Facebook(array(
|
||||
'appId' => $config['cf_facebook_appid'],
|
||||
'secret' => $config['cf_facebook_secret']
|
||||
));
|
||||
|
||||
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" disabled value="1">';
|
||||
echo '<a href="'.$facebook_url.'" id="facebook_url" onclick="return false;"><img src="'.G4_SNS_URL.'/icon/facebook_'.($user?'on':'off').'.png" id="facebook_icon">';
|
||||
echo '<script>$(function(){ $("#facebook_url").click(function(){ window.open(this.href, "facebook_url", "width=500,height=250"); }); });</script>';
|
||||
$user = $facebook->getUser();
|
||||
|
||||
if ($user) {
|
||||
try {
|
||||
$user_profile = $facebook->api('/me');
|
||||
} catch (FacebookApiException $e) {
|
||||
error_log($e);
|
||||
$user = null;
|
||||
}
|
||||
}
|
||||
|
||||
if ($user) {
|
||||
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" '.($member['mb_facebook_checked']?'checked':'').' value="1">';
|
||||
echo '<img src="'.G4_SNS_URL.'/icon/facebook_on.png" id="facebook_icon">';
|
||||
} else {
|
||||
$facebook_url = $facebook->getLoginUrl(array("redirect_uri"=>G4_SNS_URL."/facebook/callback.php", "scope"=>"publish_stream,read_stream,offline_access", "display"=>"popup"));
|
||||
|
||||
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" disabled value="1">';
|
||||
echo '<a href="'.$facebook_url.'" id="facebook_url" onclick="return false;"><img src="'.G4_SNS_URL.'/icon/facebook_'.($user?'on':'off').'.png" id="facebook_icon">';
|
||||
echo '<script>$(function(){ $("#facebook_url").click(function(){ window.open(this.href, "facebook_url", "width=600,height=250"); }); });</script>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($config['cf_twitter_use']) {
|
||||
include_once(G4_SNS_PATH."/twitter/twitteroauth/twitteroauth.php");
|
||||
include_once(G4_SNS_PATH."/twitter/config.php");
|
||||
|
||||
$user = false;
|
||||
if (empty($_SESSION['access_token']) || empty($_SESSION['access_token']['oauth_token']) || empty($_SESSION['access_token']['oauth_token_secret'])) {
|
||||
$twitter_url = G4_SNS_URL."/twitter/redirect.php";
|
||||
} else {
|
||||
$access_token = $_SESSION['access_token'];
|
||||
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $access_token['oauth_token'], $access_token['oauth_token_secret']);
|
||||
$content = $connection->get('account/verify_credentials');
|
||||
//print_r2($content);
|
||||
|
||||
switch ($connection->http_code) {
|
||||
case 200:
|
||||
$user = true;
|
||||
$twitter_url = $connection->getAuthorizeURL($token);
|
||||
break;
|
||||
default :
|
||||
$twitter_url = G4_SNS_URL."/twitter/redirect.php";
|
||||
// 안먹히는 코드 ㅠㅠ
|
||||
if ($member['mb_twitter_token'] && $member['mb_twitter_token_secret']) {
|
||||
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, $member['mb_twitter_token'], $member['mb_twitter_token_secret']);
|
||||
$content = $connection->get('account/verify_credentials');
|
||||
if (200 == $connection->http_code) {
|
||||
$user = true;
|
||||
$twitter_url = $connection->getAuthorizeURL($token);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ($user) {
|
||||
echo '<input type="checkbox" name="twitter_checked" id="twitter_checked" '.($member['mb_twitter_checked']?'checked':'').' value="1">';
|
||||
echo '<img src="'.G4_SNS_URL.'/icon/twitter_on.png" id="twitter_icon">';
|
||||
} else {
|
||||
echo '<input type="checkbox" name="twitter_checked" id="twitter_checked" disabled value="1">';
|
||||
echo '<a href="'.$twitter_url.'" id="twitter_url" onclick="return false;"><img src="'.G4_SNS_URL.'/icon/twitter_'.($user?'on':'off').'.png" id="twitter_icon">';
|
||||
echo '<script>$(function(){ $("#twitter_url").click(function(){ window.open(this.href, "twitter_url", "width=600,height=250"); }); });</script>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
|
||||
@ -3,12 +3,14 @@
|
||||
/* 게시판 목록 */
|
||||
#bo_list_title {margin-bottom:20px;font-size:1.2em;letter-spacing:-0.1em}
|
||||
|
||||
#bo_cate h2 {position:absolute;;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate h2 {width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {margin-bottom:10px;padding-left:1px;width:728px;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {float:left;margin-bottom:-1px}
|
||||
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:6px 0 5px;width:90px;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;letter-spacing:-0.1em;line-height:1.2em;cursor:pointer}
|
||||
#bo_cate a:focus, #bo_cate a:hover, #bo_cate a:active {text-decoration:none}
|
||||
#bo_cate a:focus,
|
||||
#bo_cate a:hover,
|
||||
#bo_cate a:active {text-decoration:none}
|
||||
#bo_cate #bo_cate_on {z-index:2;border:1px solid #565e60;background:#fff;color:#565e60;font-weight:bold}
|
||||
|
||||
.td_subject img {margin-left:3px}
|
||||
@ -23,7 +25,7 @@
|
||||
.btn_bo_adm {float:left}
|
||||
.btn_bo_adm li {float:left;margin-right:5px}
|
||||
.btn_bo_adm input {padding:0 10px;height:25px;border:1px solid #e8180c !important;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle;cursor:pointer}
|
||||
.bo_notice td {background:#f5f6fa}
|
||||
.bo_notice td {background:#f7f7f2}
|
||||
.bo_notice td a {font-weight:bold}
|
||||
.td_num strong {color:#000}
|
||||
.bo_cate_link {display:inline-block;margin:0 3px 0 0;padding:0 6px 0 0;border-right:1px solid #e7f1ed;color:#999 !important;font-weight:bold;text-decoration:none} /* 글제목줄 분류스타일 */
|
||||
@ -31,14 +33,14 @@
|
||||
.cnt_cmt {font-weight:bold}
|
||||
|
||||
#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
|
||||
#bo_sch legend {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_sch legend {width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:20px;padding-bottom:20px}
|
||||
|
||||
#bo_v_table {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em}
|
||||
#bo_v_cate {position:absolute;top:0;right:15px;margin:0;padding:0 5px;height:25px;background:#565e60;color:#fff;font-weight:bold;line-height:2.2em}
|
||||
|
||||
#bo_v_title {padding:10px 0;font-size:1.2em}
|
||||
#bo_v_h1 {padding:10px 0;font-size:1.2em}
|
||||
|
||||
#bo_v_info {padding:0 0 10px;border-bottom:1px solid #ddd}
|
||||
#bo_v_info h2 {margin:0;padding:0;height:0;overflow:hidden}
|
||||
@ -51,24 +53,27 @@
|
||||
#bo_v_file {}
|
||||
#bo_v_file h2 {margin:0;padding:0;height:0;overflow:hidden}
|
||||
#bo_v_file ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_file li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa}
|
||||
#bo_v_file a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word}
|
||||
#bo_v_file a:focus, #bo_v_file a:hover, #bo_v_file a:active {text-decoration:none}
|
||||
#bo_v_file img {float:left;margin:0 10px 0 0}
|
||||
.bo_v_file_cnt {display:inline-block;margin:0 0 3px 22px}
|
||||
#bo_v_file li {padding:0 10px;border-bottom:1px solid #eee;background:#f7f7f2}
|
||||
#bo_v_file a {display:inline-block;padding:8px 0 7px;color:#000}
|
||||
#bo_v_file a:focus,
|
||||
#bo_v_file a:hover,
|
||||
#bo_v_file a:active {text-decoration:none}
|
||||
.bo_v_file_cnt {display:inline-block;margin:0 10px}
|
||||
|
||||
#bo_v_link {}
|
||||
#bo_v_link h2 {margin:0;padding:0;height:0;overflow:hidden}
|
||||
#bo_v_link ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f5f6fa}
|
||||
#bo_v_link a {display:inline-block;padding:8px 0 7px;width:100%;color:#000;word-wrap:break-word}
|
||||
#bo_v_link a:focus, #bo_v_link a:hover, #bo_v_link a:active {text-decoration:none}
|
||||
.bo_v_link_cnt {display:inline-block;margin:0 0 3px 22px}
|
||||
#bo_v_link li {padding:0 10px;border-bottom:1px solid #eee;background:#f7f7f2}
|
||||
#bo_v_link a {display:inline-block;padding:8px 0 7px;color:#000}
|
||||
#bo_v_link a:focus,
|
||||
#bo_v_link a:hover,
|
||||
#bo_v_link a:active {text-decoration:none}
|
||||
.bo_v_link_cnt {display:inline-block;margin:0 10px}
|
||||
|
||||
#bo_v_top {margin:0 0 10px;padding:10px 0;zoom:1}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {margin:0;padding:0;height:0;overflow:hidden}
|
||||
#bo_v_top ul {margin:0;padding:0;list-style:none}
|
||||
#bo_v_top ul {list-style:none}
|
||||
|
||||
#bo_v_bot {zoom:1}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
@ -81,7 +86,7 @@
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
|
||||
#bo_v_atc {min-height:200px;height:auto !important;height:200px}
|
||||
#bo_v_atc_title {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_atc header h1 {margin:0;padding:0;width:1px;height:1px;overflow:hidden}
|
||||
|
||||
#bo_v_img {margin:0 0 10px;width:100%;overflow:hidden:zoom:1}
|
||||
#bo_v_img:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
@ -96,24 +101,27 @@
|
||||
#bo_v_act span {display:inline-block;margin-right:5px;padding:0 10px;height:23px;border:1px solid #ccc !important;background:#fafafa !important;color:#000 !important;text-decoration:none !important;line-height:2.15em;vertical-align:top}
|
||||
#bo_v_act strong {color:#ff3061}
|
||||
#bo_v_act_good,
|
||||
#bo_v_act_nogood {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_v_act_nogood {position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_v form {padding-top:20px}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f5f6fa}
|
||||
#bo_vc {margin:0 0 10px;padding:20px 20px 10px;border-top:1px solid #cfded8;border-bottom:1px solid #cfded8;background:#f7f7f2}
|
||||
#bo_vc h2 {margin-bottom:10px}
|
||||
#bo_vc article {padding:0 0 10px;border-top:1px dotted #ccc}
|
||||
#bo_vc header {position:relative;padding:15px 0 5px}
|
||||
#bo_vc header .icon_reply {position:absolute;top:15px;left:-20px}
|
||||
#bo_vc .sv_wrap {margin-right:15px}
|
||||
#bo_vc .member, #bo_vc .guest, #bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
#bo_vc .member,
|
||||
#bo_vc .guest,
|
||||
#bo_vc .sv_member,
|
||||
#bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;margin:0 15px 0 5px}
|
||||
#bo_vc h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc h1 {width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc a {color:#000;text-decoration:none}
|
||||
#bo_vc p {padding:0 0 5px;line-height:1.8em}
|
||||
#bo_vc p a {text-decoration:underline}
|
||||
#bo_vc_empty {margin:0;padding:20px !important;text-align:center}
|
||||
#bo_vc_empty {margin:0;padding:20px !important;border-bottom:1px dotted #ccc;text-align:center}
|
||||
#bo_vc fieldset {margin:0 0 10px;padding:0}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
#bo_vc footer {zoom:1}
|
||||
@ -123,8 +131,8 @@
|
||||
.bo_vc_act:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_vc_act li {float:left;margin-left:5px}
|
||||
|
||||
#bo_vc_w {position:relative;margin:0 0 10px;padding:0 0 20px;border-bottom:1px solid #cfded8}
|
||||
#bo_vc_w h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_vc_w #char_cnt {display:block;margin:0 0 5px}
|
||||
#bo_vc_w {position:relative;margin-bottom:10px;padding:0 20px 20px;border-bottom:1px solid #cfded8}
|
||||
#bo_vc_w h2 {padding:15px 0 5px}
|
||||
#bo_vc_w #char_cnt {display:block;margin-bottom:5px}
|
||||
|
||||
#bo_vc form {padding:0}
|
||||
@ -5,20 +5,17 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
<link rel="stylesheet" href="<?php echo $board_skin_url ?>/style.css">
|
||||
|
||||
<div id="bo_v_table"><?php echo $board['bo_subject']; ?></div>
|
||||
<div id="bo_v" style="width:<?php echo $width; ?>">
|
||||
|
||||
<article id="bo_v" style="width:<?php echo $width; ?>">
|
||||
<header>
|
||||
<h1 id="bo_v_title">
|
||||
<?php
|
||||
if ($category_name) echo ($category_name ? $view['ca_name'].' | ' : ''); // 분류 출력 끝
|
||||
echo cut_str(get_text($view['wr_subject']), 70); // 글제목 출력
|
||||
?>
|
||||
</h1>
|
||||
</header>
|
||||
<p id="bo_v_cate">
|
||||
<?php echo $board['bo_subject'] ?>
|
||||
<?php if ($category_name) { // 분류가 지정되었다면 ?><?php echo ($category_name ? "{$view['ca_name']} " : ""); ?><?php } // 분류 출력 끝 ?>
|
||||
</p>
|
||||
|
||||
<h1 id="bo_v_h1"><?php echo cut_str(get_text($view['wr_subject']), 70) // 글제목 출력 ?></h1>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<h2>페이지 정보</h2>
|
||||
<h2>게시물 정보</h2>
|
||||
작성자 <strong><?php echo $view['name'] ?><?php if ($is_ip_view) { echo " ($ip)"; } ?></strong>
|
||||
<span class="sound_only">작성일</span><strong><?php echo date("y-m-d H:i", strtotime($view['wr_datetime'])) ?></strong>
|
||||
조회<strong><?php echo number_format($view['wr_hit']) ?>회</strong>
|
||||
@ -90,7 +87,8 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<div id="bo_v_top">
|
||||
<nav id="bo_v_top">
|
||||
<h2>게시물 상단 버튼</h2>
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
@ -115,10 +113,12 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
<article id="bo_v_atc">
|
||||
<header>
|
||||
<h1>본문</h1>
|
||||
</header>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
@ -145,6 +145,7 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
<?php if ($scrap_href || $good_href || $nogood_href) { ?>
|
||||
<div id="bo_v_act">
|
||||
<?php if ($scrap_href) { ?><a href="<?php echo $scrap_href; ?>" target="_blank" class="btn_b01" onclick="win_scrap(this.href); return false;">스크랩</a><?php } ?>
|
||||
|
||||
<?php if ($good_href) { ?>
|
||||
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="btn_b01">추천 <strong><?php echo number_format($view['wr_good']) ?></strong></a>
|
||||
<b id="bo_v_act_good"></b>
|
||||
@ -153,10 +154,11 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="btn_b01">비추천 <strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
|
||||
<b id="bo_v_act_nogood"></b>
|
||||
<?php } ?>
|
||||
|
||||
</div>
|
||||
<?php } else {
|
||||
if($board['bo_use_good'] || $board['bo_use_nogood']) {
|
||||
?>
|
||||
?>
|
||||
<div id="bo_v_act">
|
||||
<?php if($board['bo_use_good']) { ?><span>추천 <strong><?php echo number_format($view['wr_good']) ?></strong></span><?php } ?>
|
||||
<?php if($board['bo_use_nogood']) { ?><span>비추천 <strong><?php echo number_format($view['wr_nogood']) ?></strong></span><?php } ?>
|
||||
@ -164,20 +166,24 @@ include_once(G4_LIB_PATH.'/thumbnail.lib.php');
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
?>
|
||||
</article>
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once('./view_comment.php');
|
||||
?>
|
||||
|
||||
<div id="bo_v_bot">
|
||||
<nav id="bo_v_bot">
|
||||
<h2>게시물 하단 버튼</h2>
|
||||
|
||||
<!-- 링크 버튼 -->
|
||||
<?php echo $link_buttons ?>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<?php if ($board['bo_download_point'] < 0) { ?>
|
||||
@ -211,35 +217,6 @@ $(window).load(function() {
|
||||
view_image_resize();
|
||||
});
|
||||
|
||||
var now = new Date();
|
||||
var timeout = false;
|
||||
var millisec = 200;
|
||||
var tid;
|
||||
|
||||
$(window).resize(function() {
|
||||
now = new Date();
|
||||
if (timeout === false) {
|
||||
timeout = true;
|
||||
|
||||
if(tid != null)
|
||||
clearTimeout(tid);
|
||||
|
||||
tid = setTimeout(resize_check, millisec);
|
||||
}
|
||||
});
|
||||
|
||||
function resize_check() {
|
||||
if (new Date() - now < millisec) {
|
||||
if(tid != null)
|
||||
clearTimeout(tid);
|
||||
|
||||
tid = setTimeout(resize_check, millisec);
|
||||
} else {
|
||||
timeout = false;
|
||||
view_image_resize();
|
||||
}
|
||||
}
|
||||
|
||||
$(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");
|
||||
@ -263,34 +240,14 @@ function view_image_resize()
|
||||
{
|
||||
var $img = $("#bo_v_atc img");
|
||||
var img_wrap = $("#bo_v_atc").width();
|
||||
var win_width = $(window).width() - 35;
|
||||
var res_width = 0;
|
||||
|
||||
if(img_wrap < win_width)
|
||||
res_width = img_wrap;
|
||||
else
|
||||
res_width = win_width;
|
||||
|
||||
$img.each(function() {
|
||||
var img_width = $(this).width();
|
||||
var img_height = $(this).height();
|
||||
var this_width = $(this).data("width");
|
||||
var this_height = $(this).data("height");
|
||||
|
||||
if(this_width == undefined) {
|
||||
$(this).data("width", img_width); // 원래 이미지 사이즈
|
||||
$(this).data("height", img_height);
|
||||
this_width = img_width;
|
||||
this_height = img_height;
|
||||
}
|
||||
|
||||
if(this_width > res_width) {
|
||||
$(this).width(res_width);
|
||||
var res_height = Math.round(res_width * $(this).data("height") / $(this).data("width"));
|
||||
$(this).height(res_height);
|
||||
} else {
|
||||
$(this).width(this_width);
|
||||
$(this).height(this_height);
|
||||
$(this).data("width", img_width); // 원래 이미지 사이즈
|
||||
if (img_width > img_wrap) {
|
||||
$(this).addClass("img_fix");
|
||||
} else if (img_width <= img_wrap && img_width >= $(this).data("width")) {
|
||||
$(this).removeClass("img_fix");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@ -73,7 +73,6 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
|
||||
</section>
|
||||
|
||||
<<<<<<< HEAD
|
||||
<?php if ($is_comment_write) {
|
||||
if($w == '')
|
||||
$w = 'c';
|
||||
@ -161,232 +160,146 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
} else {
|
||||
f.is_good.value = 0;
|
||||
}
|
||||
=======
|
||||
<?php
|
||||
if ($is_comment_write) {
|
||||
if($w == '') $w = 'c';
|
||||
?>
|
||||
<section id="bo_vc_w">
|
||||
<h2>댓글쓰기</h2>
|
||||
<form name="fviewcomment" action="./write_comment_update.php" onsubmit="return fviewcomment_submit(this);" method="post" autocomplete="off">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>" id="w">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_id ?>">
|
||||
<input type="hidden" name="comment_id" value="<?php echo $c_id ?>" id="comment_id">
|
||||
<input type="hidden" name="sca" value="<?php echo $sca ?>">
|
||||
<input type="hidden" name="sfl" value="<?php echo $sfl ?>">
|
||||
<input type="hidden" name="stx" value="<?php echo $stx ?>">
|
||||
<input type="hidden" name="spt" value="<?php echo $spt ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="is_good" value="">
|
||||
}
|
||||
|
||||
<table class="frm_tbl">
|
||||
<tbody>
|
||||
<?php if ($is_guest) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_name">이름<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="wr_name" id="wr_name" required class="frm_input required" size="5" maxLength="20"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_password">패스워드<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="password" name="wr_password" id="wr_password" required class="frm_input required" size="10" maxLength="20"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_secret">비밀글사용</label></th>
|
||||
<td><input type="checkbox" name="wr_secret" value="secret" id="wr_secret"></td>
|
||||
</tr>
|
||||
<?php if ($is_guest) { ?>
|
||||
<tr>
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td><?php echo $captcha_html; ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<tr>
|
||||
<th scope="row">내용</th>
|
||||
<td>
|
||||
<?php if ($comment_min || $comment_max) { ?><strong id="char_cnt"><span id="char_count"></span>글자</strong><?php } ?>
|
||||
<textarea id="wr_content" name="wr_content" maxlength="10000" required class="required" title="댓글 내용"
|
||||
<?php if ($comment_min || $comment_max) { ?>onkeyup="check_byte('wr_content', 'char_count');"<?php } ?>><?php echo $c_wr_content; ?></textarea>
|
||||
<?php if ($comment_min || $comment_max) { ?><script> check_byte('wr_content', 'char_count'); </script><?php } ?>
|
||||
<script>
|
||||
$("textarea#wr_content[maxlength]").live("keyup change", function() {
|
||||
var str = $(this).val()
|
||||
var mx = parseInt($(this).attr("maxlength"))
|
||||
if (str.length > mx) {
|
||||
$(this).val(str.substr(0, mx));
|
||||
return false;
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
function fviewcomment_submit(f)
|
||||
{
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="댓글등록" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
var save_before = '';
|
||||
var save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
|
||||
function good_and_write()
|
||||
{
|
||||
var f = document.fviewcomment;
|
||||
if (fviewcomment_submit(f)) {
|
||||
f.is_good.value = 1;
|
||||
f.submit();
|
||||
} else {
|
||||
f.is_good.value = 0;
|
||||
>>>>>>> master
|
||||
}
|
||||
}
|
||||
|
||||
function fviewcomment_submit(f)
|
||||
{
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
|
||||
f.is_good.value = 0;
|
||||
|
||||
/*
|
||||
var s;
|
||||
if (s = word_filter_check(document.getElementById('wr_content').value))
|
||||
{
|
||||
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
|
||||
document.getElementById('wr_content').focus();
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g4_bbs_url+"/filter.ajax.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": "",
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 양쪽 공백 없애기
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
|
||||
if (char_min > 0 || char_max > 0)
|
||||
{
|
||||
check_byte('wr_content', 'char_count');
|
||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||
if (char_min > 0 && char_min > cnt)
|
||||
/*
|
||||
var s;
|
||||
if (s = word_filter_check(document.getElementById('wr_content').value))
|
||||
{
|
||||
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
} else if (char_max > 0 && char_max < cnt)
|
||||
{
|
||||
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
alert("내용에 금지단어('"+s+"')가 포함되어있습니다");
|
||||
document.getElementById('wr_content').focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (!document.getElementById('wr_content').value)
|
||||
{
|
||||
alert("댓글을 입력하여 주십시오.");
|
||||
return false;
|
||||
}
|
||||
*/
|
||||
|
||||
if (typeof(f.wr_name) != 'undefined')
|
||||
{
|
||||
f.wr_name.value = f.wr_name.value.replace(pattern, "");
|
||||
if (f.wr_name.value == '')
|
||||
{
|
||||
alert('이름이 입력되지 않았습니다.');
|
||||
f.wr_name.focus();
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g4_bbs_url+"/filter.ajax.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": "",
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
f.wr_password.value = f.wr_password.value.replace(pattern, "");
|
||||
if (f.wr_password.value == '')
|
||||
// 양쪽 공백 없애기
|
||||
var pattern = /(^\s*)|(\s*$)/g; // \s 공백 문자
|
||||
document.getElementById('wr_content').value = document.getElementById('wr_content').value.replace(pattern, "");
|
||||
if (char_min > 0 || char_max > 0)
|
||||
{
|
||||
alert('패스워드가 입력되지 않았습니다.');
|
||||
f.wr_password.focus();
|
||||
check_byte('wr_content', 'char_count');
|
||||
var cnt = parseInt(document.getElementById('char_count').innerHTML);
|
||||
if (char_min > 0 && char_min > cnt)
|
||||
{
|
||||
alert("댓글은 "+char_min+"글자 이상 쓰셔야 합니다.");
|
||||
return false;
|
||||
} else if (char_max > 0 && char_max < cnt)
|
||||
{
|
||||
alert("댓글은 "+char_max+"글자 이하로 쓰셔야 합니다.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else if (!document.getElementById('wr_content').value)
|
||||
{
|
||||
alert("댓글을 입력하여 주십시오.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
<?php if($is_guest) echo chk_captcha_js(); ?>
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function comment_box(comment_id, work)
|
||||
{
|
||||
var el_id;
|
||||
// 댓글 아이디가 넘어오면 답변, 수정
|
||||
if (comment_id)
|
||||
{
|
||||
if (work == 'c')
|
||||
el_id = 'reply_' + comment_id;
|
||||
else
|
||||
el_id = 'edit_' + comment_id;
|
||||
}
|
||||
else
|
||||
el_id = 'bo_vc_w';
|
||||
|
||||
if (save_before != el_id)
|
||||
{
|
||||
if (save_before)
|
||||
if (typeof(f.wr_name) != 'undefined')
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
document.getElementById(save_before).innerHTML = '';
|
||||
f.wr_name.value = f.wr_name.value.replace(pattern, "");
|
||||
if (f.wr_name.value == '')
|
||||
{
|
||||
alert('이름이 입력되지 않았습니다.');
|
||||
f.wr_name.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
document.getElementById(el_id).style.display = '';
|
||||
document.getElementById(el_id).innerHTML = save_html;
|
||||
// 댓글 수정
|
||||
if (work == 'cu')
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
|
||||
if (typeof char_count != 'undefined')
|
||||
check_byte('wr_content', 'char_count');
|
||||
if (document.getElementById('secret_comment_'+comment_id).value)
|
||||
document.getElementById('wr_secret').checked = true;
|
||||
f.wr_password.value = f.wr_password.value.replace(pattern, "");
|
||||
if (f.wr_password.value == '')
|
||||
{
|
||||
alert('패스워드가 입력되지 않았습니다.');
|
||||
f.wr_password.focus();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
<?php if($is_guest) echo chk_captcha_js(); ?>
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function comment_box(comment_id, work)
|
||||
{
|
||||
var el_id;
|
||||
// 댓글 아이디가 넘어오면 답변, 수정
|
||||
if (comment_id)
|
||||
{
|
||||
if (work == 'c')
|
||||
el_id = 'reply_' + comment_id;
|
||||
else
|
||||
document.getElementById('wr_secret').checked = false;
|
||||
el_id = 'edit_' + comment_id;
|
||||
}
|
||||
else
|
||||
el_id = 'bo_vc_w';
|
||||
|
||||
document.getElementById('comment_id').value = comment_id;
|
||||
document.getElementById('w').value = work;
|
||||
if (save_before != el_id)
|
||||
{
|
||||
if (save_before)
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
document.getElementById(save_before).innerHTML = '';
|
||||
}
|
||||
|
||||
save_before = el_id;
|
||||
document.getElementById(el_id).style.display = '';
|
||||
document.getElementById(el_id).innerHTML = save_html;
|
||||
// 댓글 수정
|
||||
if (work == 'cu')
|
||||
{
|
||||
document.getElementById('wr_content').value = document.getElementById('save_comment_' + comment_id).value;
|
||||
if (typeof char_count != 'undefined')
|
||||
check_byte('wr_content', 'char_count');
|
||||
if (document.getElementById('secret_comment_'+comment_id).value)
|
||||
document.getElementById('wr_secret').checked = true;
|
||||
else
|
||||
document.getElementById('wr_secret').checked = false;
|
||||
}
|
||||
|
||||
document.getElementById('comment_id').value = comment_id;
|
||||
document.getElementById('w').value = work;
|
||||
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
</script>
|
||||
<?php } ?>
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
</script>
|
||||
<?php } ?>
|
||||
|
||||
@ -4,7 +4,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
<link rel="stylesheet" href="<?php echo $board_skin_url ?>/style.css">
|
||||
|
||||
<h1 id="container_title"><?php echo $g4['title'] ?></h1>
|
||||
<h1 id="wrapper_title"><?php echo $g4['title'] ?></h1>
|
||||
|
||||
<form name="fwrite" id="fwrite" action="<?php echo $action_url ?>" onsubmit="return fwrite_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off" style="width:<?php echo $width; ?>">
|
||||
<input type="hidden" name="w" value="<?php echo $w ?>">
|
||||
@ -147,7 +147,7 @@ echo $option_hidden;
|
||||
<p>
|
||||
작성하신 내용을 제출하시려면 <strong>글쓰기</strong> 버튼을, 작성을 취소하고 목록으로 돌아가시려면 <strong>취소</strong> 링크를 누르세요.
|
||||
</p>
|
||||
<input type="submit" value="글쓰기" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
<input type="submit" value="글쓰기" id="btn_submit" accesskey="s" class="btn_submit">
|
||||
<a href="./board.php?bo_table=<?php echo $bo_table ?>" class="btn_cancel">취소</a>
|
||||
</div>
|
||||
</form>
|
||||
@ -218,8 +218,6 @@ function fwrite_submit(f)
|
||||
|
||||
<?php echo $captcha_js; // 캡챠 사용시 자바스크립트에서 입력된 캡챠를 검사함 ?>
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user