테마기능 추가
@ -12,11 +12,30 @@ if (!get_session('ss_admin')) {
|
||||
// 스킨디렉토리를 SELECT 형식으로 얻음
|
||||
function get_skin_select($skin_gubun, $id, $name, $selected='', $event='')
|
||||
{
|
||||
$skins = get_skin_dir($skin_gubun);
|
||||
global $config;
|
||||
|
||||
$skins = array();
|
||||
|
||||
if(defined('G5_THEME_PATH') && $config['cf_theme']) {
|
||||
$dirs = get_skin_dir($skin_gubun, G5_THEME_PATH.'/'.G5_SKIN_DIR);
|
||||
if(!empty($dirs)) {
|
||||
foreach($dirs as $dir) {
|
||||
$skins[] = 'theme/'.$dir;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$skins = array_merge($skins, get_skin_dir($skin_gubun));
|
||||
|
||||
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
||||
for ($i=0; $i<count($skins); $i++) {
|
||||
if ($i == 0) $str .= "<option value=\"\">선택</option>";
|
||||
$str .= option_selected($skins[$i], $selected);
|
||||
if(preg_match('#^theme/(.+)$#', $skins[$i], $match))
|
||||
$text = '(테마) '.$match[1];
|
||||
else
|
||||
$text = $skins[$i];
|
||||
|
||||
$str .= option_selected($skins[$i], $selected, $text);
|
||||
}
|
||||
$str .= "</select>";
|
||||
return $str;
|
||||
@ -25,11 +44,30 @@ function get_skin_select($skin_gubun, $id, $name, $selected='', $event='')
|
||||
// 모바일 스킨디렉토리를 SELECT 형식으로 얻음
|
||||
function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event='')
|
||||
{
|
||||
$skins = get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
global $config;
|
||||
|
||||
$skins = array();
|
||||
|
||||
if(defined('G5_THEME_PATH') && $config['cf_theme']) {
|
||||
$dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
if(!empty($dirs)) {
|
||||
foreach($dirs as $dir) {
|
||||
$skins[] = 'theme/'.$dir;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR));
|
||||
|
||||
$str = "<select id=\"$id\" name=\"$name\" $event>\n";
|
||||
for ($i=0; $i<count($skins); $i++) {
|
||||
if ($i == 0) $str .= "<option value=\"\">선택</option>";
|
||||
$str .= option_selected($skins[$i], $selected);
|
||||
if(preg_match('#^theme/(.+)$#', $skins[$i], $match))
|
||||
$text = '(테마) '.$match[1];
|
||||
else
|
||||
$text = $skins[$i];
|
||||
|
||||
$str .= option_selected($skins[$i], $selected, $text);
|
||||
}
|
||||
$str .= "</select>";
|
||||
return $str;
|
||||
@ -44,6 +82,9 @@ function get_skin_dir($skin, $skin_path=G5_SKIN_PATH)
|
||||
$result_array = array();
|
||||
|
||||
$dirname = $skin_path.'/'.$skin.'/';
|
||||
if(!is_dir($dirname))
|
||||
return;
|
||||
|
||||
$handle = opendir($dirname);
|
||||
while ($file = readdir($handle)) {
|
||||
if($file == '.'||$file == '..') continue;
|
||||
@ -57,6 +98,101 @@ function get_skin_dir($skin, $skin_path=G5_SKIN_PATH)
|
||||
}
|
||||
|
||||
|
||||
// 테마
|
||||
function get_theme_dir()
|
||||
{
|
||||
$result_array = array();
|
||||
|
||||
$dirname = G5_PATH.'/'.G5_THEME_DIR.'/';
|
||||
$handle = opendir($dirname);
|
||||
while ($file = readdir($handle)) {
|
||||
if($file == '.'||$file == '..') continue;
|
||||
|
||||
if (is_dir($dirname.$file)) {
|
||||
$theme_path = $dirname.$file;
|
||||
if(is_file($theme_path.'/index.php') && is_file($theme_path.'/head.php') && is_file($theme_path.'/tail.php'))
|
||||
$result_array[] = $file;
|
||||
}
|
||||
}
|
||||
closedir($handle);
|
||||
natsort($result_array);
|
||||
|
||||
return $result_array;
|
||||
}
|
||||
|
||||
|
||||
// 테마정보
|
||||
function get_theme_info($dir)
|
||||
{
|
||||
$info = array();
|
||||
$path = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir;
|
||||
|
||||
if(is_dir($path)) {
|
||||
$screenshot = $path.'/screenshot.png';
|
||||
if(is_file($screenshot)) {
|
||||
$size = @getimagesize($screenshot);
|
||||
|
||||
if($size[2] == 3)
|
||||
$screenshot_url = str_replace(G5_PATH, G5_URL, $screenshot);
|
||||
}
|
||||
|
||||
$info['screenshot'] = $screenshot_url;
|
||||
|
||||
$text = $path.'/readme.txt';
|
||||
if(is_file($text)) {
|
||||
$content = file($text, false);
|
||||
$content = array_map('trim', $content);
|
||||
|
||||
preg_match('#^Theme Name:(.+)$#i', $content[0], $m0);
|
||||
preg_match('#^Theme URI:(.+)$#i', $content[1], $m1);
|
||||
preg_match('#^Maker:(.+)$#i', $content[2], $m2);
|
||||
preg_match('#^Maker URI:(.+)$#i', $content[3], $m3);
|
||||
preg_match('#^Version:(.+)$#i', $content[4], $m4);
|
||||
preg_match('#^Detail:(.+)$#i', $content[5], $m5);
|
||||
preg_match('#^License:(.+)$#i', $content[6], $m6);
|
||||
preg_match('#^License URI:(.+)$#i', $content[7], $m7);
|
||||
|
||||
$info['theme_name'] = trim($m0[1]);
|
||||
$info['theme_uri'] = trim($m1[1]);
|
||||
$info['maker'] = trim($m2[1]);
|
||||
$info['maker_uri'] = trim($m3[1]);
|
||||
$info['version'] = trim($m4[1]);
|
||||
$info['detail'] = trim($m5[1]);
|
||||
$info['license'] = trim($m6[1]);
|
||||
$info['license_uri'] = trim($m7[1]);
|
||||
}
|
||||
|
||||
if(!$info['theme_name'])
|
||||
$info['theme_name'] = $dir;
|
||||
}
|
||||
|
||||
return $info;
|
||||
}
|
||||
|
||||
|
||||
// 테마설정 정보
|
||||
function get_theme_config_value($dir, $key='*')
|
||||
{
|
||||
$tconfig = array();
|
||||
|
||||
$theme_config_file = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir.'/theme.config.php';
|
||||
if(is_file) {
|
||||
include($theme_config_file);
|
||||
|
||||
if($key == '*') {
|
||||
$tconfig = $theme_config;
|
||||
} else {
|
||||
$keys = array_map('trim', explode(',', $key));
|
||||
foreach($keys as $v) {
|
||||
$tconfig[$v] = trim($theme_config[$v]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $tconfig;
|
||||
}
|
||||
|
||||
|
||||
// 회원권한을 SELECT 형식으로 얻음
|
||||
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="")
|
||||
{
|
||||
@ -95,26 +231,48 @@ function get_member_id_select($name, $level, $selected="", $event="")
|
||||
}
|
||||
|
||||
// 권한 검사
|
||||
function auth_check($auth, $attr)
|
||||
function auth_check($auth, $attr, $return=false)
|
||||
{
|
||||
global $is_admin;
|
||||
|
||||
if ($is_admin == 'super') return;
|
||||
|
||||
if (!trim($auth))
|
||||
alert('이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.');
|
||||
if (!trim($auth)) {
|
||||
$msg = '이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.';
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg);
|
||||
}
|
||||
|
||||
$attr = strtolower($attr);
|
||||
|
||||
if (!strstr($auth, $attr)) {
|
||||
if ($attr == 'r')
|
||||
alert('읽을 권한이 없습니다.');
|
||||
else if ($attr == 'w')
|
||||
alert('입력, 추가, 생성, 수정 권한이 없습니다.');
|
||||
else if ($attr == 'd')
|
||||
alert('삭제 권한이 없습니다.');
|
||||
else
|
||||
alert('속성이 잘못 되었습니다.');
|
||||
if ($attr == 'r') {
|
||||
$msg = '읽을 권한이 없습니다.';
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg);
|
||||
} else if ($attr == 'w') {
|
||||
$msg = '입력, 추가, 생성, 수정 권한이 없습니다.';
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg);
|
||||
} else if ($attr == 'd') {
|
||||
$msg = '삭제 권한이 없습니다.';
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg);
|
||||
} else {
|
||||
$msg = '속성이 잘못 되었습니다.';
|
||||
if($return)
|
||||
return $msg;
|
||||
else
|
||||
alert($msg);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -3,6 +3,7 @@ $menu['menu100'] = array (
|
||||
array('100000', '환경설정', G5_ADMIN_URL.'/config_form.php', 'config'),
|
||||
array('', '기본환경설정', G5_ADMIN_URL.'/config_form.php', 'cf_basic'),
|
||||
array('', '관리권한설정', G5_ADMIN_URL.'/auth_list.php', 'cf_auth'),
|
||||
array('', '테마설정', G5_ADMIN_URL.'/theme.php', 'cf_theme', 1),
|
||||
array('', '메뉴설정', G5_ADMIN_URL.'/menu_list.php', 'cf_menu', 1),
|
||||
array('100300', '메일 테스트', G5_ADMIN_URL.'/sendmail_test.php', 'cf_mailtest'),
|
||||
array('100310', '팝업레이어관리', G5_ADMIN_URL.'/newwinlist.php', 'scf_poplayer'),
|
||||
|
||||
@ -153,10 +153,9 @@ $pg_anchor = '<ul class="anchor">
|
||||
$frm_submit = '<div class="btn_confirm01 btn_confirm">
|
||||
<input type="submit" value="확인" class="btn_submit" accesskey="s">
|
||||
<a href="./board_list.php?'.$qstr.'">목록</a>'.PHP_EOL;
|
||||
if ($w == 'u') $frm_submit .= ' <a href="./board_copy.php?bo_table='.$bo_table.'" id="board_copy" target="win_board_copy">게시판복사</a>
|
||||
if ($w == 'u') $frm_submit .= '<a href="./board_copy.php?bo_table='.$bo_table.'" id="board_copy" target="win_board_copy">게시판복사</a>
|
||||
<a href="'.G5_BBS_URL.'/board.php?bo_table='.$board['bo_table'].'" class="btn_frmline">게시판 바로가기</a>
|
||||
<a href="./board_thumbnail_delete.php?bo_table='.$board['bo_table'].'&'.$qstr.'" onclick="return delete_confirm2(\'게시판 썸네일 파일을 삭제하시겠습니까?\');">게시판 썸네일 삭제</a>
|
||||
'.PHP_EOL;
|
||||
<a href="./board_thumbnail_delete.php?bo_table='.$board['bo_table'].'&'.$qstr.'" onclick="return delete_confirm2(\'게시판 썸네일 파일을 삭제하시겠습니까?\');">게시판 썸네일 삭제</a>'.PHP_EOL;
|
||||
$frm_submit .= '</div>';
|
||||
?>
|
||||
|
||||
@ -1118,7 +1117,7 @@ $frm_submit .= '</div>';
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_galc">테마 갤러리설정 가져오기</button></div>', $frm_submit); ?>
|
||||
|
||||
<section id="anc_bo_point">
|
||||
<h2 class="h2_frm">게시판 포인트 설정</h2>
|
||||
@ -1240,6 +1239,37 @@ $(function(){
|
||||
window.open(this.href, "win_board_copy", "left=10,top=10,width=500,height=400");
|
||||
return false;
|
||||
});
|
||||
|
||||
$(".get_theme_galc").on("click", function() {
|
||||
if(!confirm("현재 테마의 갤러리 이미지 설정을 적용하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./theme_config_load.php",
|
||||
cache: false,
|
||||
async: false,
|
||||
data: { type: "board" },
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
var field = Array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height');
|
||||
var count = field.length;
|
||||
var key;
|
||||
|
||||
for(i=0; i<count; i++) {
|
||||
key = field[i];
|
||||
|
||||
if(data[key] != undefined && data[key] != "")
|
||||
$("input[name="+key+"]").val(data[key]);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function board_copy(bo_table) {
|
||||
|
||||
@ -341,105 +341,41 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_new_skin">최근게시물 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_new_skin" id="cf_new_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('new');
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_new_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_skin_select('new', 'cf_new_skin', 'cf_new_skin', $config['cf_new_skin'], 'required'); ?>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_mobile_new_skin">모바일<br>최근게시물 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_mobile_new_skin" id="cf_mobile_new_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('new', G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_mobile_new_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_mobile_skin_select('new', 'cf_mobile_new_skin', 'cf_mobile_new_skin', $config['cf_mobile_new_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_search_skin">검색 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_search_skin" id="cf_search_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('search');
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_search_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_skin_select('search', 'cf_search_skin', 'cf_search_skin', $config['cf_search_skin'], 'required'); ?>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_mobile_search_skin">모바일 검색 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_mobile_search_skin" id="cf_mobile_search_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('search', G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_mobile_search_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_mobile_skin_select('search', 'cf_mobile_search_skin', 'cf_mobile_search_skin', $config['cf_mobile_search_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_connect_skin">접속자 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_connect_skin" id="cf_connect_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('connect');
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_connect_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_skin_select('connect', 'cf_connect_skin', 'cf_connect_skin', $config['cf_connect_skin'], 'required'); ?>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_mobile_connect_skin">모바일 접속자 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_mobile_connect_skin" id="cf_mobile_connect_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('connect', G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_mobile_connect_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_mobile_skin_select('connect', 'cf_mobile_connect_skin', 'cf_mobile_connect_skin', $config['cf_mobile_connect_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_faq_skin">FAQ 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_faq_skin" id="cf_faq_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('faq');
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_faq_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_skin_select('faq', 'cf_faq_skin', 'cf_faq_skin', $config['cf_faq_skin'], 'required'); ?>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_mobile_faq_skin">모바일 FAQ 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_mobile_faq_skin" id="cf_mobile_faq_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('faq', G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo "<option value=\"".$arr[$i]."\"".get_selected($config['cf_mobile_faq_skin'], $arr[$i]).">".$arr[$i]."</option>\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_mobile_skin_select('faq', 'cf_mobile_faq_skin', 'cf_mobile_faq_skin', $config['cf_mobile_faq_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -532,7 +468,7 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_confc" data-type="conf_skin">테마 스킨설정 가져오기</button></div>', $frm_submit); ?>
|
||||
|
||||
<section id="anc_cf_board">
|
||||
<h2 class="h2_frm">게시판 기본 설정</h2>
|
||||
@ -636,27 +572,11 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
<tr>
|
||||
<th scope="row"><label for="cf_member_skin">회원 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_member_skin" id="cf_member_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('member');
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo '<option value="'.$arr[$i].'"'.get_selected($config['cf_member_skin'], $arr[$i]).'>'.$arr[$i].'</option>'."\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_skin_select('member', 'cf_member_skin', 'cf_member_skin', $config['cf_member_skin'], 'required'); ?>
|
||||
</td>
|
||||
<th scope="row"><label for="cf_mobile_member_skin">모바일<br>회원 스킨<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select name="cf_mobile_member_skin" id="cf_mobile_member_skin" required class="required">
|
||||
<?php
|
||||
$arr = get_skin_dir('member', G5_MOBILE_PATH.'/'.G5_SKIN_DIR);
|
||||
for ($i=0; $i<count($arr); $i++) {
|
||||
if ($i == 0) echo "<option value=\"\">선택</option>";
|
||||
echo '<option value="'.$arr[$i].'"'.get_selected($config['cf_mobile_member_skin'], $arr[$i]).'>'.$arr[$i].'</option>'."\n";
|
||||
}
|
||||
?>
|
||||
</select>
|
||||
<?php echo get_mobile_skin_select('member', 'cf_mobile_member_skin', 'cf_mobile_member_skin', $config['cf_mobile_member_skin'], 'required'); ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -761,7 +681,7 @@ if ($config['cf_icode_id'] && $config['cf_icode_pw']) {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<?php echo $frm_submit; ?>
|
||||
<?php echo preg_replace('#</div>$#i', '<button type="button" class="get_theme_confc" data-type="conf_member">테마 회원스킨설정 가져오기</button></div>', $frm_submit); ?>
|
||||
|
||||
<section id="anc_cf_cert">
|
||||
<h2 class="h2_frm">본인확인 설정</h2>
|
||||
@ -1250,6 +1170,42 @@ $(function(){
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(".get_theme_confc").on("click", function() {
|
||||
var type = $(this).data("type");
|
||||
var msg = "기본환경 스킨 설정";
|
||||
if(type == "conf_member")
|
||||
msg = "기본환경 회원스킨 설정";
|
||||
|
||||
if(!confirm("현재 테마의 "+msg+"을 적용하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./theme_config_load.php",
|
||||
cache: false,
|
||||
async: false,
|
||||
data: { type: type },
|
||||
dataType: "json",
|
||||
success: function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
var field = Array('cf_member_skin', 'cf_mobile_member_skin', 'cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin');
|
||||
var count = field.length;
|
||||
var key;
|
||||
|
||||
for(i=0; i<count; i++) {
|
||||
key = field[i];
|
||||
|
||||
if(data[key] != undefined && data[key] != "")
|
||||
$("select[name="+key+"]").val(data[key]);
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
function fconfigform_submit(f)
|
||||
|
||||
@ -714,3 +714,37 @@ strong.sodr_nonpay {display:block;padding:5px 0;text-align:right}
|
||||
.sevice_2 .svc_sms .svc_btn a{display:inline-block; background:#f8f8f8;width:100%;text-align:center;margin:0;padding:10px 0 0 }
|
||||
.sevice_2 .svc_design{overflow:hidden;height:210px;position:relative}
|
||||
.sevice_2 .svc_design .svc_btn a{margin:0 0 20px}
|
||||
|
||||
/*테마*/
|
||||
.theme_p{padding:0 20px}
|
||||
#theme_list{padding:0;margin:0 10px;list-style:none; width: 1000px;position:relative}
|
||||
#theme_list:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_list li{padding:10px;margin:0;float:left;width:302px}
|
||||
#theme_list li:after{display:block;visibility:hidden;clear:both;content:""}
|
||||
#theme_list li .tmli_if{border: 1px solid #d1dee2;width:300px;}
|
||||
#theme_list li .tmli_if>img{width:300px;height:225px;}
|
||||
#theme_list li .tmli_if:hover>img{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";filter: alpha(opacity=50);-moz-opacity:0.5;-khtml-opacity: 0.5;opacity: 0.5;}
|
||||
#theme_list li .tmli_tit{position:relative; border-top: 1px solid #d1dee2; background: #e5ecef;}
|
||||
#theme_list li .tmli_tit p{height:40px;line-height:40px;padding:0 10px 0;font-weight:bold;text-overflow: ellipsis; overflow: hidden; white-space: nowrap;}
|
||||
#theme_list li .tmli_tit button.tmli_dt{position:absolute;top:8px;right:10px;padding:5px;background:#111;color:#fff;display:none;border:none}
|
||||
#theme_list li .tmli_if:hover button.tmli_dt{display:block}
|
||||
#theme_list li .theme_sl{float:left;border:none;margin-top:5px;padding:0 5px;height:26px;background:#999;color:#fff}
|
||||
#theme_list li .theme_sl:hover{background:#ff3061}
|
||||
#theme_list li .theme_deactive{margin-left:4px}
|
||||
#theme_list li .theme_sl_use{background:#ff3061;line-height:26px}
|
||||
#theme_list li .theme_pr{float:right;margin-top:5px;padding:0 5px;height:24px;line-height:24px; border: 1px solid #ccc; background: #fafafa; }
|
||||
#theme_list li .theme_preview{ float: right; margin-top: 5px; padding:0 5px;height:26px; border: 1px solid #ccc; background: #fafafa; margin-right:3px}
|
||||
|
||||
#theme_detail{position:fixed;_position:absolute;top:50%;left:20px;_top:300px;width:950px;height:490px;margin-top:-245px;background:#fff;border:1px solid #000;z-index:99999;}
|
||||
#theme_detail .thdt_img{padding:20px 0 20px 20px;float:left;}
|
||||
#theme_detail .thdt_img img{width:600px;height:450px;}
|
||||
#theme_detail .thdt_if{float:right;width:290px;padding:40px 20px 0 0;position:relative}
|
||||
#theme_detail .thdt_if h2{padding:0 ;margin:0}
|
||||
#theme_detail .thdt_if p{font-weight:normal;padding:10px;background:#f5f5f5;height:250px;overflow-y:auto;}
|
||||
#theme_detail .thdt_if a{vertical-align:middle;}
|
||||
#theme_detail .thdt_if .thdt_home{background:url(../img/link_icon.gif) no-repeat bottom right;padding-right:13px;}
|
||||
#theme_detail .close_btn{position:absolute;top:10px;right:10px;background:url(../img/close.gif) no-repeat 50% 50%;border:none;width:30px;height:30px;overflow:hidden;text-indent:-9999px;}
|
||||
#theme_detail table{border-collapse:collapse;margin:5px 0 10px}
|
||||
#theme_detail table th{padding: 5px 0; border: 1px solid #d1dee2; background: #e5ecef;width:50px;padding:10px;text-align:left}
|
||||
#theme_detail table td{ border: 1px solid #ececec;padding:10px}
|
||||
.no_theme{text-align:center;padding:100px 0;color:#555}
|
||||
8
adm/css/theme.css
Normal file
@ -0,0 +1,8 @@
|
||||
@charset "utf-8";
|
||||
#preview_item{height:50px}
|
||||
#preview_item ul{margin:0;padding:0;top:0;width:100%;border-bottom:1px solid #eee; margin:0 auto;text-align:center;background:#333;position:fixed;top:0;z-index:999999;width:100%;}
|
||||
#preview_item ul li{list-style:none;display:inline-block;height:50px;line-height:50px;padding:0 3px;*display:inline; zoom:1;}
|
||||
#preview_item ul li a{color:#555;padding:0 8px;height:24px;line-height:24px;background:#f2f2f2;border-radius:3px;display:inline-block;vertical-align:middle;border:1px solid #dcdcdc;}
|
||||
#preview_item ul li a:hover{background:#ccc;text-decoration:none;border:1px solid #ccc;}
|
||||
#preview_item ul li button{color:#fff;padding:0 8px;background:#FF5191;border-radius:3px;height:26px;line-height:24px;vertical-align:middle;border:none}
|
||||
#preview_item ul li button:hover{background:#e40d5c;color:#fff;text-decoration:none;}
|
||||
BIN
adm/img/close.gif
Normal file
|
After Width: | Height: | Size: 200 B |
BIN
adm/img/link_icon.gif
Normal file
|
After Width: | Height: | Size: 53 B |
BIN
adm/img/theme_img.jpg
Normal file
|
After Width: | Height: | Size: 7.8 KiB |
@ -52,14 +52,14 @@ $(function() {
|
||||
);
|
||||
});
|
||||
|
||||
$("#add_manual").live("click", function() {
|
||||
$(document).on("click", "#add_manual", function() {
|
||||
var me_name = $.trim($("#me_name").val());
|
||||
var me_link = $.trim($("#me_link").val());
|
||||
|
||||
add_menu_list(me_name, me_link, "<?php echo $code; ?>");
|
||||
});
|
||||
|
||||
$(".add_select").live("click", function() {
|
||||
$(document).on("click", ".add_select", function() {
|
||||
var me_name = $.trim($(this).siblings("input[name='subject[]']").val());
|
||||
var me_link = $.trim($(this).siblings("input[name='link[]']").val());
|
||||
|
||||
|
||||
@ -136,12 +136,12 @@ $colspan = 7;
|
||||
|
||||
<script>
|
||||
$(function() {
|
||||
$(".btn_add_submenu").live("click", function() {
|
||||
$(document).on("click", ".btn_add_submenu", function() {
|
||||
var code = $(this).closest("tr").find("input[name='code[]']").val().substr(0, 2);
|
||||
add_submenu(code);
|
||||
});
|
||||
|
||||
$(".btn_del_menu").live("click", function() {
|
||||
$(document).on("click", ".btn_del_menu", function() {
|
||||
if(!confirm("메뉴를 삭제하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
|
||||
80
adm/theme.js
Normal file
@ -0,0 +1,80 @@
|
||||
$(function() {
|
||||
$(".theme_active").on("click", function() {
|
||||
var theme = $(this).data("theme");
|
||||
var name = $(this).data("name");
|
||||
|
||||
if(!confirm(name+" 테마를 적용하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
var set_default_skin = 0;
|
||||
if($(this).data("set_default_skin") == true) {
|
||||
if(confirm("기본환경설정의 스킨을 테마에서 설정된 스킨으로 변경하시겠습니까?"))
|
||||
set_default_skin = 1;
|
||||
}
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./theme_update.php",
|
||||
data: {
|
||||
"theme": theme,
|
||||
"set_default_skin": set_default_skin
|
||||
},
|
||||
cache: false,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
if(data) {
|
||||
alert(data);
|
||||
return false;
|
||||
}
|
||||
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".theme_deactive").on("click", function() {
|
||||
var theme = $(this).data("theme");
|
||||
var name = $(this).data("name");
|
||||
|
||||
if(!confirm(name+" 테마 사용설정을 해제하시겠습니까?"))
|
||||
return false;
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./theme_update.php",
|
||||
data: {
|
||||
"theme": theme,
|
||||
"type": "reset"
|
||||
},
|
||||
cache: false,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
if(data) {
|
||||
alert(data);
|
||||
return false;
|
||||
}
|
||||
|
||||
document.location.reload();
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(".theme_preview").on("click", function() {
|
||||
var theme = $(this).data("theme");
|
||||
|
||||
$("#theme_detail").remove();
|
||||
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "./theme_detail.php",
|
||||
data: {
|
||||
"theme": theme
|
||||
},
|
||||
cache: false,
|
||||
async: false,
|
||||
success: function(data) {
|
||||
$("#theme_list").after(data);
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
77
adm/theme.php
Normal file
@ -0,0 +1,77 @@
|
||||
<?php
|
||||
$sub_menu = "100280";
|
||||
include_once('./_common.php');
|
||||
|
||||
if ($is_admin != 'super')
|
||||
alert('최고관리자만 접근 가능합니다.');
|
||||
|
||||
// 테마 필드 추가
|
||||
if(!isset($config['cf_theme'])) {
|
||||
sql_query(" ALTER TABLE `{$g5['config_table']}`
|
||||
ADD `cf_theme` varchar(255) NOT NULL DEFAULT '' AFTER `cf_title` ", true);
|
||||
}
|
||||
|
||||
$theme = get_theme_dir();
|
||||
if($config['cf_theme'] && in_array($config['cf_theme'], $theme))
|
||||
array_unshift($theme, $config['cf_theme']);
|
||||
$theme = array_values(array_unique($theme));
|
||||
$total_count = count($theme);
|
||||
|
||||
// 설정된 테마가 존재하지 않는다면 cf_theme 초기화
|
||||
if($config['cf_theme'] && !in_array($config['cf_theme'], $theme))
|
||||
sql_query(" update {$g5['config_table']} set cf_theme = '' ");
|
||||
|
||||
$g5['title'] = "테마설정";
|
||||
include_once('./admin.head.php');
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_ADMIN_URL; ?>/theme.js"></script>
|
||||
|
||||
<p class="theme_p">설치된 테마 : <?php echo number_format($total_count); ?></p>
|
||||
|
||||
<?php if($total_count > 0) { ?>
|
||||
<ul id="theme_list">
|
||||
<?php
|
||||
for($i=0; $i<$total_count; $i++) {
|
||||
$info = get_theme_info($theme[$i]);
|
||||
|
||||
$name = get_text($info['theme_name']);
|
||||
if($info['screenshot'])
|
||||
$screenshot = '<img src="'.$info['screenshot'].'" alt="'.$name.'">';
|
||||
else
|
||||
$screenshot = '<img src="'.G5_ADMIN_URL.'/img/theme_img.jpg" alt="">';
|
||||
|
||||
if($config['cf_theme'] == $theme[$i]) {
|
||||
$btn_active = '<span class="theme_sl theme_sl_use">사용중</span><button type="button" class="theme_sl theme_deactive" data-theme="'.$theme[$i].'" '.'data-name="'.$name.'">사용안함</button>';
|
||||
} else {
|
||||
$tconfig = get_theme_config_value($theme[$i], 'set_default_skin');
|
||||
if($tconfig['set_default_skin'])
|
||||
$set_default_skin = 'true';
|
||||
else
|
||||
$set_default_skin = 'false';
|
||||
|
||||
$btn_active = '<button type="button" class="theme_sl theme_active" data-theme="'.$theme[$i].'" '.'data-name="'.$name.'" data-set_default_skin="'.$set_default_skin.'">테마적용</button>';
|
||||
}
|
||||
?>
|
||||
<li>
|
||||
<div class="tmli_if">
|
||||
<?php echo $screenshot; ?>
|
||||
<div class="tmli_tit">
|
||||
<p><?php echo get_text($info['theme_name']); ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<?php echo $btn_active; ?>
|
||||
<a href="./theme_preview.php?theme=<?php echo $theme[$i]; ?>" class="theme_pr" target="theme_preview">미리보기</a>
|
||||
<button type="button" class="tmli_dt theme_preview" data-theme="<?php echo $theme[$i]; ?>">상세보기</button>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
<?php } else { ?>
|
||||
<p class="no_theme">설치된 테마가 없습니다.</p>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
include_once ('./admin.tail.php');
|
||||
?>
|
||||
78
adm/theme_config_load.php
Normal file
@ -0,0 +1,78 @@
|
||||
<?php
|
||||
$sub_menu = "300100";
|
||||
include_once('./_common.php');
|
||||
include_once(G5_LIB_PATH.'/json.lib.php');
|
||||
|
||||
$data = array();
|
||||
$data['error'] = '';
|
||||
|
||||
$data['error'] = auth_check($auth[$sub_menu], 'w', true);
|
||||
if($data['error'])
|
||||
die(json_encode($data));
|
||||
|
||||
if(!$config['cf_theme']) {
|
||||
$data['error'] = '사용 중인 테마가 없습니다.';
|
||||
die(json_encode($data));
|
||||
}
|
||||
|
||||
$theme_dir = get_theme_dir();
|
||||
if(!in_array($config['cf_theme'], $theme_dir)) {
|
||||
$data['error'] = $config['cf_theme'].' 테마는 설치된 테마가 아닙니다.';
|
||||
die(json_encode($data));
|
||||
}
|
||||
|
||||
$type = $_POST['type'];
|
||||
$arr_type = array('board', 'conf_skin', 'conf_member');
|
||||
if(!in_array($type, $arr_type)) {
|
||||
$data['error'] = '올바른 방법으로 이용해 주십시오.';
|
||||
die(json_encode($data));
|
||||
}
|
||||
|
||||
if($type == 'board') {
|
||||
$keys = array('bo_gallery_cols', 'bo_gallery_width', 'bo_gallery_height', 'bo_mobile_gallery_width', 'bo_mobile_gallery_height');
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
$i = 0;
|
||||
foreach($keys as $val) {
|
||||
if($tconfig[$val]) {
|
||||
$data[$val] = (int)preg_replace('#[^0-9]#', '', $tconfig[$val]);
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 갤러리 이미지 설정이 없습니다.';
|
||||
} else if($type == 'conf_skin') {
|
||||
$keys = array('cf_new_skin', 'cf_mobile_new_skin', 'cf_search_skin', 'cf_mobile_search_skin', 'cf_connect_skin', 'cf_mobile_connect_skin', 'cf_faq_skin', 'cf_mobile_faq_skin');
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
$i = 0;
|
||||
foreach($keys as $val) {
|
||||
if($tconfig[$val]) {
|
||||
$data[$val] = preg_match('#^theme/.+$#', $tconfig[$val]) ? $tconfig[$val] : 'theme/'.$tconfig[$val];
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 기본환경 스킨 설정이 없습니다.';
|
||||
} else if($type == 'conf_member') {
|
||||
$keys = array('cf_member_skin', 'cf_mobile_member_skin');
|
||||
|
||||
$tconfig = get_theme_config_value($config['cf_theme'], implode(',', $keys));
|
||||
|
||||
$i = 0;
|
||||
foreach($keys as $val) {
|
||||
if($tconfig[$val]) {
|
||||
$data[$val] = preg_match('#^theme/.+$#', $tconfig[$val]) ? $tconfig[$val] : 'theme/'.$tconfig[$val];
|
||||
$i++;
|
||||
}
|
||||
}
|
||||
|
||||
if($i == 0)
|
||||
$data['error'] = '적용할 기본환경 회원스킨 설정이 없습니다.';
|
||||
}
|
||||
|
||||
die(json_encode($data));
|
||||
?>
|
||||
64
adm/theme_detail.php
Normal file
@ -0,0 +1,64 @@
|
||||
<?php
|
||||
$sub_menu = "100280";
|
||||
include_once('./_common.php');
|
||||
|
||||
if ($is_admin != 'super')
|
||||
die('최고관리자만 접근 가능합니다.');
|
||||
|
||||
$theme = trim($_POST['theme']);
|
||||
$theme_dir = get_theme_dir();
|
||||
|
||||
if(!in_array($theme, $theme_dir))
|
||||
die('선택하신 테마가 설치되어 있지 않습니다.');
|
||||
|
||||
$info = get_theme_info($theme);
|
||||
|
||||
if($info['screenshot'])
|
||||
$screenshot = '<img src="'.$info['screenshot'].'" alt="'.$name.'">';
|
||||
else
|
||||
$screenshot = '<img src="'.G5_ADMIN_URL.'/img/theme_img.jpg" alt="">';
|
||||
|
||||
$name = get_text($info['theme_name']);
|
||||
if($info['theme_uri']) {
|
||||
$name = '<a href="'.set_http($info['theme_uri']).'" target="_blank" class="thdt_home">'.$name.'</a>';
|
||||
}
|
||||
|
||||
$maker = get_text($info['maker']);
|
||||
if($info['maker_uri']) {
|
||||
$maker = '<a href="'.set_http($info['maker_uri']).'" target="_blank" class="thdt_home">'.$maker.'</a>';
|
||||
}
|
||||
|
||||
$license = get_text($info['license']);
|
||||
if($info['license_uri']) {
|
||||
$license = '<a href="'.set_http($info['license_uri']).'" target="_blank" class="thdt_home">'.$license.'</a>';
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="theme_detail">
|
||||
<div class="thdt_img"><?php echo $screenshot; ?></div>
|
||||
<div class="thdt_if">
|
||||
<h2><?php echo $name; ?></h2>
|
||||
<table>
|
||||
<tr>
|
||||
<th scope="row">Version</th>
|
||||
<td><?php echo get_text($info['version']); ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">Maker</th>
|
||||
<td><?php echo $maker; ?></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th scope="row">License</th>
|
||||
<td><?php echo $license; ?></td>
|
||||
</tr>
|
||||
</table>
|
||||
<p><?php echo get_text($info['detail']); ?></p>
|
||||
<button type="button" class="close_btn">닫기</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(".close_btn").on("click", function() {
|
||||
$("#theme_detail").remove();
|
||||
});
|
||||
</script>
|
||||
118
adm/theme_preview.php
Normal file
@ -0,0 +1,118 @@
|
||||
<?php
|
||||
$sub_menu = "100280";
|
||||
define('_THEME_PREVIEW_', true);
|
||||
include_once('./_common.php');
|
||||
|
||||
$theme_dir = get_theme_dir();
|
||||
|
||||
if(!$theme || !in_array($theme, $theme_dir))
|
||||
alert_close('테마가 존재하지 않거나 올바르지 않습니다.');
|
||||
|
||||
$info = get_theme_info($theme);
|
||||
|
||||
$arr_mode = array('index', 'list', 'view');
|
||||
$mode = substr(strip_tags($_GET['mode']), 0, 20);
|
||||
if(!in_array($mode, $arr_mode))
|
||||
$mode = 'index';
|
||||
|
||||
$qstr_index = '&mode=index';
|
||||
$qstr_list = '&mode=list';
|
||||
$qstr_view = '&mode=view';
|
||||
$qstr_device = '&mode='.$mode.'&device='.(G5_IS_MOBILE ? 'pc' : 'mobile');
|
||||
|
||||
$sql = " select bo_table, wr_parent from {$g5['board_new_table']} order by bn_id desc limit 1 ";
|
||||
$row = sql_fetch($sql);
|
||||
$bo_table = $row['bo_table'];
|
||||
$board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '$bo_table' ");
|
||||
$write_table = $g5['write_prefix'] . $bo_table;
|
||||
|
||||
// theme.config.php 미리보기 게시판 스킨이 설정돼 있다면
|
||||
$tconfig = get_theme_config_value($theme, 'set_default_skin, preview_board_skin, preview_mobile_board_skin');
|
||||
if($mode == 'list' || $mode == 'view') {
|
||||
if($tconfig['preview_board_skin'])
|
||||
$board['bo_skin'] = 'theme/'.$tconfig['preview_board_skin'];
|
||||
|
||||
if($tconfig['preview_mobile_board_skin'])
|
||||
$board['bo_mobile_skin'] = 'theme/'.$tconfig['preview_mobile_board_skin'];
|
||||
}
|
||||
|
||||
// 스킨경로
|
||||
if (G5_IS_MOBILE) {
|
||||
$board_skin_path = get_skin_path('board', $board['bo_mobile_skin']);
|
||||
$board_skin_url = get_skin_url('board', $board['bo_mobile_skin']);
|
||||
$member_skin_path = get_skin_path('member', $config['cf_mobile_member_skin']);
|
||||
$member_skin_url = get_skin_url('member', $config['cf_mobile_member_skin']);
|
||||
$new_skin_path = get_skin_path('new', $config['cf_mobile_new_skin']);
|
||||
$new_skin_url = get_skin_url('new', $config['cf_mobile_new_skin']);
|
||||
$search_skin_path = get_skin_path('search', $config['cf_mobile_search_skin']);
|
||||
$search_skin_url = get_skin_url('search', $config['cf_mobile_search_skin']);
|
||||
$connect_skin_path = get_skin_path('connect', $config['cf_mobile_connect_skin']);
|
||||
$connect_skin_url = get_skin_url('connect', $config['cf_mobile_connect_skin']);
|
||||
$faq_skin_path = get_skin_path('faq', $config['cf_mobile_faq_skin']);
|
||||
$faq_skin_url = get_skin_url('faq', $config['cf_mobile_faq_skin']);
|
||||
} else {
|
||||
$board_skin_path = get_skin_path('board', $board['bo_skin']);
|
||||
$board_skin_url = get_skin_url('board', $board['bo_skin']);
|
||||
$member_skin_path = get_skin_path('member', $config['cf_member_skin']);
|
||||
$member_skin_url = get_skin_url('member', $config['cf_member_skin']);
|
||||
$new_skin_path = get_skin_path('new', $config['cf_new_skin']);
|
||||
$new_skin_url = get_skin_url('new', $config['cf_new_skin']);
|
||||
$search_skin_path = get_skin_path('search', $config['cf_search_skin']);
|
||||
$search_skin_url = get_skin_url('search', $config['cf_search_skin']);
|
||||
$connect_skin_path = get_skin_path('connect', $config['cf_connect_skin']);
|
||||
$connect_skin_url = get_skin_url('connect', $config['cf_connect_skin']);
|
||||
$faq_skin_path = get_skin_path('faq', $config['cf_faq_skin']);
|
||||
$faq_skin_url = get_skin_url('faq', $config['cf_faq_skin']);
|
||||
}
|
||||
|
||||
$conf = sql_fetch(" select cf_theme from {$g5['config_table']} ");
|
||||
$name = get_text($info['theme_name']);
|
||||
if($conf['cf_theme'] != $theme) {
|
||||
if($tconfig['set_default_skin'])
|
||||
$set_default_skin = 'true';
|
||||
else
|
||||
$set_default_skin = 'false';
|
||||
|
||||
$btn_active = '<li><button type="button" class="theme_sl theme_active" data-theme="'.$theme.'" '.'data-name="'.$name.'" data-set_default_skin="'.$set_default_skin.'">테마적용</button></li>';
|
||||
} else {
|
||||
$btn_active = '';
|
||||
}
|
||||
|
||||
$g5['title'] = get_text($info['theme_name']).' 테마 미리보기';
|
||||
require_once(G5_PATH.'/head.sub.php');
|
||||
?>
|
||||
|
||||
<link rel="stylesheet" href="<?php echo G5_ADMIN_URL; ?>/css/theme.css">
|
||||
<script src="<?php echo G5_ADMIN_URL; ?>/theme.js"></script>
|
||||
|
||||
<section id="preview_item">
|
||||
<ul>
|
||||
<li><a href="./theme_preview.php?theme=<?php echo $theme.$qstr_index; ?>">인덱스 화면</a></li>
|
||||
<li><a href="./theme_preview.php?theme=<?php echo $theme.$qstr_list; ?>">게시글 리스트</a></li>
|
||||
<li><a href="./theme_preview.php?theme=<?php echo $theme.$qstr_view; ?>">게시글 보기</a></li>
|
||||
<li><a href="./theme_preview.php?theme=<?php echo $theme.$qstr_device; ?>"><?php echo (G5_IS_MOBILE ? 'PC 버전' : '모바일 버전'); ?></a></li>
|
||||
<?php echo $btn_active; ?>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section id="preview_content">
|
||||
<?php
|
||||
switch($mode) {
|
||||
case 'list':
|
||||
include(G5_BBS_PATH.'/board.php');
|
||||
break;
|
||||
case 'view':
|
||||
$wr_id = $row['wr_parent'];
|
||||
$write = sql_fetch(" select * from $write_table where wr_id = '$wr_id' ");
|
||||
include(G5_BBS_PATH.'/board.php');
|
||||
break;
|
||||
default:
|
||||
include(G5_PATH.'/index.php');
|
||||
break;
|
||||
}
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
require_once(G5_PATH.'/tail.sub.php');
|
||||
?>
|
||||
52
adm/theme_update.php
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
$sub_menu = "100280";
|
||||
include_once('./_common.php');
|
||||
|
||||
if ($is_admin != 'super')
|
||||
die('최고관리자만 접근 가능합니다.');
|
||||
|
||||
$theme = trim($_POST['theme']);
|
||||
$theme_dir = get_theme_dir();
|
||||
|
||||
if($_POST['type'] == 'reset') {
|
||||
$sql = " update {$g5['config_table']} set cf_theme = '' ";
|
||||
sql_query($sql);
|
||||
die('');
|
||||
}
|
||||
|
||||
if(!in_array($theme, $theme_dir))
|
||||
die('선택하신 테마가 설치되어 있지 않습니다.');
|
||||
|
||||
// 테마적용
|
||||
$sql = " update {$g5['config_table']} set cf_theme = '$theme' ";
|
||||
sql_query($sql);
|
||||
|
||||
// 테마 설정 스킨 적용
|
||||
if($_POST['set_default_skin'] == 1) {
|
||||
$keys = 'set_default_skin, cf_member_skin, cf_mobile_member_skin, cf_new_skin, cf_mobile_new_skin, cf_search_skin, cf_mobile_search_skin, cf_connect_skin, cf_mobile_connect_skin, cf_faq_skin, cf_mobile_faq_skin';
|
||||
|
||||
$tconfig = get_theme_config_value($theme, $keys);
|
||||
|
||||
if($tconfig['set_default_skin']) {
|
||||
$sql_common = array();
|
||||
foreach($tconfig as $key => $val) {
|
||||
if(!isset($config[$key]))
|
||||
continue;
|
||||
|
||||
if($val) {
|
||||
if(!preg_match('#^theme/.+$#', $val))
|
||||
$val = 'theme/'.$val;
|
||||
|
||||
$sql_common[] = " $key = '$val' ";
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($sql_common)) {
|
||||
$sql = " update {$g5['config_table']} set " . implode(', ', $sql_common);
|
||||
sql_query($sql);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
die('');
|
||||
?>
|
||||
@ -222,19 +222,19 @@ $admin_href = "";
|
||||
if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id']))
|
||||
$admin_href = G5_ADMIN_URL.'/board_form.php?w=u&bo_table='.$bo_table;
|
||||
|
||||
include_once('./board_head.php');
|
||||
include_once(G5_BBS_PATH.'/board_head.php');
|
||||
|
||||
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE
|
||||
if (isset($wr_id) && $wr_id) {
|
||||
include_once('./view.php');
|
||||
include_once(G5_BBS_PATH.'/view.php');
|
||||
}
|
||||
|
||||
// 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
|
||||
//if ($board['bo_use_list_view'] || empty($wr_id))
|
||||
if ($member['mb_level'] >= $board['bo_list_level'] && $board['bo_use_list_view'] || empty($wr_id))
|
||||
include_once ('./list.php');
|
||||
include_once (G5_BBS_PATH.'/list.php');
|
||||
|
||||
include_once('./board_tail.php');
|
||||
include_once(G5_BBS_PATH.'/board_tail.php');
|
||||
|
||||
echo "\n<!-- 사용스킨 : ".(G5_IS_MOBILE ? $board['bo_mobile_skin'] : $board['bo_skin'])." -->\n";
|
||||
|
||||
|
||||
@ -4,7 +4,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
// 게시판 관리의 상단 내용
|
||||
if (G5_IS_MOBILE) {
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once('./_head.php');
|
||||
include_once(G5_BBS_PATH.'/_head.php');
|
||||
echo stripslashes($board['bo_mobile_content_head']);
|
||||
} else {
|
||||
@include ($board['bo_include_head']);
|
||||
|
||||
@ -5,7 +5,7 @@ if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
if (G5_IS_MOBILE) {
|
||||
echo stripslashes($board['bo_mobile_content_tail']);
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
include_once('./_tail.php');
|
||||
include_once(G5_BBS_PATH.'/_tail.php');
|
||||
} else {
|
||||
echo stripslashes($board['bo_content_tail']);
|
||||
@include ($board['bo_include_tail']);
|
||||
|
||||
@ -62,8 +62,8 @@ $str = preg_replace($src, $dst, $str);
|
||||
if(trim($co['co_skin']) == '')
|
||||
$co['co_skin'] = 'basic';
|
||||
|
||||
$content_skin_path = G5_SKIN_PATH.'/content/'.$co['co_skin'];
|
||||
$content_skin_url = G5_SKIN_URL.'/content/'.$co['co_skin'];
|
||||
$content_skin_path = get_skin_path('content', $co['co_skin']);
|
||||
$content_skin_url = get_skin_url('content', $co['co_skin']);
|
||||
$skin_file = $content_skin_path.'/content.skin.php';
|
||||
|
||||
if ($is_admin)
|
||||
|
||||
@ -1,7 +1,14 @@
|
||||
<?php
|
||||
include_once('./_common.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
$g5['title'] = $group['gr_subject'];
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
$group_file = G5_THEME_PATH.'/group.php';
|
||||
if(is_file($group_file)) {
|
||||
require_once($group_file);
|
||||
return;
|
||||
}
|
||||
unset($group_file);
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_MOBILE_PATH.'/group.php');
|
||||
@ -11,7 +18,9 @@ if (G5_IS_MOBILE) {
|
||||
if(!$is_admin && $group['gr_device'] == 'mobile')
|
||||
alert($group['gr_subject'].' 그룹은 모바일에서만 접근할 수 있습니다.');
|
||||
|
||||
$g5['title'] = $group['gr_subject'];
|
||||
include_once('./_head.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
?>
|
||||
|
||||
|
||||
|
||||
@ -1,8 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$qa_skin_path = (G5_IS_MOBILE ? G5_MOBILE_PATH : G5_PATH).'/'.G5_SKIN_DIR.'/qa/'.(G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']);
|
||||
$qa_skin_url = (G5_IS_MOBILE ? G5_MOBILE_URL : G5_URL).'/'.G5_SKIN_DIR.'/qa/'.(G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']);
|
||||
$qa_skin_path = get_skin_path('qa', (G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']));
|
||||
$qa_skin_url = get_skin_url('qa', (G5_IS_MOBILE ? $qaconfig['qa_mobile_skin'] : $qaconfig['qa_skin']));
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
// 모바일의 경우 설정을 따르지 않는다.
|
||||
|
||||
193
common.php
@ -218,58 +218,6 @@ if ($config['cf_editor'])
|
||||
else
|
||||
define('G5_EDITOR_LIB', G5_LIB_PATH."/editor.lib.php");
|
||||
|
||||
//==============================================================================
|
||||
// 사용기기 설정
|
||||
// config.php G5_SET_DEVICE 설정에 따라 사용자 화면 제한됨
|
||||
// pc 설정 시 모바일 기기에서도 PC화면 보여짐
|
||||
// mobile 설정 시 PC에서도 모바일화면 보여짐
|
||||
// both 설정 시 접속 기기에 따른 화면 보여짐
|
||||
//------------------------------------------------------------------------------
|
||||
$is_mobile = false;
|
||||
$set_device = true;
|
||||
if(defined('G5_SET_DEVICE')) {
|
||||
switch(G5_SET_DEVICE) {
|
||||
case 'pc':
|
||||
$is_mobile = false;
|
||||
$set_device = false;
|
||||
break;
|
||||
case 'mobile':
|
||||
$is_mobile = true;
|
||||
$set_device = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
//==============================================================================
|
||||
// Mobile 모바일 설정
|
||||
// 쿠키에 저장된 값이 모바일이라면 브라우저 상관없이 모바일로 실행
|
||||
// 그렇지 않다면 브라우저의 HTTP_USER_AGENT 에 따라 모바일 결정
|
||||
// G5_MOBILE_AGENT : config.php 에서 선언
|
||||
//------------------------------------------------------------------------------
|
||||
if (G5_USE_MOBILE && $set_device) {
|
||||
if ($_REQUEST['device']=='pc')
|
||||
$is_mobile = false;
|
||||
else if ($_REQUEST['device']=='mobile')
|
||||
$is_mobile = true;
|
||||
else if (isset($_SESSION['ss_is_mobile']))
|
||||
$is_mobile = $_SESSION['ss_is_mobile'];
|
||||
else if (is_mobile())
|
||||
$is_mobile = true;
|
||||
} else {
|
||||
$set_device = false;
|
||||
}
|
||||
|
||||
$_SESSION['ss_is_mobile'] = $is_mobile;
|
||||
define('G5_IS_MOBILE', $is_mobile);
|
||||
define('G5_DEVICE_BUTTON_DISPLAY', $set_device);
|
||||
if (G5_IS_MOBILE) {
|
||||
$g5['mobile_path'] = G5_PATH.'/'.$g5['mobile_dir'];
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
// 4.00.03 : [보안관련] PHPSESSID 가 틀리면 로그아웃한다.
|
||||
if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id())
|
||||
goto_url(G5_BBS_URL.'/logout.php');
|
||||
@ -513,35 +461,128 @@ if ($is_admin != 'super') {
|
||||
}
|
||||
|
||||
|
||||
// 테마경로
|
||||
if(defined('_THEME_PREVIEW_') && _THEME_PREVIEW_ === true)
|
||||
$config['cf_theme'] = trim($_GET['theme']);
|
||||
|
||||
if(isset($config['cf_theme']) && trim($config['cf_theme'])) {
|
||||
$theme_path = G5_PATH.'/'.G5_THEME_DIR.'/'.$config['cf_theme'];
|
||||
if(is_dir($theme_path)) {
|
||||
define('G5_THEME_PATH', $theme_path);
|
||||
define('G5_THEME_URL', G5_URL.'/'.G5_THEME_DIR.'/'.$config['cf_theme']);
|
||||
define('G5_THEME_MOBILE_PATH', $theme_path.'/'.G5_MOBILE_DIR);
|
||||
define('G5_THEME_LIB_PATH', $theme_path.'/'.G5_LIB_DIR);
|
||||
define('G5_THEME_CSS_URL', G5_THEME_URL.'/'.G5_CSS_DIR);
|
||||
define('G5_THEME_IMG_URL', G5_THEME_URL.'/'.G5_IMG_DIR);
|
||||
define('G5_THEME_JS_URL', G5_THEME_URL.'/'.G5_JS_DIR);
|
||||
}
|
||||
unset($theme_path);
|
||||
}
|
||||
|
||||
|
||||
// 테마 설정 로드
|
||||
if(is_file(G5_THEME_PATH.'/theme.config.php'))
|
||||
include_once(G5_THEME_PATH.'/theme.config.php');
|
||||
|
||||
//=====================================================================================
|
||||
// 사용기기 설정
|
||||
// 테마의 G5_THEME_DEVICE 설정에 따라 사용자 화면 제한됨
|
||||
// 테마에 별도 설정이 없는 경우 config.php G5_SET_DEVICE 설정에 따라 사용자 화면 제한됨
|
||||
// pc 설정 시 모바일 기기에서도 PC화면 보여짐
|
||||
// mobile 설정 시 PC에서도 모바일화면 보여짐
|
||||
// both 설정 시 접속 기기에 따른 화면 보여짐
|
||||
//-------------------------------------------------------------------------------------
|
||||
$is_mobile = false;
|
||||
$set_device = true;
|
||||
|
||||
if(defined('G5_THEME_DEVICE') && G5_THEME_DEVICE != '') {
|
||||
switch(G5_THEME_DEVICE) {
|
||||
case 'pc':
|
||||
$is_mobile = false;
|
||||
$set_device = false;
|
||||
break;
|
||||
case 'mobile':
|
||||
$is_mobile = true;
|
||||
$set_device = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if(defined('G5_SET_DEVICE') && $set_device) {
|
||||
switch(G5_SET_DEVICE) {
|
||||
case 'pc':
|
||||
$is_mobile = false;
|
||||
$set_device = false;
|
||||
break;
|
||||
case 'mobile':
|
||||
$is_mobile = true;
|
||||
$set_device = false;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
//==============================================================================
|
||||
// Mobile 모바일 설정
|
||||
// 쿠키에 저장된 값이 모바일이라면 브라우저 상관없이 모바일로 실행
|
||||
// 그렇지 않다면 브라우저의 HTTP_USER_AGENT 에 따라 모바일 결정
|
||||
// G5_MOBILE_AGENT : config.php 에서 선언
|
||||
//------------------------------------------------------------------------------
|
||||
if (G5_USE_MOBILE && $set_device) {
|
||||
if ($_REQUEST['device']=='pc')
|
||||
$is_mobile = false;
|
||||
else if ($_REQUEST['device']=='mobile')
|
||||
$is_mobile = true;
|
||||
else if (isset($_SESSION['ss_is_mobile']))
|
||||
$is_mobile = $_SESSION['ss_is_mobile'];
|
||||
else if (is_mobile())
|
||||
$is_mobile = true;
|
||||
} else {
|
||||
$set_device = false;
|
||||
}
|
||||
|
||||
$_SESSION['ss_is_mobile'] = $is_mobile;
|
||||
define('G5_IS_MOBILE', $is_mobile);
|
||||
define('G5_DEVICE_BUTTON_DISPLAY', $set_device);
|
||||
if (G5_IS_MOBILE) {
|
||||
$g5['mobile_path'] = G5_PATH.'/'.$g5['mobile_dir'];
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
|
||||
//==============================================================================
|
||||
// 스킨경로
|
||||
//------------------------------------------------------------------------------
|
||||
if (G5_IS_MOBILE) {
|
||||
$board_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/board/'.$board['bo_mobile_skin'];
|
||||
$board_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/board/'.$board['bo_mobile_skin'];
|
||||
$member_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/member/'.$config['cf_mobile_member_skin'];
|
||||
$member_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/member/'.$config['cf_mobile_member_skin'];
|
||||
$new_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/new/'.$config['cf_mobile_new_skin'];
|
||||
$new_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/new/'.$config['cf_mobile_new_skin'];
|
||||
$search_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/search/'.$config['cf_mobile_search_skin'];
|
||||
$search_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/search/'.$config['cf_mobile_search_skin'];
|
||||
$connect_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/connect/'.$config['cf_mobile_connect_skin'];
|
||||
$connect_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/connect/'.$config['cf_mobile_connect_skin'];
|
||||
$faq_skin_path = G5_MOBILE_PATH .'/'.G5_SKIN_DIR.'/faq/'.$config['cf_mobile_faq_skin'];
|
||||
$faq_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/faq/'.$config['cf_mobile_faq_skin'];
|
||||
$board_skin_path = get_skin_path('board', $board['bo_mobile_skin']);
|
||||
$board_skin_url = get_skin_url('board', $board['bo_mobile_skin']);
|
||||
$member_skin_path = get_skin_path('member', $config['cf_mobile_member_skin']);
|
||||
$member_skin_url = get_skin_url('member', $config['cf_mobile_member_skin']);
|
||||
$new_skin_path = get_skin_path('new', $config['cf_mobile_new_skin']);
|
||||
$new_skin_url = get_skin_url('new', $config['cf_mobile_new_skin']);
|
||||
$search_skin_path = get_skin_path('search', $config['cf_mobile_search_skin']);
|
||||
$search_skin_url = get_skin_url('search', $config['cf_mobile_search_skin']);
|
||||
$connect_skin_path = get_skin_path('connect', $config['cf_mobile_connect_skin']);
|
||||
$connect_skin_url = get_skin_url('connect', $config['cf_mobile_connect_skin']);
|
||||
$faq_skin_path = get_skin_path('faq', $config['cf_mobile_faq_skin']);
|
||||
$faq_skin_url = get_skin_url('faq', $config['cf_mobile_faq_skin']);
|
||||
} else {
|
||||
$board_skin_path = G5_SKIN_PATH.'/board/'.$board['bo_skin'];
|
||||
$board_skin_url = G5_SKIN_URL .'/board/'.$board['bo_skin'];
|
||||
$member_skin_path = G5_SKIN_PATH.'/member/'.$config['cf_member_skin'];
|
||||
$member_skin_url = G5_SKIN_URL .'/member/'.$config['cf_member_skin'];
|
||||
$new_skin_path = G5_SKIN_PATH.'/new/'.$config['cf_new_skin'];
|
||||
$new_skin_url = G5_SKIN_URL .'/new/'.$config['cf_new_skin'];
|
||||
$search_skin_path = G5_SKIN_PATH.'/search/'.$config['cf_search_skin'];
|
||||
$search_skin_url = G5_SKIN_URL .'/search/'.$config['cf_search_skin'];
|
||||
$connect_skin_path = G5_SKIN_PATH.'/connect/'.$config['cf_connect_skin'];
|
||||
$connect_skin_url = G5_SKIN_URL .'/connect/'.$config['cf_connect_skin'];
|
||||
$faq_skin_path = G5_SKIN_PATH.'/faq/'.$config['cf_faq_skin'];
|
||||
$faq_skin_url = G5_SKIN_URL.'/faq/'.$config['cf_faq_skin'];
|
||||
$board_skin_path = get_skin_path('board', $board['bo_skin']);
|
||||
$board_skin_url = get_skin_url('board', $board['bo_skin']);
|
||||
$member_skin_path = get_skin_path('member', $config['cf_member_skin']);
|
||||
$member_skin_url = get_skin_url('member', $config['cf_member_skin']);
|
||||
$new_skin_path = get_skin_path('new', $config['cf_new_skin']);
|
||||
$new_skin_url = get_skin_url('new', $config['cf_new_skin']);
|
||||
$search_skin_path = get_skin_path('search', $config['cf_search_skin']);
|
||||
$search_skin_url = get_skin_url('search', $config['cf_search_skin']);
|
||||
$connect_skin_path = get_skin_path('connect', $config['cf_connect_skin']);
|
||||
$connect_skin_url = get_skin_url('connect', $config['cf_connect_skin']);
|
||||
$faq_skin_path = get_skin_path('faq', $config['cf_faq_skin']);
|
||||
$faq_skin_url = get_skin_url('faq', $config['cf_faq_skin']);
|
||||
}
|
||||
//==============================================================================
|
||||
|
||||
|
||||
@ -59,6 +59,7 @@ define('G5_SNS_DIR', 'sns');
|
||||
define('G5_SYNDI_DIR', 'syndi');
|
||||
define('G5_PHPMAILER_DIR', 'PHPMailer_v2.0.4');
|
||||
define('G5_SESSION_DIR', 'session');
|
||||
define('G5_THEME_DIR', 'theme');
|
||||
|
||||
// URL 은 브라우저상에서의 경로 (도메인으로 부터의)
|
||||
if (G5_DOMAIN) {
|
||||
|
||||
@ -1,8 +1,3 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// head.sub.php, tail.sub.php 파일의 이름을 지정할 수 있습니다.
|
||||
// 지정된 파일은 head.sub.php, tail.sub.php 파일과 동일한 위치에 존재해야 합니다.
|
||||
//define('G5_HEAD_SUB_FILE', 'user.head.sub.php');
|
||||
//define('G5_TAIL_SUB_FILE', 'user.tail.sub.php');
|
||||
?>
|
||||
@ -4,7 +4,7 @@ include_once(G5_LIB_PATH.'/connect.lib.php');
|
||||
include_once(G5_LIB_PATH.'/outlogin.lib.php');
|
||||
|
||||
$g5['title'] = '그누보드4 DB 데이터 이전';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/head.sub.php');
|
||||
|
||||
if(get_session('tables_copied') == 'done')
|
||||
alert('DB 데이터 변환을 이미 실행하였습니다. 중복 실행시 오류가 발생할 수 있습니다.', G5_URL);
|
||||
@ -172,5 +172,5 @@ $(function() {
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/tail.sub.php');
|
||||
?>
|
||||
@ -10,7 +10,7 @@ set_time_limit ( 0 );
|
||||
ini_set('memory_limit', '50M');
|
||||
|
||||
$g5['title'] = '그누보드4 DB 데이터 이전';
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/head.sub.php');
|
||||
|
||||
echo '<link rel="stylesheet" href="'.G5_URL.'/g4_import.css">';
|
||||
|
||||
@ -536,5 +536,5 @@ $(function() {
|
||||
</script>
|
||||
|
||||
<?php
|
||||
include_once(G5_PATH.'/tail.sub.php');
|
||||
include_once(G5_PATH.'/'.G5_THEME_DIR.'/basic/tail.sub.php');
|
||||
?>
|
||||
23
head.php
@ -1,10 +1,14 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 상단 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
|
||||
if ($config['cf_include_head'] && is_file(G5_PATH.'/'.$config['cf_include_head'])) {
|
||||
include_once(G5_PATH.'/'.$config['cf_include_head']);
|
||||
return; // 이 코드의 아래는 실행을 하지 않습니다.
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/head.php');
|
||||
return;
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_MOBILE_PATH.'/head.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
@ -14,11 +18,6 @@ include_once(G5_LIB_PATH.'/poll.lib.php');
|
||||
include_once(G5_LIB_PATH.'/visit.lib.php');
|
||||
include_once(G5_LIB_PATH.'/connect.lib.php');
|
||||
include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_MOBILE_PATH.'/head.php');
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
<!-- 상단 시작 { -->
|
||||
@ -98,7 +97,7 @@ if (G5_IS_MOBILE) {
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">FAQ</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect(); // 현재 접속자수, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -158,8 +157,8 @@ if (G5_IS_MOBILE) {
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="aside">
|
||||
<?php echo outlogin('basic'); // 외부 로그인 ?>
|
||||
<?php echo poll('basic'); // 설문조사 ?>
|
||||
<?php echo outlogin('basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
<?php echo poll('basic'); // 설문조사, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
</div>
|
||||
<div id="container">
|
||||
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
|
||||
13
head.sub.php
@ -2,14 +2,14 @@
|
||||
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$begin_time = get_microtime();
|
||||
|
||||
// 사용자가 지정한 head.sub.php 파일이 있다면 include
|
||||
if(defined('G5_HEAD_SUB_FILE') && is_file(G5_PATH.'/'.G5_HEAD_SUB_FILE)) {
|
||||
include_once(G5_PATH.'/'.G5_HEAD_SUB_FILE);
|
||||
// 테마 head.sub.php 파일
|
||||
if(!defined('G5_IS_ADMIN') && defined('G5_THEME_PATH') && is_file(G5_THEME_PATH.'/head.sub.php')) {
|
||||
require_once(G5_THEME_PATH.'/head.sub.php');
|
||||
return;
|
||||
}
|
||||
|
||||
$begin_time = get_microtime();
|
||||
|
||||
if (!isset($g5['title'])) {
|
||||
$g5['title'] = $config['cf_title'];
|
||||
$g5_head_title = $g5['title'];
|
||||
@ -54,7 +54,8 @@ if($config['cf_add_meta'])
|
||||
<title><?php echo $g5_head_title; ?></title>
|
||||
<?php
|
||||
if (defined('G5_IS_ADMIN')) {
|
||||
echo '<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css">'.PHP_EOL;
|
||||
if(!defined('_THEME_PREVIEW_'))
|
||||
echo '<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css">'.PHP_EOL;
|
||||
} else {
|
||||
echo '<link rel="stylesheet" href="'.G5_CSS_URL.'/'.(G5_IS_MOBILE?'mobile':'default').'.css">'.PHP_EOL;
|
||||
}
|
||||
|
||||
16
index.php
@ -1,11 +1,12 @@
|
||||
<?php
|
||||
define('_INDEX_', true);
|
||||
include_once('./_common.php');
|
||||
|
||||
// 초기화면 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
|
||||
if ($config['cf_include_index'] && is_file(G5_PATH.'/'.$config['cf_include_index'])) {
|
||||
include_once(G5_PATH.'/'.$config['cf_include_index']);
|
||||
return; // 이 코드의 아래는 실행을 하지 않습니다.
|
||||
define('_INDEX_', true);
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/index.php');
|
||||
return;
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
@ -13,7 +14,7 @@ if (G5_IS_MOBILE) {
|
||||
return;
|
||||
}
|
||||
|
||||
include_once('./_head.php');
|
||||
include_once(G5_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<h2 class="sound_only">최신글</h2>
|
||||
@ -35,6 +36,7 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
<?php
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest("basic", $row['bo_table'], 5, 25);
|
||||
?>
|
||||
</div>
|
||||
@ -44,5 +46,5 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
<!-- } 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once('./_tail.php');
|
||||
include_once(G5_PATH.'/tail.php');
|
||||
?>
|
||||
@ -185,6 +185,7 @@ CREATE TABLE IF NOT EXISTS `g5_board_new` (
|
||||
DROP TABLE IF EXISTS `g5_config`;
|
||||
CREATE TABLE IF NOT EXISTS `g5_config` (
|
||||
`cf_title` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_theme` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_admin` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_admin_email` varchar(255) NOT NULL DEFAULT '',
|
||||
`cf_admin_email_name` varchar(255) NOT NULL DEFAULT '',
|
||||
|
||||
@ -90,6 +90,7 @@ $download_point = 0;
|
||||
// config 테이블 설정
|
||||
$sql = " insert into `{$table_prefix}config`
|
||||
set cf_title = '".G5_VERSION."',
|
||||
cf_theme = 'basic',
|
||||
cf_admin = '$admin_id',
|
||||
cf_admin_email = '$admin_email',
|
||||
cf_admin_email_name = '".G5_VERSION."',
|
||||
|
||||
@ -69,7 +69,7 @@ $(function(){
|
||||
});
|
||||
|
||||
// 임시저장된 글 제목과 내용을 가져와서 제목과 내용 입력박스에 노출해 줌
|
||||
$(".autosave_load").live("click", function(){
|
||||
$(document).on( "click", ".autosave_load", function(){
|
||||
var $li = $(this).parents("li");
|
||||
var as_id = $li.data("as_id");
|
||||
var as_uid = $li.data("uid");
|
||||
@ -93,7 +93,7 @@ $(function(){
|
||||
$("#autosave_pop").hide();
|
||||
});
|
||||
|
||||
$(".autosave_del").live("click", function(){
|
||||
$(document).on( "click", ".autosave_del", function(){
|
||||
var $li = $(this).parents("li");
|
||||
var as_id = $li.data("as_id");
|
||||
$.get(g5_bbs_url+"/ajax.autosavedel.php", {"as_id":as_id}, function(data){
|
||||
|
||||
@ -674,7 +674,7 @@ $(function(){
|
||||
}
|
||||
});
|
||||
|
||||
$("textarea#wr_content[maxlength]").live("keyup change", function() {
|
||||
$(document).on( "keyup change", "textarea#wr_content[maxlength]", function(){
|
||||
var str = $(this).val();
|
||||
var mx = parseInt($(this).attr("maxlength"));
|
||||
if (str.length > mx) {
|
||||
|
||||
@ -2993,4 +2993,39 @@ function get_device_change_url()
|
||||
|
||||
return $href;
|
||||
}
|
||||
|
||||
// 스킨 path
|
||||
function get_skin_path($dir, $skin)
|
||||
{
|
||||
global $config;
|
||||
|
||||
if(preg_match('#^theme/(.+)$#', $skin, $match)) { // 테마에 포함된 스킨이라면
|
||||
$theme_path = '';
|
||||
$cf_theme = trim($config['cf_theme']);
|
||||
|
||||
$theme_path = G5_PATH.'/'.G5_THEME_DIR.'/'.$cf_theme;
|
||||
if(G5_IS_MOBILE) {
|
||||
$skin_path = $theme_path.'/'.G5_MOBILE_DIR.'/'.G5_SKIN_DIR.'/'.$dir.'/'.$match[1];
|
||||
if(!is_dir($skin_path))
|
||||
$skin_path = $theme_path.'/'.G5_SKIN_DIR.'/'.$dir.'/'.$match[1];
|
||||
} else {
|
||||
$skin_path = $theme_path.'/'.G5_SKIN_DIR.'/'.$dir.'/'.$match[1];
|
||||
}
|
||||
} else {
|
||||
if(G5_IS_MOBILE)
|
||||
$skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/'.$dir.'/'.$skin;
|
||||
else
|
||||
$skin_path = G5_SKIN_PATH.'/'.$dir.'/'.$skin;
|
||||
}
|
||||
|
||||
return $skin_path;
|
||||
}
|
||||
|
||||
// 스킨 url
|
||||
function get_skin_url($dir, $skin)
|
||||
{
|
||||
$skin_path = get_skin_path($dir, $skin);
|
||||
|
||||
return str_replace(G5_PATH, G5_URL, $skin_path);
|
||||
}
|
||||
?>
|
||||
@ -10,12 +10,25 @@ function connect($skin_dir='basic')
|
||||
$sql = " select sum(IF(mb_id<>'',1,0)) as mb_cnt, count(*) as total_cnt from {$g5['login_table']} where mb_id <> '{$config['cf_admin']}' ";
|
||||
$row = sql_fetch($sql);
|
||||
|
||||
if(G5_IS_MOBILE) {
|
||||
$connect_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/connect/'.$skin_dir;
|
||||
$connect_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/connect/'.$skin_dir;
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$connect_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/connect/'.$match[1];
|
||||
if(!is_dir($connect_skin_path))
|
||||
$connect_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/connect/'.$match[1];
|
||||
$connect_skin_url = str_replace(G5_PATH, G5_URL, $connect_skin_path);
|
||||
} else {
|
||||
$connect_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/connect/'.$match[1];
|
||||
$connect_skin_url = str_replace(G5_PATH, G5_URL, $connect_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
$connect_skin_path = G5_SKIN_PATH.'/connect/'.$skin_dir;
|
||||
$connect_skin_url = G5_SKIN_URL.'/connect/'.$skin_dir;
|
||||
if(G5_IS_MOBILE) {
|
||||
$connect_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/connect/'.$skin_dir;
|
||||
$connect_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/connect/'.$skin_dir;
|
||||
} else {
|
||||
$connect_skin_path = G5_SKIN_PATH.'/connect/'.$skin_dir;
|
||||
$connect_skin_url = G5_SKIN_URL.'/connect/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
|
||||
79
lib/json.lib.php
Normal file
@ -0,0 +1,79 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit;
|
||||
|
||||
// http://tinsology.net/2011/04/php-json_encode-and-json_decode-alternatives/
|
||||
|
||||
if(!function_exists('json_encode'))
|
||||
{
|
||||
function json_encode($a=false)
|
||||
{
|
||||
// Some basic debugging to ensure we have something returned
|
||||
if (is_null($a)) return 'null';
|
||||
if ($a === false) return 'false';
|
||||
if ($a === true) return 'true';
|
||||
if (is_scalar($a))
|
||||
{
|
||||
if (is_float($a))
|
||||
{
|
||||
// Always use '.' for floats.
|
||||
return floatval(str_replace(',', '.', strval($a)));
|
||||
}
|
||||
if (is_string($a))
|
||||
{
|
||||
static $jsonReplaces = array(array('\\', '/', "\n", "\t", "\r", "\b", "\f", '"'), array('\\\\', '\\/', '\\n', '\\t', '\\r', '\\b', '\\f', '\"'));
|
||||
return '"' . str_replace($jsonReplaces[0], $jsonReplaces[1], $a) . '"';
|
||||
}
|
||||
else
|
||||
return $a;
|
||||
}
|
||||
$isList = true;
|
||||
for ($i = 0, reset($a); true; $i++) {
|
||||
if (key($a) !== $i)
|
||||
{
|
||||
$isList = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
$result = array();
|
||||
if ($isList)
|
||||
{
|
||||
foreach ($a as $v) $result[] = json_encode($v);
|
||||
return '[' . join(',', $result) . ']';
|
||||
}
|
||||
else
|
||||
{
|
||||
foreach ($a as $k => $v) $result[] = json_encode($k).':'.json_encode($v);
|
||||
return '{' . join(',', $result) . '}';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!function_exists('json_decode'))
|
||||
{
|
||||
function json_decode($json)
|
||||
{
|
||||
$comment = false;
|
||||
$out = '$x=';
|
||||
for ($i=0; $i<strlen($json); $i++)
|
||||
{
|
||||
if (!$comment)
|
||||
{
|
||||
if (($json[$i] == '{') || ($json[$i] == '['))
|
||||
$out .= ' array(';
|
||||
else if (($json[$i] == '}') || ($json[$i] == ']'))
|
||||
$out .= ')';
|
||||
else if ($json[$i] == ':')
|
||||
$out .= '=>';
|
||||
else
|
||||
$out .= $json[$i];
|
||||
}
|
||||
else
|
||||
$out .= $json[$i];
|
||||
if ($json[$i] == '"' && $json[($i-1)]!="\\")
|
||||
$comment = !$comment;
|
||||
}
|
||||
eval($out . ';');
|
||||
return $x;
|
||||
}
|
||||
}
|
||||
?>
|
||||
@ -6,16 +6,28 @@ if (!defined('_GNUBOARD_')) exit;
|
||||
function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=1, $options='')
|
||||
{
|
||||
global $g5;
|
||||
//static $css = array();
|
||||
|
||||
if (!$skin_dir) $skin_dir = 'basic';
|
||||
|
||||
if(G5_IS_MOBILE) {
|
||||
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$latest_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
if(!is_dir($latest_skin_path))
|
||||
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
|
||||
} else {
|
||||
$latest_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/latest/'.$match[1];
|
||||
$latest_skin_url = str_replace(G5_PATH, G5_URL, $latest_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
|
||||
if(G5_IS_MOBILE) {
|
||||
$latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir;
|
||||
} else {
|
||||
$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;
|
||||
$latest_skin_url = G5_SKIN_URL.'/latest/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
$cache_fwrite = false;
|
||||
@ -60,14 +72,6 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $cache_time=
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
// 같은 스킨은 .css 를 한번만 호출한다.
|
||||
if (!in_array($skin_dir, $css) && is_file($latest_skin_path.'/style.css')) {
|
||||
echo '<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">';
|
||||
$css[] = $skin_dir;
|
||||
}
|
||||
*/
|
||||
|
||||
ob_start();
|
||||
include $latest_skin_path.'/latest.skin.php';
|
||||
$content = ob_get_contents();
|
||||
|
||||
@ -13,12 +13,25 @@ function outlogin($skin_dir='basic')
|
||||
$point = number_format($member['mb_point']);
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
$outlogin_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/outlogin/'.$skin_dir;
|
||||
$outlogin_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/outlogin/'.$skin_dir;
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$outlogin_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/outlogin/'.$match[1];
|
||||
if(!is_dir($outlogin_skin_path))
|
||||
$outlogin_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/outlogin/'.$match[1];
|
||||
$outlogin_skin_url = str_replace(G5_PATH, G5_URL, $outlogin_skin_path);
|
||||
} else {
|
||||
$outlogin_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/outlogin/'.$match[1];
|
||||
$outlogin_skin_url = str_replace(G5_PATH, G5_URL, $outlogin_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
$outlogin_skin_path = G5_SKIN_PATH.'/outlogin/'.$skin_dir;
|
||||
$outlogin_skin_url = G5_SKIN_URL.'/outlogin/'.$skin_dir;
|
||||
if (G5_IS_MOBILE) {
|
||||
$outlogin_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/outlogin/'.$skin_dir;
|
||||
$outlogin_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/outlogin/'.$skin_dir;
|
||||
} else {
|
||||
$outlogin_skin_path = G5_SKIN_PATH.'/outlogin/'.$skin_dir;
|
||||
$outlogin_skin_url = G5_SKIN_URL.'/outlogin/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
// 읽지 않은 쪽지가 있다면
|
||||
|
||||
@ -15,16 +15,30 @@ function poll($skin_dir='basic', $po_id=false)
|
||||
if(!$po_id)
|
||||
return;
|
||||
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$poll_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/poll/'.$match[1];
|
||||
if(!is_dir($poll_skin_path))
|
||||
$poll_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/poll/'.$match[1];
|
||||
$poll_skin_url = str_replace(G5_PATH, G5_URL, $poll_skin_path);
|
||||
} else {
|
||||
$poll_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/poll/'.$match[1];
|
||||
$poll_skin_url = str_replace(G5_PATH, G5_URL, $poll_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
if (G5_IS_MOBILE) {
|
||||
$poll_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/poll/'.$skin_dir;
|
||||
$poll_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/poll/'.$skin_dir;
|
||||
} else {
|
||||
$poll_skin_path = G5_SKIN_PATH.'/poll/'.$skin_dir;
|
||||
$poll_skin_url = G5_SKIN_URL.'/poll/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
$po = sql_fetch(" select * from {$g5['poll_table']} where po_id = '$po_id' ");
|
||||
|
||||
ob_start();
|
||||
if (G5_IS_MOBILE) {
|
||||
$poll_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/poll/'.$skin_dir;
|
||||
$poll_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/poll/'.$skin_dir;
|
||||
} else {
|
||||
$poll_skin_path = G5_SKIN_PATH.'/poll/'.$skin_dir;
|
||||
$poll_skin_url = G5_SKIN_URL.'/poll/'.$skin_dir;
|
||||
}
|
||||
include_once ($poll_skin_path.'/poll.skin.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
@ -20,14 +20,28 @@ function popular($skin_dir='basic', $pop_cnt=7, $date_cnt=3)
|
||||
$list[$i]['pp_word'] = get_text($list[$i]['pp_word']);
|
||||
}
|
||||
|
||||
ob_start();
|
||||
if(G5_IS_MOBILE) {
|
||||
$popular_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/popular/'.$skin_dir;
|
||||
$popular_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/popular/'.$skin_dir;
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$popular_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/popular/'.$match[1];
|
||||
if(!is_dir($popular_skin_path))
|
||||
$popular_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/popular/'.$match[1];
|
||||
$popular_skin_url = str_replace(G5_PATH, G5_URL, $popular_skin_path);
|
||||
} else {
|
||||
$popular_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/popular/'.$match[1];
|
||||
$popular_skin_url = str_replace(G5_PATH, G5_URL,$popular_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
$popular_skin_path = G5_SKIN_PATH.'/popular/'.$skin_dir;
|
||||
$popular_skin_url = G5_SKIN_URL.'/popular/'.$skin_dir;
|
||||
if(G5_IS_MOBILE) {
|
||||
$popular_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/popular/'.$skin_dir;
|
||||
$popular_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/popular/'.$skin_dir;
|
||||
} else {
|
||||
$popular_skin_path = G5_SKIN_PATH.'/popular/'.$skin_dir;
|
||||
$popular_skin_url = G5_SKIN_URL.'/popular/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
include_once ($popular_skin_path.'/popular.skin.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
@ -18,14 +18,28 @@ function visit($skin_dir='basic')
|
||||
settype($visit[3], "integer");
|
||||
settype($visit[4], "integer");
|
||||
|
||||
ob_start();
|
||||
if(G5_IS_MOBILE) {
|
||||
$visit_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/visit/'.$skin_dir;
|
||||
$visit_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/visit/'.$skin_dir;
|
||||
if(preg_match('#^theme/(.+)$#', $skin_dir, $match)) {
|
||||
if (G5_IS_MOBILE) {
|
||||
$visit_skin_path = G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR.'/visit/'.$match[1];
|
||||
if(!is_dir($visit_skin_path))
|
||||
$visit_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/visit/'.$match[1];
|
||||
$visit_skin_url = str_replace(G5_PATH, G5_URL, $visit_skin_path);
|
||||
} else {
|
||||
$visit_skin_path = G5_THEME_PATH.'/'.G5_SKIN_DIR.'/visit/'.$match[1];
|
||||
$visit_skin_url = str_replace(G5_PATH, G5_URL, $visit_skin_path);
|
||||
}
|
||||
$skin_dir = $match[1];
|
||||
} else {
|
||||
$visit_skin_path = G5_SKIN_PATH.'/visit/'.$skin_dir;
|
||||
$visit_skin_url = G5_SKIN_URL.'/visit/'.$skin_dir;
|
||||
if(G5_IS_MOBILE) {
|
||||
$visit_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/visit/'.$skin_dir;
|
||||
$visit_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/visit/'.$skin_dir;
|
||||
} else {
|
||||
$visit_skin_path = G5_SKIN_PATH.'/visit/'.$skin_dir;
|
||||
$visit_skin_url = G5_SKIN_URL.'/visit/'.$skin_dir;
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
include_once ($visit_skin_path.'/visit.skin.php');
|
||||
$content = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
@ -49,8 +49,8 @@ $str = preg_replace($src, $dst, $str);
|
||||
if(trim($co['co_mobile_skin']) == '')
|
||||
$co['co_mobile_skin'] = 'basic';
|
||||
|
||||
$content_skin_path = G5_MOBILE_PATH .'/'.G5_SKIN_DIR.'/content/'.$co['co_mobile_skin'];
|
||||
$content_skin_url = G5_MOBILE_URL .'/'.G5_SKIN_DIR.'/content/'.$co['co_mobile_skin'];
|
||||
$content_skin_path = get_skin_path('content', $co['co_mobile_skin']);
|
||||
$content_skin_url = get_skin_url('content', $co['co_mobile_skin']);
|
||||
$skin_file = $content_skin_path.'/content.skin.php';
|
||||
|
||||
if(is_file($skin_file)) {
|
||||
|
||||
@ -1,6 +1,11 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/head.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_PATH.'/head.sub.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
include_once(G5_LIB_PATH.'/outlogin.lib.php');
|
||||
|
||||
@ -1,7 +1,12 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
include_once(G5_MOBILE_PATH.'/_head.php');
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/index.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_MOBILE_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<!-- 메인화면 최신글 시작 -->
|
||||
@ -26,5 +31,5 @@ for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
<!-- 메인화면 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once(G5_MOBILE_PATH.'/_tail.php');
|
||||
include_once(G5_MOBILE_PATH.'/tail.php');
|
||||
?>
|
||||
@ -179,7 +179,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once('./view_comment.php');
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<div id="bo_v_bot">
|
||||
|
||||
@ -179,7 +179,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once('./view_comment.php');
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<div id="bo_v_bot">
|
||||
|
||||
@ -1,5 +1,10 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/tail.php');
|
||||
return;
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -29,7 +29,7 @@ function editor_html($id, $content, $is_dhtml_editor=true)
|
||||
$(this).text("단축키 일람 닫기");
|
||||
}
|
||||
});
|
||||
$(".btn_cke_sc_close").live("click",function(){
|
||||
$(document).on("click", ".btn_cke_sc_close", function(){
|
||||
$(this).parent("div.cke_sc_def").remove();
|
||||
});
|
||||
});';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
$(function(){
|
||||
var mp3_url = "";
|
||||
|
||||
$("#captcha_reload").live("click", function(){
|
||||
$(document).on( "click", "#captcha_reload", function(){
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: g5_captcha_url+'/kcaptcha_session.php',
|
||||
@ -24,9 +24,9 @@ $(function(){
|
||||
}
|
||||
}
|
||||
});
|
||||
}).trigger("click");
|
||||
});
|
||||
|
||||
$("#captcha_mp3").live("click", function(){
|
||||
$(document).on( "click", "#captcha_mp3", function(){
|
||||
$("body").css("cursor", "wait");
|
||||
|
||||
$.ajax({
|
||||
@ -74,6 +74,8 @@ $(function(){
|
||||
return false;
|
||||
|
||||
}).css('cursor', 'pointer');
|
||||
|
||||
$("#captcha_reload").trigger("click");
|
||||
});
|
||||
|
||||
// 출력된 캡챠이미지의 키값과 입력한 키값이 같은지 비교한다.
|
||||
|
||||
@ -41,7 +41,7 @@ if ($config['cf_facebook_appid']) {
|
||||
echo '<a href="'.$facebook_url.'" id="facebook_url" onclick="return false;"><img src="'.G5_SNS_URL.'/icon/facebook'.($facebook_user?'':'_off').'.png" id="facebook_icon"></a>';
|
||||
echo '<label for="" class="sound_only">페이스북 동시 등록</label>';
|
||||
echo '<input type="checkbox" name="facebook_checked" id="facebook_checked" disabled value="1">';
|
||||
echo '<script>$(function(){ $("#facebook_url").live("click", function(){ window.open(this.href, "facebook_url", "width=600,height=250"); }); });</script>';
|
||||
echo '<script>$(function(){ $(document).on("click", "#facebook_url", function(){ window.open(this.href, "facebook_url", "width=600,height=250"); }); });</script>';
|
||||
}
|
||||
echo '</li>';
|
||||
}
|
||||
@ -99,7 +99,7 @@ if ($config['cf_twitter_key']) {
|
||||
echo '<a href="'.$twitter_url.'" id="twitter_url" onclick="return false;"><img src="'.G5_SNS_URL.'/icon/twitter'.($twitter_user?'':'_off').'.png" id="twitter_icon"></a>';
|
||||
echo '<label for="" class="sound_only">트위터 동시 등록</label>';
|
||||
echo '<input type="checkbox" name="twitter_checked" id="twitter_checked" disabled value="1">';
|
||||
echo '<script>$(function(){ $("#twitter_url").live("click", function(){ window.open(this.href, "twitter_url", "width=600,height=250"); }); });</script>';
|
||||
echo '<script>$(function(){ $(document).on("click", "#twitter_url", function(){ window.open(this.href, "twitter_url", "width=600,height=250"); }); });</script>';
|
||||
}
|
||||
echo '</li>';
|
||||
}
|
||||
|
||||
@ -191,7 +191,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once('./view_comment.php');
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<!-- 링크 버튼 시작 { -->
|
||||
|
||||
@ -142,7 +142,7 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
<?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() {
|
||||
$(document).on( "keyup change", "textarea#wr_content[maxlength]", function(){
|
||||
var str = $(this).val()
|
||||
var mx = parseInt($(this).attr("maxlength"))
|
||||
if (str.length > mx) {
|
||||
|
||||
@ -191,7 +191,7 @@ add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once('./view_comment.php');
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<!-- 링크 버튼 시작 { -->
|
||||
|
||||
@ -142,7 +142,7 @@ var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
<?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() {
|
||||
$(document).on( "keyup change", "textarea#wr_content[maxlength]", function(){
|
||||
var str = $(this).val()
|
||||
var mx = parseInt($(this).attr("maxlength"))
|
||||
if (str.length > mx) {
|
||||
|
||||
12
tail.php
@ -1,10 +1,9 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 하단 파일 경로 지정 : 이 코드는 가능한 삭제하지 마십시오.
|
||||
if ($config['cf_include_tail'] && is_file(G5_PATH.'/'.$config['cf_include_tail'])) {
|
||||
include_once(G5_PATH.'/'.$config['cf_include_tail']);
|
||||
return; // 이 코드의 아래는 실행을 하지 않습니다.
|
||||
if(defined('G5_THEME_PATH')) {
|
||||
require_once(G5_THEME_PATH.'/tail.php');
|
||||
return;
|
||||
}
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
@ -12,6 +11,7 @@ if (G5_IS_MOBILE) {
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -21,8 +21,8 @@ if (G5_IS_MOBILE) {
|
||||
|
||||
<!-- 하단 시작 { -->
|
||||
<div id="ft">
|
||||
<?php echo popular('basic'); // 인기검색어 ?>
|
||||
<?php echo visit('basic'); // 접속자집계 ?>
|
||||
<?php echo popular('basic'); // 인기검색어, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
<?php echo visit('basic'); // 접속자집계, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
<div id="ft_catch"><img src="<?php echo G5_IMG_URL; ?>/ft.png" alt="<?php echo G5_VERSION ?>"></div>
|
||||
<div id="ft_company">
|
||||
</div>
|
||||
|
||||
@ -1,9 +1,8 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 사용자가 지정한 tail.sub.php 파일이 있다면 include
|
||||
if(defined('G5_TAIL_SUB_FILE') && is_file(G5_PATH.'/'.G5_TAIL_SUB_FILE)) {
|
||||
include_once(G5_PATH.'/'.G5_TAIL_SUB_FILE);
|
||||
if(!defined('G5_IS_ADMIN') && defined('G5_THEME_PATH') && is_file(G5_THEME_PATH.'/tail.sub.php')) {
|
||||
require_once(G5_THEME_PATH.'/tail.sub.php');
|
||||
return;
|
||||
}
|
||||
?>
|
||||
|
||||
3
theme/basic/_common.php
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include_once('../../common.php');
|
||||
?>
|
||||
282
theme/basic/css/default.css
Normal file
@ -0,0 +1,282 @@
|
||||
@charset "utf-8";
|
||||
/* SIR 지운아빠 */
|
||||
|
||||
/* 초기화 */
|
||||
html {overflow-y:scroll}
|
||||
body {margin:0;padding:0;font-size:0.75em;font-family:dotum}
|
||||
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
|
||||
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:dotum}
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
|
||||
|
||||
#hd ul, nav ul, #ft ul {margin:0;padding:0;list-style:none}
|
||||
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
label, input, button, select, img {vertical-align:middle}
|
||||
input, button {margin:0;padding:0;font-family:dotum;font-size:1em}
|
||||
button {cursor:pointer}
|
||||
|
||||
textarea, select {font-family:dotum;font-size:1em}
|
||||
select {margin:0}
|
||||
p {margin:0;padding:0;word-break:break-all}
|
||||
hr {display:none}
|
||||
pre {overflow-x:scroll;font-size:1.1em}
|
||||
a:link, a:visited {color:#000;text-decoration:none}
|
||||
a:hover, a:focus, a:active {color:#000;text-decoration:underline}
|
||||
|
||||
/* 팝업레이어 */
|
||||
#hd_pop {z-index:1000;position:relative;margin:0 auto;width:970px;height:0}
|
||||
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
|
||||
.hd_pops_con {}
|
||||
.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right}
|
||||
.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff}
|
||||
|
||||
/* 상단 레이아웃 */
|
||||
#hd {z-index:4;position:relative;min-width:970px;background:#fff}
|
||||
.hd_zindex {z-index:10 !important}
|
||||
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#hd_wrapper {position:relative;margin:0 auto;padding:26px 0;width:970px;zoom:1}
|
||||
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#logo {float:left;padding:5px 0 0}
|
||||
|
||||
/* 전체 검색 */
|
||||
#hd_sch {float:left;margin:0 0 0 20px;padding:0;border:1px solid #c3c6ca}
|
||||
#hd_sch legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#hd_sch #sch_stx {padding-left:5px;width:110px;height:24px;border:0;background:#fff;line-height:1.9em !important;line-height:1.6em}
|
||||
#hd_sch #sch_submit {padding:0 5px;height:26px;border:0;background:#e2e6eb;color:#333;cursor:pointer}
|
||||
|
||||
/* 텍스트 크기 조절 */
|
||||
#text_size {float:left;margin:0 0 0 10px;letter-spacing:-3px}
|
||||
#text_size button {margin:0;padding:1px 2px;border:1px solid #c3c6ca;background:transparent;vertical-align:middle;cursor:pointer}
|
||||
.ts_up {font-size:1.167em !important}
|
||||
.ts_up2 {font-size:1.3em !important}
|
||||
|
||||
/* 상단 회원가입 등 링크 */
|
||||
#tnb {float:right;margin:0;padding:0;list-style:none;zoom:1}
|
||||
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#tnb li {float:left;margin:0 0 0 10px}
|
||||
#tnb a {display:inline-block;padding:0 10px;height:28px;color:#333;letter-spacing:-0.1em;line-height:2.4em}
|
||||
#tnb a:focus, #tnb a:hover, #tnb a:active {text-decoration:none}
|
||||
#tnb img {margin-right:3px}
|
||||
|
||||
/* 메인메뉴 */
|
||||
#gnb {position:relative;margin:-1px 0 0;border-top:1px dotted #dde4e9;border-bottom:1px solid #dde4e9;background:#ecf0f7}
|
||||
#gnb h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#gnb_1dul {margin:0 auto !important;padding:0;width:970px;zoom:1}
|
||||
#gnb_1dul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.gnb_1dli {z-index:10;position:relative;float:left}
|
||||
.gnb_1da {display:inline-block;padding:0 40px 0 10px;height:35px;background:url('../img/gnb_bg00.gif') center right no-repeat;font-weight:bold;line-height:2.95em;text-decoration:none}
|
||||
.gnb_1da:focus, .gnb_1da:hover {background:url('../img/gnb_bg00.gif') #333 center right no-repeat;text-decoration:none}
|
||||
.gnb_1dli_air .gnb_1da {background-color:#333;color:#fff}
|
||||
.gnb_1dli_on .gnb_1da {background-color:#333;color:#fff}
|
||||
.gnb_2dul {display:none;position:absolute;top:35px;width:180px}
|
||||
.gnb_2da {display:block;padding:13px 10px;text-align:left;text-decoration:none}
|
||||
.gnb_1dli_air .gnb_2da {background-color:#333;color:#fff}
|
||||
.gnb_1dli_on .gnb_2da {background-color:#333;color:#fff}
|
||||
.gnb_2da:focus, .gnb_2da:hover {background:#666;text-decoration:none}
|
||||
.gnb_1dli_over .gnb_2dul {display:block;left:0;background:#fff}
|
||||
.gnb_1dli_over2 .gnb_2dul {display:block;right:0;background:#fff}
|
||||
|
||||
#gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2em}
|
||||
#gnb_empty a {text-decoration:underline}
|
||||
|
||||
/* 중간 레이아웃 */
|
||||
#wrapper {z-index:5;margin:0 auto;width:970px;border-right:1px solid #dde4e9;border-left:1px solid #dde4e9;zoom:1}
|
||||
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#aside {float:right;margin:0 0 0 -1px;width:210px;border-left:1px solid #dde4e9;background:#fff}
|
||||
|
||||
#container {z-index:4;position:relative;float:left;padding:15px 16px 15px 15px;width:728px;min-height:500px;height:auto !important;height:500px;border-right:1px solid #dde4e9;background:#fff;font-size:1em;zoom:1}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {margin-bottom:20px;font-size:1.2em;font-weight:bold}
|
||||
|
||||
/* 하단 레이아웃 */
|
||||
#ft {min-width:970px;border-top:1px solid #dde4e9;background:#f2f5f9}
|
||||
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
#ft p {margin:0;padding:10px 0;line-height:1.8em}
|
||||
|
||||
#ft_catch {position:relative;margin:0 auto;padding:20px 0 0;width:970px;text-align:center}
|
||||
|
||||
#ft_company {text-align:center}
|
||||
|
||||
#ft_copy {background:#414141}
|
||||
#ft_copy div {position:relative;margin:0 auto;padding:10px 0;width:970px;color:#fff}
|
||||
#ft_copy a {display:inline-block;margin:0 10px 0 0;color:inherit}
|
||||
#ft_copy #ft_totop {position:absolute;top:10px;right:0}
|
||||
|
||||
/* 게시물 선택복사 선택이동 */
|
||||
#copymove {}
|
||||
.copymove_current {float:right;color:#ff3061}
|
||||
.copymove_currentbg {background:#f4f4f4}
|
||||
|
||||
/* 화면낭독기 사용자용 */
|
||||
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
|
||||
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
|
||||
/* 본문 바로가기 */
|
||||
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
|
||||
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}
|
||||
|
||||
/* ie6 이미지 너비 지정 */
|
||||
.img_fix {width:100%;height:auto}
|
||||
|
||||
/* 캡챠 자동등록(입력)방지 기본 */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#captcha #captcha_img {width:100px;height:41px;border:1px solid #e9e9e9}
|
||||
#captcha #captcha_mp3 {position:absolute;top:0;left:101px;;margin:0;padding:0;width:23px;height:22px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer}
|
||||
#captcha #captcha_mp3 span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../../../plugin/kcaptcha/img/sound.gif')}
|
||||
#captcha #captcha_reload {position:absolute;top:21px;left:101px;margin:0;padding:0;width:23px;height:22px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer}
|
||||
#captcha #captcha_reload span {position:absolute;top:0;left:0;width:23px;height:22px;background:url('../../../plugin/kcaptcha/img/reload.gif')}
|
||||
#captcha #captcha_key {margin:0 0 0 25px;padding:0 5px;width:70px;height:41px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:2.8em}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
/* ckeditor 단축키 */
|
||||
.cke_sc {margin:0 0 5px;text-align:right}
|
||||
.btn_cke_sc{display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
|
||||
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
|
||||
.cke_sc_def dl{margin:0 0 5px;text-align:left;zoom:1}
|
||||
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
|
||||
.cke_sc_def dt {width:20%;font-weight:bold}
|
||||
.cke_sc_def dd {width:30%}
|
||||
|
||||
/* 버튼 */
|
||||
a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
|
||||
a.btn01:focus, a.btn01:hover {text-decoration:none}
|
||||
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
|
||||
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
a.btn02:focus, .btn02:hover {text-decoration:none}
|
||||
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
|
||||
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
|
||||
.btn_submit {padding:8px;border:0;background:#ff3061;color:#fff;letter-spacing:-0.1em;cursor:pointer}
|
||||
fieldset .btn_submit {padding:0 7px;height:24px;line-height:1em}
|
||||
|
||||
a.btn_cancel {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none}
|
||||
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;height:24px;border:0;background:#333;color:#fff;letter-spacing:-0.1em;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
|
||||
a.btn_frmline {line-height:24px}
|
||||
button.btn_frmline {font-size:1em}
|
||||
|
||||
/* 게시판용 버튼 */
|
||||
a.btn_b01 {display:inline-block;padding:7px;border:1px solid #d9ded9;background:#f2f5f9;color:#000;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b01:focus, .btn_b01:hover {text-decoration:none}
|
||||
a.btn_b02 {display:inline-block;padding:7px 7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b02:focus, .btn_b02:hover {text-decoration:none}
|
||||
a.btn_admin {display:inline-block;padding:7px;border:1px solid #e8180c;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
a.btn_admin:focus, a.btn_admin:hover {text-decoration:none}
|
||||
|
||||
/* 댓글 스타일 */
|
||||
.cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}
|
||||
|
||||
/* 기본테이블 */
|
||||
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0}
|
||||
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
|
||||
|
||||
.tbl_head01 {margin:0 0 10px}
|
||||
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
|
||||
.tbl_head01 thead th {padding:12px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
|
||||
.tbl_head01 thead a {color:#383838}
|
||||
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
|
||||
.tbl_head01 tbody th {padding:8px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.tbl_head01 td {padding:8px 5px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.5em;word-break:break-all}
|
||||
.tbl_head01 a {}
|
||||
|
||||
.tbl_head02 {margin:0 0 10px}
|
||||
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
|
||||
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
|
||||
.tbl_head02 thead a {color:#383838}
|
||||
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
|
||||
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all}
|
||||
.tbl_head02 a {}
|
||||
|
||||
/* 폼 테이블 */
|
||||
.tbl_frm01 {margin:0 0 20px}
|
||||
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
|
||||
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
|
||||
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
|
||||
.tbl_frm01 textarea, .frm_input {border:1px solid #e4eaec;background:#f7f7f7;color:#000;vertical-align:middle;line-height:2em}
|
||||
.tbl_frm01 textarea {padding:2px 2px 3px}
|
||||
.frm_input {height:22px}
|
||||
.tbl_frm01 textarea {width:98%;height:100px}
|
||||
.tbl_frm01 a {text-decoration:none}
|
||||
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
|
||||
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
|
||||
|
||||
/* 자료 없는 목록 */
|
||||
.empty_table {padding:50px 0 !important;text-align:center}
|
||||
.empty_list {padding:20px 0 !important;text-align:center}
|
||||
|
||||
/* 필수입력 */
|
||||
.required, textarea.required {background:url('../img/wrest.gif') #f7f7f7 top right no-repeat !important}
|
||||
|
||||
/* 테이블 항목별 정의 */
|
||||
.td_board {width:120px;text-align:center}
|
||||
.td_category {width:80px;text-align:center}
|
||||
.td_chk {width:30px;text-align:center}
|
||||
.td_date {width:60px;text-align:center}
|
||||
.td_datetime {width:110px;text-align:center}
|
||||
.td_group {width:100px;text-align:center}
|
||||
.td_mb_id {width:100px;text-align:center}
|
||||
.td_mng {width:80px;text-align:center}
|
||||
.td_name {width:100px;text-align:left}
|
||||
.td_nick {width:100px;text-align:center}
|
||||
.td_num {width:50px;text-align:center}
|
||||
.td_numbig {width:80px;text-align:center}
|
||||
.td_stat {width:60px;text-align:center}
|
||||
|
||||
.txt_active {color:#5d910b}
|
||||
.txt_done {color:#e8180c}
|
||||
.txt_expired {color:#ccc}
|
||||
.txt_rdy {color:#8abc2a}
|
||||
|
||||
/* 새창 기본 스타일 */
|
||||
.new_win {}
|
||||
.new_win .tbl_wrap {margin:0 20px}
|
||||
.new_win #win_title {margin:0 0 20px;padding:20px;border-top:3px solid #333;border-bottom:1px solid #dde4e9;background:#fff;font-size:1.2em}
|
||||
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
|
||||
.new_win .win_ul {margin:-20px 0 20px 0;padding:0 20px;border-bottom:1px solid #455255;background:#484848;list-style:none;zoom:1}
|
||||
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_ul li {float:left;margin-left:-1px}
|
||||
.new_win .win_ul a {display:block;padding:10px 10px 8px;border-right:1px solid #455255;border-left:1px solid #455255;color:#fff;font-family:dotum;font-weight:bold;text-decoration:none}
|
||||
.new_win .win_desc {padding:20px}
|
||||
|
||||
.new_win .win_btn {clear:both;padding:20px;text-align:center} /* 새창용 */
|
||||
.new_win .win_btn button {display:inline-block;padding:0 10px;height:30px;border:0;background:#4b545e;color:#fff;line-height:2em;cursor:pointer}
|
||||
.new_win .win_btn input {padding:0 10px;height:30px;line-height:2em}
|
||||
.new_win .win_btn a {display:inline-block;padding:0 10px;height:30px;background:#4b545e;color:#fff;vertical-align:middle;line-height:2.4em}
|
||||
.new_win .win_btn a:focus, .new_win .win_btn a:hover {text-decoration:none}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
.sch_word {color:#ff3061}
|
||||
|
||||
/* 자바스크립트 alert 대안 */
|
||||
#validation_check {margin:100px auto;width:500px}
|
||||
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
|
||||
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}
|
||||
|
||||
/* 사이드뷰 */
|
||||
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
|
||||
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646}
|
||||
.sv_wrap .sv a {display:inline-block;margin:0;padding:3px;width:94px;border-bottom:1px solid #283646;background:#111;color:#fff !important}
|
||||
.sv_wrap a:focus, .sv_wrap a:hover, .sv_wrap a:active {text-decoration:none}
|
||||
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto}
|
||||
.sv_nojs .sv {display:block}
|
||||
|
||||
/* 페이징 */
|
||||
.pg_wrap {clear:both;margin:0 0 20px;padding:20px 0 0;text-align:center}
|
||||
.pg {}
|
||||
.pg_page, .pg_current {display:inline-block;padding:0 8px;height:25px;color:#000;letter-spacing:0;line-height:2.2em;vertical-align:middle}
|
||||
.pg a:focus, .pg a:hover {text-decoration:none}
|
||||
.pg_page {background:#e4eaec;text-decoration:none}
|
||||
.pg_start, .pg_prev {/* 이전 */}
|
||||
.pg_end, .pg_next {/* 다음 */}
|
||||
.pg_current {display:inline-block;margin:0 4px 0 0;background:#333;color:#fff;font-weight:normal}
|
||||
|
||||
/* Mobile화면으로 */
|
||||
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}
|
||||
250
theme/basic/css/mobile.css
Normal file
@ -0,0 +1,250 @@
|
||||
@charset "utf-8";
|
||||
/* SIR 지운아빠 */
|
||||
|
||||
/* 초기화 */
|
||||
html {overflow-y:scroll}
|
||||
body {margin:0;padding:0;font-size:0.75em}
|
||||
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
|
||||
h1, h2, h3, h4, h5, h6 {font-size:1em}
|
||||
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
|
||||
#hd ul, nav ul, #ft ul {margin:0;padding:0;list-style:none}
|
||||
legend {position:absolute;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
label, input, button, select, img {vertical-align:middle}
|
||||
input, button {margin:0;padding:0;font-size:1em}
|
||||
button {cursor:pointer}
|
||||
input[type=text], input[type=password], input[type=submit], input[type=image], button {border-radius:0;font-size:1em;-webkit-appearance:none}
|
||||
textarea, select {font-size:1em;font-family:dotum}
|
||||
textarea {border-radius:0;-webkit-appearance:none}
|
||||
select {margin:0}
|
||||
p {margin:0;padding:0;word-break:break-all}
|
||||
hr {display:none}
|
||||
pre {overflow-x:scroll;font-size:1.1em}
|
||||
a:link, a:visited {color:#000;text-decoration:none}
|
||||
a:hover, a:focus, a:active {color:#000;text-decoration:underline}
|
||||
|
||||
/* 팝업레이어 */
|
||||
#hd_pop {z-index:1000;position:relative;margin:0 auto;width:100%;height:1px}
|
||||
#hd_pop h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
|
||||
.hd_pops_con {}
|
||||
.hd_pops_footer {padding:10px 0;background:#000;color:#fff;text-align:right}
|
||||
.hd_pops_footer button {margin-right:5px;padding:5px 10px;border:0;background:#393939;color:#fff}
|
||||
|
||||
/* 상단 레이아웃 */
|
||||
#hd {position:relative;background:#fff}
|
||||
#hd:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#hd_h1 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
|
||||
#logo {padding:15px 10px}
|
||||
|
||||
#gnb_open {position:absolute;top:10px;right:60px;padding:0 10px;height:2.6em;border:0;background:#333;color:#fff;font-size:1em;letter-spacing:-0.1em}
|
||||
#gnb {display:none;background:#282828}
|
||||
#gnb a {display:block;color:#efefef}
|
||||
.gnb_1da {padding:10px;border-top:1px solid #191919}
|
||||
.gnb_2dul {background:#383838}
|
||||
.gnb_2da {padding:10px;border-top:1px solid #282828}
|
||||
.gnb_2da span:before {display:inline-block;margin:0 10px 0 0;color:#666;content:'▶'}
|
||||
#gnb_close {display:block;margin:0;padding:10px 0;width:100%;border:0;background:#000;color:#fff}
|
||||
|
||||
#gnb_empty {padding:20px 0;color:#fff;text-align:center;line-height:2em}
|
||||
#gnb_empty a {display:inline;text-decoration:underline}
|
||||
|
||||
#hd_sch_open {position:absolute;top:10px;right:10px;padding:0 10px;height:2.6em;border:0;background:#333;color:#fff;font-size:1em;letter-spacing:-0.1em}
|
||||
#hd_sch {display:none;border-top:1px solid #181818;background:#282828;text-align:center}
|
||||
#hd_sch h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#hd_sch form {position:relative;padding:30px 0}
|
||||
#hd_sch #sch_stx {height:30px;border:1px solid #181818;background:#323232 !important;line-height:2.5em;vertical-align:middle}
|
||||
#hd_sch #sch_submit {margin:0;padding:0 10px;height:32px;border:0;background:#000;color:#fff;vertical-align:middle}
|
||||
#hd_sch #sch_close {display:block;margin:0;padding:10px 0;width:100%;border:0;background:#000;color:#fff}
|
||||
|
||||
#hd_nb {clear:both;background:#ecf0f7;text-align:center}
|
||||
#hd_nb li {display:inline-block}
|
||||
#hd_nb li:nth-last-of-type(1) {border-right:0 !important}
|
||||
#hd_nb a {display:inline-block;padding:10px 7px;text-decoration:none}
|
||||
|
||||
#lnb {}
|
||||
#lnb ul {margin:0;padding:0;border-bottom:1px solid #e7f1ed;list-style:none}
|
||||
#lnb ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#lnb li {float:left;margin-bottom:-1px;width:25%}
|
||||
#lnb a {display:block;padding:10px 0;border-right:1px solid #e7f1ed;border-bottom:1px solid #e7f1ed;color:#000;text-align:center;text-decoration:none}
|
||||
#lnb li:nth-of-type(4n) a {border-right:0}
|
||||
|
||||
/* 중간 레이아웃 */
|
||||
#wrapper {margin:20px 0}
|
||||
#wrapper:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#container {position:relative;min-height:300px}
|
||||
#container:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#container_title {margin:0 10px 20px;font-size:1.2em;font-weight:bold}
|
||||
|
||||
/* 텍스트 크기 조절 */
|
||||
#text_size {margin:0 0 10px;text-align:center}
|
||||
#text_size button {margin:0;padding:2px 2px 1px;border:1px solid #c3c6ca;background:transparent;vertical-align:middle}
|
||||
.ts_up {font-size:1.167em !important}
|
||||
.ts_up2 {font-size:1.3em !important}
|
||||
|
||||
/* 하단 레이아웃 */
|
||||
#ft {;border-top:1px solid #dde4e9;background:#f2f5f9}
|
||||
#ft h1 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#ft p {margin:0;padding:10px 0;line-height:1.8em}
|
||||
|
||||
#ft_copy {padding:10px;background:#414141;color:#fff;line-height:2em}
|
||||
#ft_copy #ft_company {text-align:center}
|
||||
#ft_copy #ft_company a {display:inline-block;padding:5px 10px}
|
||||
#ft_copy b {color:inherit}
|
||||
#ft_copy a {color:inherit;text-decoration:none}
|
||||
|
||||
/* 게시물 선택복사 선택이동 */
|
||||
#copymove {}
|
||||
.copymove_current {float:right;color:#ff3061}
|
||||
.copymove_currentbg {background:#f4f4f4}
|
||||
|
||||
/* 화면낭독기 사용자용 */
|
||||
#hd_login_msg {position:absolute;top:0;left:0;width:0;height:0;overflow:hidden}
|
||||
.msg_sound_only, .sound_only {display:inline-block;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;width:1px !important;height:1px !important;font-size:0 !important;line-height:0 !important;overflow:hidden}
|
||||
/* 본문 바로가기 */
|
||||
.to_content a {z-index:100000;position:absolute;top:0;left:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
/* 이미지 등비율 리사이징 */
|
||||
.img_fix {width:100%;height:auto}
|
||||
|
||||
/* 캡챠 자동등록(입력)방지 기본 */
|
||||
#captcha {display:inline-block;position:relative}
|
||||
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
|
||||
#captcha audio {display:block;margin:0 0 5px;width:187px}
|
||||
#captcha #captcha_img {width:60px;height:30px;border:1px solid #e9e9e9}
|
||||
#captcha #captcha_reload {margin:0;padding:0 5px;height:32px;border:0;background:#e4eaec;vertical-align:middle;overflow:hidden;cursor:pointer}
|
||||
#captcha #captcha_key {margin:0 0 0 4px;padding:0 5px;width:50px;height:30px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:2em}
|
||||
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
|
||||
|
||||
/* 버튼 */
|
||||
a.btn01 {display:inline-block;padding:8px 7px 7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
|
||||
a.btn01:focus, a.btn01:hover {text-decoration:none}
|
||||
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
|
||||
a.btn02 {display:inline-block;padding:8px 7px 7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
a.btn02:focus, .btn02:hover {text-decoration:none}
|
||||
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}
|
||||
|
||||
.btn_confirm {text-align:center} /* 서식단계 진행 */
|
||||
|
||||
.btn_submit {padding:8px;border:0;background:#ff3061;color:#fff;letter-spacing:-0.1em}
|
||||
fieldset .btn_submit {padding:0 7px;height:24px;line-height:1em}
|
||||
|
||||
a.btn_cancel {display:inline-block;padding:8px 7px 7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
|
||||
button.btn_cancel {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;vertical-align:top;text-decoration:none}
|
||||
|
||||
a.btn_frmline, button.btn_frmline {display:inline-block;padding:0 5px;height:1.9em;border:0;background:#333;color:#fff;letter-spacing:-0.1em;text-decoration:none;vertical-align:top;line-height:1.9em} /* 우편번호검색버튼 등 */
|
||||
button.btn_frmline {font-size:1em}
|
||||
|
||||
/* 게시판용 버튼 */
|
||||
a.btn_b01 {display:inline-block;margin:0 0 3px;padding:8px 7px 7px;border:1px solid #d9ded9;background:#f2f5f9;color:#000;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b01:focus, .btn_b01:hover {text-decoration:none}
|
||||
a.btn_b02 {display:inline-block;margin:0 0 3px;padding:8px 7px 7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
a.btn_b02:focus, .btn_b02:hover {text-decoration:none}
|
||||
a.btn_admin {display:inline-block;margin:0 0 3px;padding:8px 7px 7px;border:1px solid #e8180c;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
|
||||
a.btn_admin:focus, a.btn_admin:hover {text-decoration:none}
|
||||
|
||||
/* 댓글 스타일 */
|
||||
.cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}
|
||||
|
||||
/* 기본테이블 */
|
||||
.tbl_wrap {margin:0 10px 10px}
|
||||
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0}
|
||||
.tbl_wrap caption {padding:10px 0;color:#4b8b99;font-weight:bold;text-align:left}
|
||||
|
||||
.tbl_head01 {}
|
||||
.tbl_head01 caption {padding:0 0 10px;color:#777;text-align:left}
|
||||
.tbl_head01 thead th {padding:12px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
|
||||
.tbl_head01 thead a {color:#383838}
|
||||
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.tbl_head01 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff}
|
||||
.tbl_head01 tfoot td {border-color:#666;background:#484848;color:#fff;font-weight:bold;text-align:center}
|
||||
.tbl_head01 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.tbl_head01 td {padding:5px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.5em;word-break:break-all}
|
||||
|
||||
.tbl_head02 {}
|
||||
.tbl_head02 caption {padding:0 0 10px;color:#777;text-align:left}
|
||||
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
|
||||
.tbl_head02 thead a {color:#383838}
|
||||
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
.tbl_head02 tfoot th {border-top:1px solid #666;border-bottom:1px solid #666;background:#484848;color:#fff}
|
||||
.tbl_head02 tfoot td {border-color:#666;background:#484848;color:#fff;font-weight:bold;text-align:center}
|
||||
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}
|
||||
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;line-height:1.4em;word-break:break-all}
|
||||
|
||||
/* 폼 테이블 */
|
||||
.tbl_frm01 {}
|
||||
.tbl_frm01 th {padding:10px 0;width:90px;border:1px solid #e9e9e9;border-left:0;text-align:left}
|
||||
.tbl_frm01 td {padding:10px 5px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
|
||||
.tbl_frm01 textarea, .frm_input {border:1px solid #e4eaec;background:#f7f7f7;vertical-align:middle;line-height:1.8em;-webkit-appearance:none}
|
||||
.tbl_frm01 textarea {width:100%;height:100px}
|
||||
.tbl_frm01 a {text-decoration:none}
|
||||
.tbl_frm01 .frm_file {display:block;margin-bottom:5px;width:100%}
|
||||
.tbl_frm01 .frm_info {display:block;padding:5px 0 0;color:#666;line-height:1.3em}
|
||||
|
||||
/* 자료 없는 목록 */
|
||||
.empty_table {padding:20px 0 !important;text-align:center}
|
||||
.empty_list {padding:20px 0 !important;text-align:center}
|
||||
|
||||
/* 필수입력 */
|
||||
.required, textarea.required {background:url('../img/wrest.gif') #f7f7f7 top right no-repeat !important}
|
||||
|
||||
/* 테이블 항목별 정의 */
|
||||
.td_board {width:120px;text-align:center}
|
||||
.td_category {width:80px;text-align:center}
|
||||
.td_chk {width:30px;text-align:center}
|
||||
.td_date {width:60px;text-align:center}
|
||||
.td_datetime {width:150px;text-align:center}
|
||||
.td_group {width:100px;text-align:center}
|
||||
.td_mb_id {width:100px;text-align:center}
|
||||
.td_mng {width:80px;text-align:center}
|
||||
.td_name {width:100px;text-align:left}
|
||||
.td_nick {width:100px;text-align:center}
|
||||
.td_num {width:50px;text-align:center}
|
||||
.td_numbig {width:80px;text-align:center}
|
||||
.td_stat {width:60px;text-align:center}
|
||||
|
||||
.txt_active {color:#5d910b}
|
||||
.txt_done {color:#e8180c}
|
||||
.txt_expired {color:#ccc}
|
||||
.txt_rdy {color:#8abc2a}
|
||||
|
||||
/* 새창 기본 스타일 */
|
||||
.new_win {}
|
||||
.new_win #win_title {margin:0 0 20px;padding:20px;border-top:3px solid #4e5d60;border-bottom:1px solid #e9e9e9;font-size:1.2em}
|
||||
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
|
||||
.new_win .tbl_wrap {margin:0 20px}
|
||||
.new_win .win_ul {margin:-20px 0 20px 0;padding:0 20px;border-bottom:1px solid #455255;background:#484848;list-style:none}
|
||||
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.new_win .win_ul li {float:left;margin-left:-1px}
|
||||
.new_win .win_ul a {display:block;padding:10px;border-right:1px solid #455255;border-left:1px solid #455255;color:#fff;font-weight:bold;text-decoration:none}
|
||||
.new_win .win_desc {padding:10px 20px}
|
||||
|
||||
.new_win .win_btn {clear:both;margin:20px;text-align:center}
|
||||
.new_win .win_btn a {display:inline-block;padding:0 10px;height:2.5em;background:#666;color:#fff;text-decoration:none;vertical-align:middle;line-height:2.5em}
|
||||
.new_win .win_btn button {display:inline-block;padding:0 10px;height:2.5em;border:0;background:#666;color:#fff;text-decoration:none;line-height:2.5em}
|
||||
.new_win .win_btn input {padding:0 10px;height:2.5em;line-height:2.5em}
|
||||
|
||||
/* 검색결과 색상 */
|
||||
.sch_word {color:#ff3061}
|
||||
|
||||
/* 사이드뷰 */
|
||||
.sv_wrap {display:inline-block;position:relative;font-weight:normal}
|
||||
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;border:1px solid #283646}
|
||||
.sv_wrap .sv a {display:inline-block;margin:0;padding:3px;width:94px;border-bottom:1px solid #283646;background:#111;color:#fff !important}
|
||||
.sv_wrap a:focus, .sv_wrap a:hover, .sv_wrap a:active {text-decoration:none}
|
||||
.sv_on {display:block !important;position:absolute;top:10px;left:20px;width:auto;height:auto}
|
||||
.sv_nojs .sv {display:block}
|
||||
|
||||
/* 페이징 */
|
||||
.pg_wrap {clear:both;margin:0 0 20px;padding:20px 0 0;text-align:center}
|
||||
.pg {}
|
||||
.pg_page, .pg_current {display:inline-block;padding:0 8px;height:25px;color:#000;letter-spacing:0;line-height:2.2em;vertical-align:middle}
|
||||
.pg a:focus, .pg a:hover {text-decoration:none}
|
||||
.pg_page {background:#e4eaec;text-decoration:none}
|
||||
.pg_start, .pg_prev {/* 이전 */}
|
||||
.pg_end, .pg_next {/* 다음 */}
|
||||
.pg_current {display:inline-block;margin:0 4px 0 0;background:#333;color:#fff;font-weight:normal}
|
||||
|
||||
/* PC화면으로 */
|
||||
#device_change {display:block;margin:5px;padding:5px 0;border:1px solid #eee;border-radius:2em;color:#000;font-size:1em;text-decoration:none;text-align:center}
|
||||
49
theme/basic/group.php
Normal file
@ -0,0 +1,49 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_THEME_MOBILE_PATH.'/group.php');
|
||||
return;
|
||||
}
|
||||
|
||||
if(!$is_admin && $group['gr_device'] == 'mobile')
|
||||
alert($group['gr_subject'].' 그룹은 모바일에서만 접근할 수 있습니다.');
|
||||
|
||||
$g5['title'] = $group['gr_subject'];
|
||||
include_once(G5_THEME_PATH.'/head.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
?>
|
||||
|
||||
|
||||
<!-- 메인화면 최신글 시작 -->
|
||||
<?php
|
||||
// 최신글
|
||||
$sql = " select bo_table, bo_subject
|
||||
from {$g5[board_table]}
|
||||
where gr_id = '{$gr_id}'
|
||||
and bo_list_level <= '{$member[mb_level]}'
|
||||
and bo_device <> 'mobile' ";
|
||||
if(!$is_admin)
|
||||
$sql .= " and bo_use_cert = '' ";
|
||||
$sql .= " order by bo_order ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
$lt_style = "";
|
||||
if ($i%2==1) $lt_style = "margin-left:20px";
|
||||
else $lt_style = "";
|
||||
?>
|
||||
<div style="float:left;<?php echo $lt_style ?>">
|
||||
<?php
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
echo latest('theme/basic', $row['bo_table'], 5, 70);
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<!-- 메인화면 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once(G5_THEME_PATH.'/tail.php');
|
||||
?>
|
||||
159
theme/basic/head.php
Normal file
@ -0,0 +1,159 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_THEME_MOBILE_PATH.'/head.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_THEME_PATH.'/head.sub.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
include_once(G5_LIB_PATH.'/outlogin.lib.php');
|
||||
include_once(G5_LIB_PATH.'/poll.lib.php');
|
||||
include_once(G5_LIB_PATH.'/visit.lib.php');
|
||||
include_once(G5_LIB_PATH.'/connect.lib.php');
|
||||
include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
?>
|
||||
|
||||
<!-- 상단 시작 { -->
|
||||
<div id="hd">
|
||||
<h1 id="hd_h1"><?php echo $g5['title'] ?></h1>
|
||||
|
||||
<div id="skip_to_container"><a href="#container">본문 바로가기</a></div>
|
||||
|
||||
<?php
|
||||
if(defined('_INDEX_')) { // index에서만 실행
|
||||
include G5_BBS_PATH.'/newwin.inc.php'; // 팝업레이어
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="hd_wrapper">
|
||||
|
||||
<div id="logo">
|
||||
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
|
||||
</div>
|
||||
|
||||
<fieldset id="hd_sch">
|
||||
<legend>사이트 내 전체검색</legend>
|
||||
<form name="fsearchbox" method="get" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);">
|
||||
<input type="hidden" name="sfl" value="wr_subject||wr_content">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<label for="sch_stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
|
||||
<input type="text" name="stx" id="sch_stx" maxlength="20">
|
||||
<input type="submit" id="sch_submit" value="검색">
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function fsearchbox_submit(f)
|
||||
{
|
||||
if (f.stx.value.length < 2) {
|
||||
alert("검색어는 두글자 이상 입력하십시오.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
|
||||
var cnt = 0;
|
||||
for (var i=0; i<f.stx.value.length; i++) {
|
||||
if (f.stx.value.charAt(i) == ' ')
|
||||
cnt++;
|
||||
}
|
||||
|
||||
if (cnt > 1) {
|
||||
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
</fieldset>
|
||||
|
||||
<div id="text_size">
|
||||
<!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->
|
||||
<button id="size_down" onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_URL; ?>/img/ts01.gif" alt="기본"></button>
|
||||
<button id="size_def" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_URL; ?>/img/ts02.gif" alt="크게"></button>
|
||||
<button id="size_up" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_URL; ?>/img/ts03.gif" alt="더크게"></button>
|
||||
</div>
|
||||
|
||||
<ul id="tnb">
|
||||
<?php if ($is_member) { ?>
|
||||
<?php if ($is_admin) { ?>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>"><b>관리자</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php">정보수정</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/logout.php">로그아웃</a></li>
|
||||
<?php } else { ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/register.php">회원가입</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/login.php"><b>로그인</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php">FAQ</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/qalist.php">1:1문의</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php">접속자 <?php echo connect('theme/basic'); // 현재 접속자수, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/new.php">새글</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<nav id="gnb">
|
||||
<h2>메인메뉴</h2>
|
||||
<ul id="gnb_1dul">
|
||||
<?php
|
||||
$sql = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_use = '1'
|
||||
and length(me_code) = '2'
|
||||
order by me_order, me_id ";
|
||||
$result = sql_query($sql, false);
|
||||
$gnb_zindex = 999; // gnb_1dli z-index 값 설정용
|
||||
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
?>
|
||||
<li class="gnb_1dli" style="z-index:<?php echo $gnb_zindex--; ?>">
|
||||
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
|
||||
<?php
|
||||
$sql2 = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_use = '1'
|
||||
and length(me_code) = '4'
|
||||
and substring(me_code, 1, 2) = '{$row['me_code']}'
|
||||
order by me_order, me_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
|
||||
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
|
||||
if($k == 0)
|
||||
echo '<ul class="gnb_2dul">'.PHP_EOL;
|
||||
?>
|
||||
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><?php echo $row2['me_name'] ?></a></li>
|
||||
<?php
|
||||
}
|
||||
|
||||
if($k > 0)
|
||||
echo '</ul>'.PHP_EOL;
|
||||
?>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($i == 0) { ?>
|
||||
<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하실 수 있습니다.<?php } ?></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<!-- } 상단 끝 -->
|
||||
|
||||
<hr>
|
||||
|
||||
<!-- 콘텐츠 시작 { -->
|
||||
<div id="wrapper">
|
||||
<div id="aside">
|
||||
<?php echo outlogin('theme/basic'); // 외부 로그인, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
<?php echo poll('theme/basic'); // 설문조사, 테마의 스킨을 사용하려면 스킨을 theme/basic 과 같이 지정 ?>
|
||||
</div>
|
||||
<div id="container">
|
||||
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
|
||||
91
theme/basic/head.sub.php
Normal file
@ -0,0 +1,91 @@
|
||||
<?php
|
||||
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
$begin_time = get_microtime();
|
||||
|
||||
if (!isset($g5['title'])) {
|
||||
$g5['title'] = $config['cf_title'];
|
||||
$g5_head_title = $g5['title'];
|
||||
}
|
||||
else {
|
||||
$g5_head_title = $g5['title']; // 상태바에 표시될 제목
|
||||
$g5_head_title .= " | ".$config['cf_title'];
|
||||
}
|
||||
|
||||
// 현재 접속자
|
||||
// 게시판 제목에 ' 포함되면 오류 발생
|
||||
$g5['lo_location'] = addslashes($g5['title']);
|
||||
if (!$g5['lo_location'])
|
||||
$g5['lo_location'] = addslashes(clean_xss_tags($_SERVER['REQUEST_URI']));
|
||||
$g5['lo_url'] = addslashes(clean_xss_tags($_SERVER['REQUEST_URI']));
|
||||
if (strstr($g5['lo_url'], '/'.G5_ADMIN_DIR.'/') || $is_admin == 'super') $g5['lo_url'] = '';
|
||||
|
||||
/*
|
||||
// 만료된 페이지로 사용하시는 경우
|
||||
header("Cache-Control: no-cache"); // HTTP/1.1
|
||||
header("Expires: 0"); // rfc2616 - Section 14.21
|
||||
header("Pragma: no-cache"); // HTTP/1.0
|
||||
*/
|
||||
?>
|
||||
<!doctype html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<?php
|
||||
if (G5_IS_MOBILE) {
|
||||
echo '<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=0,maximum-scale=10,user-scalable=yes">'.PHP_EOL;
|
||||
echo '<meta name="HandheldFriendly" content="true">'.PHP_EOL;
|
||||
echo '<meta name="format-detection" content="telephone=no">'.PHP_EOL;
|
||||
} else {
|
||||
echo '<meta http-equiv="imagetoolbar" content="no">'.PHP_EOL;
|
||||
echo '<meta http-equiv="X-UA-Compatible" content="IE=10,chrome=1">'.PHP_EOL;
|
||||
}
|
||||
|
||||
if($config['cf_add_meta'])
|
||||
echo $config['cf_add_meta'].PHP_EOL;
|
||||
?>
|
||||
<title><?php echo $g5_head_title; ?></title>
|
||||
<link rel="stylesheet" href="<?php echo G5_THEME_CSS_URL; ?>/<?php echo G5_IS_MOBILE ? 'mobile' : 'default'; ?>.css">
|
||||
<!--[if lte IE 8]>
|
||||
<script src="<?php echo G5_JS_URL ?>/html5.js"></script>
|
||||
<![endif]-->
|
||||
<script>
|
||||
// 자바스크립트에서 사용하는 전역변수 선언
|
||||
var g5_url = "<?php echo G5_URL ?>";
|
||||
var g5_bbs_url = "<?php echo G5_BBS_URL ?>";
|
||||
var g5_is_member = "<?php echo isset($is_member)?$is_member:''; ?>";
|
||||
var g5_is_admin = "<?php echo isset($is_admin)?$is_admin:''; ?>";
|
||||
var g5_is_mobile = "<?php echo G5_IS_MOBILE ?>";
|
||||
var g5_bo_table = "<?php echo isset($bo_table)?$bo_table:''; ?>";
|
||||
var g5_sca = "<?php echo isset($sca)?$sca:''; ?>";
|
||||
var g5_editor = "<?php echo ($config['cf_editor'] && $board['bo_use_dhtml_editor'])?$config['cf_editor']:''; ?>";
|
||||
var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>";
|
||||
<?php
|
||||
if ($is_admin) {
|
||||
echo 'var g5_admin_url = "'.G5_ADMIN_URL.'";'.PHP_EOL;
|
||||
}
|
||||
?>
|
||||
</script>
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery-1.8.3.min.js"></script>
|
||||
<script src="<?php echo G5_JS_URL ?>/jquery.menu.js"></script>
|
||||
<script src="<?php echo G5_JS_URL ?>/common.js"></script>
|
||||
<script src="<?php echo G5_JS_URL ?>/wrest.js"></script>
|
||||
<?php
|
||||
if(G5_IS_MOBILE) {
|
||||
echo '<script src="'.G5_JS_URL.'/modernizr.custom.70111.js"></script>'.PHP_EOL; // overflow scroll 감지
|
||||
}
|
||||
?>
|
||||
</head>
|
||||
<body>
|
||||
<?php
|
||||
if ($is_member) { // 회원이라면 로그인 중이라는 메세지를 출력해준다.
|
||||
$sr_admin_msg = '';
|
||||
if ($is_admin == 'super') $sr_admin_msg = "최고관리자 ";
|
||||
else if ($is_admin == 'group') $sr_admin_msg = "그룹관리자 ";
|
||||
else if ($is_admin == 'board') $sr_admin_msg = "게시판관리자 ";
|
||||
|
||||
echo '<div id="hd_login_msg">'.$sr_admin_msg.$member['mb_nick'].'님 로그인 중 ';
|
||||
echo '<a href="'.G5_BBS_URL.'/logout.php">로그아웃</a></div>';
|
||||
}
|
||||
?>
|
||||
BIN
theme/basic/img/gnb_bg00.gif
Normal file
|
After Width: | Height: | Size: 54 B |
BIN
theme/basic/img/wrest.gif
Normal file
|
After Width: | Height: | Size: 51 B |
43
theme/basic/index.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
define('_INDEX_', true);
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if (G5_IS_MOBILE) {
|
||||
include_once(G5_THEME_MOBILE_PATH.'/index.php');
|
||||
return;
|
||||
}
|
||||
|
||||
include_once(G5_THEME_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<h2 class="sound_only">최신글</h2>
|
||||
<!-- 최신글 시작 { -->
|
||||
<?php
|
||||
// 최신글
|
||||
$sql = " select bo_table
|
||||
from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
|
||||
where a.bo_device <> 'mobile' ";
|
||||
if(!$is_admin)
|
||||
$sql .= " and a.bo_use_cert = '' ";
|
||||
$sql .= " order by b.gr_order, a.bo_order ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
if ($i%2==1) $lt_style = "margin-left:20px";
|
||||
else $lt_style = "";
|
||||
?>
|
||||
<div style="float:left;<?php echo $lt_style ?>">
|
||||
<?php
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 사용방법 : latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
// 테마의 스킨을 사용하려면 theme/basic 과 같이 지정
|
||||
echo latest('theme/basic', $row['bo_table'], 5, 25);
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
?>
|
||||
<!-- } 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once(G5_THEME_PATH.'/tail.php');
|
||||
?>
|
||||
3
theme/basic/mobile/_common.php
Normal file
@ -0,0 +1,3 @@
|
||||
<?php
|
||||
include_once('../../../common.php');
|
||||
?>
|
||||
35
theme/basic/mobile/group.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
if(!$is_admin && $group['gr_device'] == 'pc')
|
||||
alert($group['gr_subject'].' 그룹은 PC에서만 접근할 수 있습니다.');
|
||||
|
||||
include_once(G5_THEME_MOBILE_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<!-- 메인화면 최신글 시작 -->
|
||||
<?php
|
||||
// 최신글
|
||||
$sql = " select bo_table, bo_subject
|
||||
from {$g5['board_table']}
|
||||
where gr_id = '{$gr_id}'
|
||||
and bo_list_level <= '{$member['mb_level']}'
|
||||
and bo_device <> 'pc' ";
|
||||
if(!$is_admin)
|
||||
$sql .= " and bo_use_cert = '' ";
|
||||
$sql .= " order by bo_table ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
|
||||
|
||||
// 사용방법
|
||||
// latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
echo latest('theme/basic', $row['bo_table'], 5, 70);
|
||||
}
|
||||
?>
|
||||
<!-- 메인화면 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
|
||||
?>
|
||||
177
theme/basic/mobile/head.php
Normal file
@ -0,0 +1,177 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
include_once(G5_THEME_PATH.'/head.sub.php');
|
||||
include_once(G5_LIB_PATH.'/latest.lib.php');
|
||||
include_once(G5_LIB_PATH.'/outlogin.lib.php');
|
||||
include_once(G5_LIB_PATH.'/poll.lib.php');
|
||||
include_once(G5_LIB_PATH.'/visit.lib.php');
|
||||
include_once(G5_LIB_PATH.'/connect.lib.php');
|
||||
include_once(G5_LIB_PATH.'/popular.lib.php');
|
||||
?>
|
||||
|
||||
<header id="hd">
|
||||
<h1 id="hd_h1"><?php echo $g5['title'] ?></h1>
|
||||
|
||||
<div class="to_content"><a href="#container">본문 바로가기</a></div>
|
||||
|
||||
<?php
|
||||
if(defined('_INDEX_')) { // index에서만 실행
|
||||
include G5_MOBILE_PATH.'/newwin.inc.php'; // 팝업레이어
|
||||
} ?>
|
||||
|
||||
<div id="hd_wrapper">
|
||||
|
||||
<div id="logo">
|
||||
<a href="<?php echo G5_URL ?>"><img src="<?php echo G5_IMG_URL ?>/logo.jpg" alt="<?php echo $config['cf_title']; ?>"></a>
|
||||
</div>
|
||||
|
||||
<button type="button" id="gnb_open" class="hd_opener">메뉴<span class="sound_only"> 열기</span></button>
|
||||
|
||||
<div id="gnb" class="hd_div">
|
||||
<ul id="gnb_1dul">
|
||||
<?php
|
||||
$sql = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_mobile_use = '1'
|
||||
and length(me_code) = '2'
|
||||
order by me_order, me_id ";
|
||||
$result = sql_query($sql, false);
|
||||
|
||||
for($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
?>
|
||||
<li class="gnb_1dli">
|
||||
<a href="<?php echo $row['me_link']; ?>" target="_<?php echo $row['me_target']; ?>" class="gnb_1da"><?php echo $row['me_name'] ?></a>
|
||||
<?php
|
||||
$sql2 = " select *
|
||||
from {$g5['menu_table']}
|
||||
where me_mobile_use = '1'
|
||||
and length(me_code) = '4'
|
||||
and substring(me_code, 1, 2) = '{$row['me_code']}'
|
||||
order by me_order, me_id ";
|
||||
$result2 = sql_query($sql2);
|
||||
|
||||
for ($k=0; $row2=sql_fetch_array($result2); $k++) {
|
||||
if($k == 0)
|
||||
echo '<ul class="gnb_2dul">'.PHP_EOL;
|
||||
?>
|
||||
<li class="gnb_2dli"><a href="<?php echo $row2['me_link']; ?>" target="_<?php echo $row2['me_target']; ?>" class="gnb_2da"><span></span><?php echo $row2['me_name'] ?></a></li>
|
||||
<?php
|
||||
}
|
||||
|
||||
if($k > 0)
|
||||
echo '</ul>'.PHP_EOL;
|
||||
?>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
|
||||
if ($i == 0) { ?>
|
||||
<li id="gnb_empty">메뉴 준비 중입니다.<?php if ($is_admin) { ?> <br><a href="<?php echo G5_ADMIN_URL; ?>/menu_list.php">관리자모드 > 환경설정 > 메뉴설정</a>에서 설정하세요.<?php } ?></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
<button type="button" id="gnb_close" class="hd_closer"><span class="sound_only">메뉴 </span>닫기</button>
|
||||
</div>
|
||||
|
||||
<button type="button" id="hd_sch_open" class="hd_opener">검색<span class="sound_only"> 열기</span></button>
|
||||
|
||||
<div id="hd_sch" class="hd_div">
|
||||
<h2>사이트 내 전체검색</h2>
|
||||
<form name="fsearchbox" action="<?php echo G5_BBS_URL ?>/search.php" onsubmit="return fsearchbox_submit(this);" method="get">
|
||||
<input type="hidden" name="sfl" value="wr_subject||wr_content">
|
||||
<input type="hidden" name="sop" value="and">
|
||||
<input type="text" name="stx" id="sch_stx" placeholder="검색어(필수)" required class="required" maxlength="20">
|
||||
<input type="submit" value="검색" id="sch_submit">
|
||||
</form>
|
||||
|
||||
<script>
|
||||
function fsearchbox_submit(f)
|
||||
{
|
||||
if (f.stx.value.length < 2) {
|
||||
alert("검색어는 두글자 이상 입력하십시오.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
// 검색에 많은 부하가 걸리는 경우 이 주석을 제거하세요.
|
||||
var cnt = 0;
|
||||
for (var i=0; i<f.stx.value.length; i++) {
|
||||
if (f.stx.value.charAt(i) == ' ')
|
||||
cnt++;
|
||||
}
|
||||
|
||||
if (cnt > 1) {
|
||||
alert("빠른 검색을 위하여 검색어에 공백은 한개만 입력할 수 있습니다.");
|
||||
f.stx.select();
|
||||
f.stx.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
<button type="button" id="sch_close" class="hd_closer"><span class="sound_only">검색 </span>닫기</button>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(function () {
|
||||
$(".hd_opener").on("click", function() {
|
||||
var $this = $(this);
|
||||
var $hd_layer = $this.next(".hd_div");
|
||||
|
||||
if($hd_layer.is(":visible")) {
|
||||
$hd_layer.hide();
|
||||
$this.find("span").text("열기");
|
||||
} else {
|
||||
var $hd_layer2 = $(".hd_div:visible");
|
||||
$hd_layer2.prev(".hd_opener").find("span").text("열기");
|
||||
$hd_layer2.hide();
|
||||
|
||||
$hd_layer.show();
|
||||
$this.find("span").text("닫기");
|
||||
}
|
||||
});
|
||||
|
||||
$(".hd_closer").on("click", function() {
|
||||
var idx = $(".hd_closer").index($(this));
|
||||
$(".hd_div:visible").hide();
|
||||
$(".hd_opener:eq("+idx+")").find("span").text("열기");
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<ul id="hd_nb">
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/qalist.php" id="snb_new">1:1문의</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/faq.php" id="snb_faq">FAQ</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/current_connect.php" id="snb_cnt">접속자 <?php echo connect('theme/basic'); // 현재 접속자수 ?></a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/new.php" id="snb_new">새글</a></li>
|
||||
<?php if ($is_member) { ?>
|
||||
<?php if ($is_admin) { ?>
|
||||
<li><a href="<?php echo G5_ADMIN_URL ?>" id="snb_adm"><b>관리자</b></a></li>
|
||||
<?php } ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/member_confirm.php?url=<?php echo G5_BBS_URL ?>/register_form.php" id="snb_modify">정보수정</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/logout.php" id="snb_logout">로그아웃</a></li>
|
||||
<?php } else { ?>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/register.php" id="snb_join">회원가입</a></li>
|
||||
<li><a href="<?php echo G5_BBS_URL ?>/login.php" id="snb_login">로그인</a></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<hr>
|
||||
|
||||
<div id="wrapper">
|
||||
<div id="aside">
|
||||
<?php echo outlogin('theme/basic'); // 외부 로그인 ?>
|
||||
</div>
|
||||
<div id="container">
|
||||
<?php if ((!$bo_table || $w == 's' ) && !defined("_INDEX_")) { ?><div id="container_title"><?php echo $g5['title'] ?></div><?php } ?>
|
||||
<div id="text_size">
|
||||
<!-- font_resize('엘리먼트id', '제거할 class', '추가할 class'); -->
|
||||
<button id="size_down" onclick="font_resize('container', 'ts_up ts_up2', '');"><img src="<?php echo G5_URL; ?>/img/ts01.gif" alt="기본"></button>
|
||||
<button id="size_def" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up');"><img src="<?php echo G5_URL; ?>/img/ts02.gif" alt="크게"></button>
|
||||
<button id="size_up" onclick="font_resize('container', 'ts_up ts_up2', 'ts_up2');"><img src="<?php echo G5_URL; ?>/img/ts03.gif" alt="더크게"></button>
|
||||
</div>
|
||||
30
theme/basic/mobile/index.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
include_once(G5_THEME_MOBILE_PATH.'/head.php');
|
||||
?>
|
||||
|
||||
<!-- 메인화면 최신글 시작 -->
|
||||
<?php
|
||||
// 최신글
|
||||
$sql = " select bo_table
|
||||
from `{$g5['board_table']}` a left join `{$g5['group_table']}` b on (a.gr_id=b.gr_id)
|
||||
where a.bo_device <> 'pc' ";
|
||||
if(!$is_admin)
|
||||
$sql .= " and a.bo_use_cert = '' ";
|
||||
$sql .= " order by b.gr_order, a.bo_order ";
|
||||
$result = sql_query($sql);
|
||||
for ($i=0; $row=sql_fetch_array($result); $i++) {
|
||||
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
|
||||
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.
|
||||
|
||||
// 사용방법
|
||||
// latest(스킨, 게시판아이디, 출력라인, 글자수);
|
||||
echo latest('theme/basic', $row['bo_table'], 5, 25);
|
||||
}
|
||||
?>
|
||||
<!-- 메인화면 최신글 끝 -->
|
||||
|
||||
<?php
|
||||
include_once(G5_THEME_MOBILE_PATH.'/tail.php');
|
||||
?>
|
||||
BIN
theme/basic/mobile/skin/board/basic/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 107 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 145 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 104 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 62 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 77 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/basic/mobile/skin/board/basic/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
224
theme/basic/mobile/skin/board/basic/list.skin.php
Normal file
@ -0,0 +1,224 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// 선택옵션으로 인해 셀합치기가 가변적으로 변함
|
||||
$colspan = 2;
|
||||
|
||||
if ($is_checkbox) $colspan++;
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<h2 id="container_title"><?php echo $board['bo_subject'] ?><span class="sound_only"> 목록</span></h2>
|
||||
|
||||
<!-- 게시판 목록 시작 -->
|
||||
<div id="bo_list<?php if ($is_admin) echo "_admin"; ?>">
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_fx">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?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_b02">글쓰기</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<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="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="sw" value="">
|
||||
|
||||
<div class="tbl_head01 tbl_wrap">
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<th scope="col">
|
||||
<label for="chkall">현재 페이지 게시물 전체</label>
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
|
||||
</th>
|
||||
<?php } ?>
|
||||
<th scope="col">제목</th>
|
||||
<th scope="col"><?php echo subject_sort_link('wr_datetime', $qstr2, 1) ?>날짜</a></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
?>
|
||||
<tr class="<?php if ($list[$i]['is_notice']) echo "bo_notice"; ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<td class="td_chk">
|
||||
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
|
||||
</td><?php } ?>
|
||||
<td class="td_subject">
|
||||
<?php
|
||||
echo $list[$i]['icon_reply'];
|
||||
if ($is_category && $list[$i]['ca_name']) {
|
||||
?>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
|
||||
<?php } ?>
|
||||
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
|
||||
if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
|
||||
if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
|
||||
if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret'];
|
||||
|
||||
?>
|
||||
</a>
|
||||
|
||||
</td>
|
||||
<td class="td_date"><?php echo $list[$i]['datetime2'] ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo '<tr><td colspan="'.$colspan.'" class="empty_table">게시물이 없습니다.</td></tr>'; } ?>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_adm">
|
||||
<?php if ($list_href) { ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01"> 목록</a></li>
|
||||
<?php } ?>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><input type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"></li>
|
||||
<li><input type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"></li>
|
||||
<li><input type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
<ul class="btn_bo_user">
|
||||
<li><?php if ($write_href) { ?><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a><?php } ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
|
||||
<fieldset id="bo_sch">
|
||||
<legend>게시물 검색</legend>
|
||||
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<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">
|
||||
<option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>제목</option>
|
||||
<option value="wr_content"<?php echo get_selected($sfl, 'wr_content'); ?>>내용</option>
|
||||
<option value="wr_subject||wr_content"<?php echo get_selected($sfl, 'wr_subject||wr_content'); ?>>제목+내용</option>
|
||||
<option value="mb_id,1"<?php echo get_selected($sfl, 'mb_id,1'); ?>>회원아이디</option>
|
||||
<option value="mb_id,0"<?php echo get_selected($sfl, 'mb_id,0'); ?>>회원아이디(코)</option>
|
||||
<option value="wr_name,1"<?php echo get_selected($sfl, 'wr_name,1'); ?>>글쓴이</option>
|
||||
<option value="wr_name,0"<?php echo get_selected($sfl, 'wr_name,0'); ?>>글쓴이(코)</option>
|
||||
</select>
|
||||
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required frm_input" size="15" maxlength="20">
|
||||
<input type="submit" value="검색" class="btn_submit">
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fboardlist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택복사") {
|
||||
select_copy("copy");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택이동") {
|
||||
select_copy("move");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
|
||||
return false;
|
||||
|
||||
f.removeAttribute("target");
|
||||
f.action = "./board_list_update.php";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 선택한 게시물 복사 및 이동
|
||||
function select_copy(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
if (sw == 'copy')
|
||||
str = "복사";
|
||||
else
|
||||
str = "이동";
|
||||
|
||||
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
|
||||
f.sw.value = sw;
|
||||
f.target = "move";
|
||||
f.action = "./move.php";
|
||||
f.submit();
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- 게시판 목록 끝 -->
|
||||
238
theme/basic/mobile/skin/board/basic/style.css
Normal file
@ -0,0 +1,238 @@
|
||||
@charset "utf-8";
|
||||
/* SIR 지운아빠 */
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_list a.btn_b01 {}
|
||||
#bo_list a.btn_b01:focus, #bo_list .btn_b01:hover {}
|
||||
#bo_list a.btn_b02 {}
|
||||
#bo_list a.btn_b02:focus, #bo_list .btn_b02:hover {}
|
||||
#bo_list a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_list a.btn_admin:focus, #bo_list a.btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {}
|
||||
#bo_w .btn_cancel {}
|
||||
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
|
||||
/* 기본테이블 */
|
||||
/* 목록 테이블 */
|
||||
#bo_list .tbl_head01 {}
|
||||
#bo_list .tbl_head01 caption {}
|
||||
#bo_list .tbl_head01 thead th {}
|
||||
#bo_list .tbl_head01 thead a {}
|
||||
#bo_list .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_list .tbl_head01 tfoot th {}
|
||||
#bo_list .tbl_head01 tfoot td {}
|
||||
#bo_list .tbl_head01 tbody th {}
|
||||
#bo_list .tbl_head01 td {}
|
||||
#bo_list .tbl_head01 a {}
|
||||
#bo_list td.empty_table {}
|
||||
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
#bo_w .frm_info {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 caption {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
/*
|
||||
#bo_w .tbl_frm01 #captcha {}
|
||||
#bo_w .tbl_frm01 #captcha input {}
|
||||
*/
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 게시판 목록 */
|
||||
#bo_list .td_chk {width:30px;text-align:center}
|
||||
#bo_list .td_group {width:100px;text-align:center}
|
||||
#bo_list .td_board {width:120px;text-align:center}
|
||||
#bo_list .td_num {width:50px;text-align:center}
|
||||
#bo_list .td_numbig {width:80px;text-align:center}
|
||||
#bo_list .td_mb_id {width:100px;text-align:center}
|
||||
#bo_list .td_nick {width:100px;text-align:center}
|
||||
#bo_list .td_name {width:100px;text-align:left}
|
||||
#bo_list .td_date {width:60px;text-align:center}
|
||||
#bo_list .td_datetime {width:150px;text-align:center}
|
||||
#bo_list .td_mng {width:80px;text-align:center}
|
||||
|
||||
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {margin:5px 10px;padding-left:1px;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {float:left;margin-bottom:-1px;width:25%}
|
||||
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:5px 0;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;text-decoration:none;letter-spacing:-0.1em}
|
||||
#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}
|
||||
|
||||
/* 관리자일 때 */
|
||||
#bo_list_admin th label {position:absolute;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_list_admin th:nth-of-type(1) {width:40px}
|
||||
#bo_list_admin th:nth-of-type(3) {width:100px}
|
||||
|
||||
#bo_list_admin td:nth-of-type(1) {text-align:center}
|
||||
#bo_list_admin td:nth-of-type(3) {text-align:center}
|
||||
|
||||
/* 관리자가 아닐 때 */
|
||||
#bo_list th:nth-of-type(2) {width:100px}
|
||||
|
||||
#bo_list td:nth-of-type(2) {text-align:center}
|
||||
|
||||
/* 게시판 목록 공통 */
|
||||
.bo_fx {margin-bottom:5px;padding:5px 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
#bo_list_total {float:left;padding:0;height:2.5em;line-height:2.5em}
|
||||
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
|
||||
.btn_bo_user li {float:left;margin-left:5px}
|
||||
.btn_bo_adm {float:left}
|
||||
.btn_bo_adm li {float:left;margin-right:5px}
|
||||
.btn_bo_adm input {padding:8px;border:0;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.bo_notice td {background:#f7f7f7}
|
||||
.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} /* 글제목줄 분류스타일 */
|
||||
.bo_current {color:#e8180c}
|
||||
.td_subject a {display:block}
|
||||
.td_subject img {margin-left:3px}
|
||||
#bo_list .cnt_cmt {display:inline-block;margin:0 0 0 3px;font-weight:bold}
|
||||
|
||||
#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#bo_w #wr_email, #bo_w #wr_homepage, #bo_w #wr_subject {width:100%}
|
||||
|
||||
#char_count_desc {display:block;margin:0 0 5px;padding:0}
|
||||
#char_count_wrap {margin:5px 0 0;text-align:right}
|
||||
#char_count {font-weight:bold}
|
||||
|
||||
#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:15px;padding-bottom:15px}
|
||||
|
||||
#bo_v_table {padding:0 10px;color:#999;font-size:0.9em;font-weight:bold}
|
||||
|
||||
#bo_v_title {padding:0 10px 5px;font-size:1.2em}
|
||||
|
||||
#bo_v_info {padding:0 10px 10px;border-bottom:1px solid #ddd}
|
||||
#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_info {}
|
||||
#bo_v_info strong {display:inline-block;margin:0 0 0 5px;font-weight:normal}
|
||||
|
||||
#bo_v_file {}
|
||||
#bo_v_file h2 {position:absolute;font-size:0;text-indent:-9999em;line-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:#f7f7f7}
|
||||
#bo_v_file a {display:inline-block;padding:5px 0;color:#000;text-decoration:none}
|
||||
#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 {position:absolute;font-size:0;text-indent:-9999em;line-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:#f7f7f7}
|
||||
#bo_v_link a {display:inline-block;padding:5px 0;color:#000;text-decoration:none}
|
||||
#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}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
#bo_v_bot {padding:0 10px}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
.bo_v_nb {float:left}
|
||||
.bo_v_nb li {float:left;margin-right:5px}
|
||||
.bo_v_com {float:right}
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
|
||||
#bo_v_atc {padding:0 10px;min-height:200px}
|
||||
#bo_v_atc_title {margin:0;padding:0;height:0;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:""}
|
||||
#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto}
|
||||
|
||||
#bo_v_con {margin-bottom:20px;width:100%;font-size:1.250em;line-height:1.7em;word-break:break-all;overflow:hidden}
|
||||
#bo_v_con a {color:#000;text-decoration:underline}
|
||||
#bo_v_con img {max-width:100%;height:auto}
|
||||
|
||||
#bo_v_act {position:relative;margin-bottom:20px;text-align:center}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle}
|
||||
#bo_v_act strong {color:#ff3061}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;right:10%;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
|
||||
#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns li {float:left;margin:0 5px 0 0}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {margin:0 0 20px;padding:20px 10px 10px;border:1px solid #e5e8ec;background:#f5f8f9}
|
||||
#bo_vc h2 {margin-bottom:5px}
|
||||
#bo_vc article {padding:0 0 5px;border-top:1px dotted #ccc}
|
||||
#bo_vc header {position:relative;padding:13px 0 5px}
|
||||
#bo_vc header .icon_reply {position:absolute;top:13px;left:-20px}
|
||||
#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;margin:0 10px 0 5px}
|
||||
#bo_vc h1 {width:0;height:0;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 p a.s_cmt {text-decoration:none}
|
||||
#bo_vc_empty {margin:0;padding:15px !important;text-align:center}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
#bo_vc footer {zoom:1}
|
||||
#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
.bo_vc_act {float:right;margin:0;list-style:none}
|
||||
.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-bottom:10px;padding:0 10px 15px;border-bottom:1px solid #dde4e9}
|
||||
#bo_vc_w h2 {padding:10px 0 5px}
|
||||
#bo_vc_w .tbl_wrap {margin:0 0 15px}
|
||||
#bo_vc_w #char_cnt {display:block;margin-bottom:5px}
|
||||
#bo_vc_w textarea {width:99%}
|
||||
|
||||
#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_vc_sns li {float:left;margin:0 10px 0 0}
|
||||
#bo_vc_sns input {margin:0 0 0 5px}
|
||||
270
theme/basic/mobile/skin/board/basic/view.skin.php
Normal file
@ -0,0 +1,270 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<div id="bo_v_table"><?php echo $board['bo_subject']; ?></div>
|
||||
|
||||
<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>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<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>
|
||||
댓글<strong><?php echo number_format($view['wr_comment']) ?>건</strong>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
if ($view['file']['count']) {
|
||||
$cnt = 0;
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||
<img src="<?php echo $board_skin_url ?>/img/icon_file.gif" alt="첨부">
|
||||
<strong><?php echo $view['file'][$i]['source'] ?></strong>
|
||||
<?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
|
||||
</a>
|
||||
<span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드</span>
|
||||
<span>DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ($view['link']) {
|
||||
?>
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 링크
|
||||
$cnt = 0;
|
||||
for ($i=1; $i<=count($view['link']); $i++) {
|
||||
if ($view['link'][$i]) {
|
||||
$cnt++;
|
||||
$link = cut_str($view['link'][$i], 70);
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
|
||||
<img src="<?php echo $board_skin_url ?>/img/icon_link.gif" alt="관련링크">
|
||||
<strong><?php echo $link ?></strong>
|
||||
</a>
|
||||
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<?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">이전글</a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01">다음글</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01">수정</a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01" onclick="del(this.href); return false;">삭제</a></li><?php } ?>
|
||||
<?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">복사</a></li><?php } ?>
|
||||
<?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">이동</a></li><?php } ?>
|
||||
<?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>" class="btn_b01">검색</a></li><?php } ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li>
|
||||
<?php if ($reply_href) { ?><li><a href="<?php echo $reply_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
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
$v_img_count = count($view['file']);
|
||||
if($v_img_count) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<=count($view['file']); $i++) {
|
||||
if ($view['file'][$i]['view']) {
|
||||
//echo $view['file'][$i]['view'];
|
||||
echo get_view_thumbnail($view['file'][$i]['view']);
|
||||
}
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
|
||||
<?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
|
||||
<?php if ($is_signature) { ?><p><?php echo $signature ?></p><?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) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<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>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<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>
|
||||
</span>
|
||||
<?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 } ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view.sns.skin.php");
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<div id="bo_v_bot">
|
||||
<!-- 링크 버튼 -->
|
||||
<?php echo $link_buttons ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<?php if ($board['bo_download_point'] < 0) { ?>
|
||||
$(function() {
|
||||
$("a.view_file_download").click(function() {
|
||||
if(!g5_is_member) {
|
||||
alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||
|
||||
if(confirm(msg)) {
|
||||
var href = $(this).attr("href")+"&js=on";
|
||||
$(this).attr("href", href);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
function board_move(href)
|
||||
{
|
||||
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 게시글 보기 끝 -->
|
||||
|
||||
<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;
|
||||
});
|
||||
|
||||
// 추천, 비추천
|
||||
$("#good_button, #nogood_button").click(function() {
|
||||
var $tx;
|
||||
if(this.id == "good_button")
|
||||
$tx = $("#bo_v_act_good");
|
||||
else
|
||||
$tx = $("#bo_v_act_nogood");
|
||||
|
||||
excute_good(this.href, $(this), $tx);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
|
||||
function excute_good(href, $el, $tx)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$el.find("strong").text(number_format(String(data.count)));
|
||||
if($tx.attr("id").search("nogood") > -1) {
|
||||
$tx.text("이 글을 비추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
} else {
|
||||
$tx.text("이 글을 추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
}
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
321
theme/basic/mobile/skin/board/basic/view_comment.skin.php
Normal file
@ -0,0 +1,321 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<script>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $comment_min ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</script>
|
||||
|
||||
<!-- 댓글 리스트 -->
|
||||
<section id="bo_vc">
|
||||
<h2>댓글목록</h2>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
$comment_id = $list[$i]['wr_id'];
|
||||
$cmt_depth = ""; // 댓글단계
|
||||
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20;
|
||||
$str = $list[$i]['content'];
|
||||
if (strstr($list[$i]['wr_option'], "secret"))
|
||||
$str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>>
|
||||
<header>
|
||||
<h1><?php echo get_text($list[$i]['wr_name']); ?>님의 댓글</h1>
|
||||
<?php echo $list[$i]['name'] ?>
|
||||
<?php if ($cmt_depth) { ?><img src="<?php echo $board_skin_url ?>/img/icon_reply.gif" alt="댓글의 댓글" class="icon_reply"><?php } ?>
|
||||
<?php if ($is_ip_view) { ?>
|
||||
아이피
|
||||
<span class="bo_vc_hdinfo"><?php echo $list[$i]['ip']; ?></span>
|
||||
<?php } ?>
|
||||
작성일
|
||||
<span class="bo_vc_hdinfo"><time datetime="<?php echo date('Y-m-d\TH:i:s+09:00', strtotime($list[$i]['datetime'])) ?>"><?php echo $list[$i]['datetime'] ?></time></span>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view_comment_list.sns.skin.php");
|
||||
?>
|
||||
</header>
|
||||
|
||||
<!-- 댓글 출력 -->
|
||||
<p>
|
||||
<?php if (strstr($list[$i]['wr_option'], "secret")) echo "<img src=\"".$board_skin_url."/img/icon_secret.gif\" alt=\"비밀글\">"; ?>
|
||||
<?php echo $str ?>
|
||||
</p>
|
||||
|
||||
<span id="edit_<?php echo $comment_id ?>"></span><!-- 수정 -->
|
||||
<span id="reply_<?php echo $comment_id ?>"></span><!-- 답변 -->
|
||||
|
||||
<input type="hidden" id="secret_comment_<?php echo $comment_id ?>" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>">
|
||||
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
|
||||
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
|
||||
$c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<footer>
|
||||
<ul class="bo_vc_act">
|
||||
<?php if ($list[$i]['is_reply']) { ?><li><a href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_edit']) { ?><li><a href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_del']) { ?><li><a href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
|
||||
</ul>
|
||||
</footer>
|
||||
<?php } ?>
|
||||
</article>
|
||||
<?php } ?>
|
||||
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
|
||||
|
||||
</section>
|
||||
|
||||
<?php if ($is_comment_write) {
|
||||
if($w == '')
|
||||
$w = 'c';
|
||||
?>
|
||||
<aside 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="">
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<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 } ?>
|
||||
<?php
|
||||
if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) {
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">SNS 동시등록</th>
|
||||
<td id="bo_vc_send_sns"></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" 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 } ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="댓글등록" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</aside>
|
||||
|
||||
<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;
|
||||
}
|
||||
}
|
||||
|
||||
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: g5_bbs_url+"/ajax.filter.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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
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(); ?>
|
||||
|
||||
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)
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
document.getElementById(save_before).innerHTML = '';
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
if(save_before)
|
||||
$("#captcha_reload").trigger("click");
|
||||
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
|
||||
<?php if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) { ?>
|
||||
// sns 등록
|
||||
$(function() {
|
||||
$("#bo_vc_send_sns").load(
|
||||
"<?php echo G5_SNS_URL; ?>/view_comment_write.sns.skin.php?bo_table=<?php echo $bo_table; ?>",
|
||||
function() {
|
||||
save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
}
|
||||
);
|
||||
});
|
||||
<?php } ?>
|
||||
</script>
|
||||
<?php } ?>
|
||||
252
theme/basic/mobile/skin/board/basic/write.skin.php
Normal file
@ -0,0 +1,252 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<section id="bo_w">
|
||||
<h2 id="container_title"><?php echo $g5['title'] ?></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="bo_table" value="<?php echo $bo_table ?>">
|
||||
<input type="hidden" name="wr_id" value="<?php echo $wr_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="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<?php
|
||||
$option = '';
|
||||
$option_hidden = '';
|
||||
if ($is_notice || $is_html || $is_secret || $is_mail) {
|
||||
$option = '';
|
||||
if ($is_notice) {
|
||||
$option .= PHP_EOL.'<input type="checkbox" id="notice" name="notice" value="1" '.$notice_checked.'>'.PHP_EOL.'<label for="notice">공지</label>';
|
||||
}
|
||||
|
||||
if ($is_html) {
|
||||
if ($is_dhtml_editor) {
|
||||
$option_hidden .= '<input type="hidden" value="html1" name="html">';
|
||||
} else {
|
||||
$option .= PHP_EOL.'<input type="checkbox" id="html" name="html" onclick="html_auto_br(this);" value="'.$html_value.'" '.$html_checked.'>'.PHP_EOL.'<label for="html">html</label>';
|
||||
}
|
||||
}
|
||||
|
||||
if ($is_secret) {
|
||||
if ($is_admin || $is_secret==1) {
|
||||
$option .= PHP_EOL.'<input type="checkbox" id="secret" name="secret" value="secret" '.$secret_checked.'>'.PHP_EOL.'<label for="secret">비밀글</label>';
|
||||
} else {
|
||||
$option_hidden .= '<input type="hidden" name="secret" value="secret">';
|
||||
}
|
||||
}
|
||||
|
||||
if ($is_mail) {
|
||||
$option .= PHP_EOL.'<input type="checkbox" id="mail" name="mail" value="mail" '.$recv_email_checked.'>'.PHP_EOL.'<label for="mail">답변메일받기</label>';
|
||||
}
|
||||
}
|
||||
|
||||
echo $option_hidden;
|
||||
?>
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<caption><?php echo $g5['title'] ?></caption>
|
||||
<tbody>
|
||||
<?php if ($is_name) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_name">이름<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="wr_name" value="<?php echo $name ?>" id="wr_name" required class="frm_input required" maxlength="20"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_password) { ?>
|
||||
<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" <?php echo $password_required ?> class="frm_input <?php echo $password_required ?>" maxlength="20"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_email) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_email">이메일</label></th>
|
||||
<td><input type="email" name="wr_email" value="<?php echo $email ?>" id="wr_email" class="frm_input email" maxlength="100"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_homepage) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_homepage">홈페이지</label></th>
|
||||
<td><input type="url" name="wr_homepage" value="<?php echo $homepage ?>" id="wr_homepage" class="frm_input"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($option) { ?>
|
||||
<tr>
|
||||
<th scope="row">옵션</th>
|
||||
<td><?php echo $option ?></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="ca_name">분류<strong class="sound_only">필수</strong></label></th>
|
||||
<td>
|
||||
<select class="required" id="ca_name" name="ca_name" required>
|
||||
<option value="">선택하세요</option>
|
||||
<?php echo $category_option ?>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_subject">제목<strong class="sound_only">필수</strong></label></th>
|
||||
<td><input type="text" name="wr_subject" value="<?php echo $subject ?>" id="wr_subject" required class="frm_input required"></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_content">내용<strong class="sound_only">필수</strong></label></th>
|
||||
<td class="wr_content">
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<p id="char_count_desc">이 게시판은 최소 <strong><?php echo $write_min; ?></strong>글자 이상, 최대 <strong><?php echo $write_max; ?></strong>글자 이하까지 글을 쓰실 수 있습니다.</p>
|
||||
<?php } ?>
|
||||
<?php echo $editor_html; // 에디터 사용시는 에디터로, 아니면 textarea 로 노출 ?>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
<!-- 최소/최대 글자 수 사용 시 -->
|
||||
<div id="char_count_wrap"><span id="char_count"></span>글자</div>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<?php for ($i=1; $is_link && $i<=G5_LINK_COUNT; $i++) { ?>
|
||||
<tr>
|
||||
<th scope="row"><label for="wr_link<?php echo $i ?>">링크 #<?php echo $i ?></label></th>
|
||||
<td><input type="url" name="wr_link<?php echo $i ?>" value="<?php if($w=="u"){echo$write['wr_link'.$i];} ?>" id="wr_link<?php echo $i ?>" class="frm_input wr_link"></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php for ($i=0; $is_file && $i<$file_count; $i++) { ?>
|
||||
<tr>
|
||||
<th scope="row">파일 #<?php echo $i+1 ?></th>
|
||||
<td>
|
||||
<input type="file" name="bf_file[]" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="frm_file frm_input">
|
||||
<?php if ($is_file_content) { ?>
|
||||
<input type="text" name="bf_content[]" value="<?php echo ($w == 'u') ? $file[$i]['bf_content'] : ''; ?>" title="파일 설명을 입력해주세요." class="frm_file frm_input">
|
||||
<?php } ?>
|
||||
<?php if($w == 'u' && $file[$i]['file']) { ?>
|
||||
<input type="checkbox" id="bf_file_del<?php echo $i ?>" name="bf_file_del[<?php echo $i; ?>]" value="1"> <label for="bf_file_del<?php echo $i ?>"><?php echo $file[$i]['source'].'('.$file[$i]['size'].')'; ?> 파일 삭제</label>
|
||||
<?php } ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($is_guest) { //자동등록방지 ?>
|
||||
<tr>
|
||||
<th scope="row">자동등록방지</th>
|
||||
<td>
|
||||
<?php echo $captcha_html ?>
|
||||
</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="작성완료" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
<a href="./board.php?bo_table=<?php echo $bo_table ?>" class="btn_cancel">취소</a>
|
||||
</div>
|
||||
</form>
|
||||
</section>
|
||||
|
||||
<script>
|
||||
<?php if($write_min || $write_max) { ?>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $write_min; ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $write_max; ?>); // 최대
|
||||
check_byte("wr_content", "char_count");
|
||||
|
||||
$(function() {
|
||||
$("#wr_content").on("keyup", function() {
|
||||
check_byte("wr_content", "char_count");
|
||||
});
|
||||
});
|
||||
|
||||
<?php } ?>
|
||||
function html_auto_br(obj)
|
||||
{
|
||||
if (obj.checked) {
|
||||
result = confirm("자동 줄바꿈을 하시겠습니까?\n\n자동 줄바꿈은 게시물 내용중 줄바뀐 곳을<br>태그로 변환하는 기능입니다.");
|
||||
if (result)
|
||||
obj.value = "html2";
|
||||
else
|
||||
obj.value = "html1";
|
||||
}
|
||||
else
|
||||
obj.value = "";
|
||||
}
|
||||
|
||||
function fwrite_submit(f)
|
||||
{
|
||||
<?php echo get_editor_js('wr_content', $is_dhtml_editor); ?>
|
||||
<?php echo chk_editor_js('wr_content', $is_dhtml_editor); ?>
|
||||
|
||||
var subject = "";
|
||||
var content = "";
|
||||
$.ajax({
|
||||
url: g5_bbs_url+"/ajax.filter.php",
|
||||
type: "POST",
|
||||
data: {
|
||||
"subject": f.wr_subject.value,
|
||||
"content": f.wr_content.value
|
||||
},
|
||||
dataType: "json",
|
||||
async: false,
|
||||
cache: false,
|
||||
success: function(data, textStatus) {
|
||||
subject = data.subject;
|
||||
content = data.content;
|
||||
}
|
||||
});
|
||||
|
||||
if (subject) {
|
||||
alert("제목에 금지단어('"+subject+"')가 포함되어있습니다");
|
||||
f.wr_subject.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (content) {
|
||||
alert("내용에 금지단어('"+content+"')가 포함되어있습니다");
|
||||
if (typeof(ed_wr_content) != "undefined")
|
||||
ed_wr_content.returnFalse();
|
||||
else
|
||||
f.wr_content.focus();
|
||||
return false;
|
||||
}
|
||||
|
||||
if (document.getElementById("char_count")) {
|
||||
if (char_min > 0 || char_max > 0) {
|
||||
var cnt = parseInt(check_byte("wr_content", "char_count"));
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
<?php if ($is_guest) { echo chk_captcha_js(); } ?>
|
||||
|
||||
document.getElementById("btn_submit").disabled = "disabled";
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
BIN
theme/basic/mobile/skin/board/gallery/img/icon_file.gif
Normal file
|
After Width: | Height: | Size: 107 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_hot.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_img.gif
Normal file
|
After Width: | Height: | Size: 145 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_link.gif
Normal file
|
After Width: | Height: | Size: 104 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_mobile.gif
Normal file
|
After Width: | Height: | Size: 62 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_movie.gif
Normal file
|
After Width: | Height: | Size: 110 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_new.gif
Normal file
|
After Width: | Height: | Size: 71 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_reply.gif
Normal file
|
After Width: | Height: | Size: 77 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_secret.gif
Normal file
|
After Width: | Height: | Size: 97 B |
BIN
theme/basic/mobile/skin/board/gallery/img/icon_sound.gif
Normal file
|
After Width: | Height: | Size: 113 B |
251
theme/basic/mobile/skin/board/gallery/list.skin.php
Normal file
@ -0,0 +1,251 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/jquery.fancylist.js"></script>
|
||||
|
||||
<h2 id="container_title"><?php echo $board['bo_subject'] ?><span class="sound_only"> 목록</span></h2>
|
||||
|
||||
<!-- 게시판 목록 시작 -->
|
||||
<div id="bo_gall">
|
||||
|
||||
<?php if ($is_category) { ?>
|
||||
<nav id="bo_cate">
|
||||
<h2><?php echo $board['bo_subject'] ?> 카테고리</h2>
|
||||
<ul id="bo_cate_ul">
|
||||
<?php echo $category_option ?>
|
||||
</ul>
|
||||
</nav>
|
||||
<?php } ?>
|
||||
|
||||
<div class="bo_fx">
|
||||
<div id="bo_list_total">
|
||||
<span>Total <?php echo number_format($total_count) ?>건</span>
|
||||
<?php echo $page ?> 페이지
|
||||
</div>
|
||||
|
||||
<?php if ($rss_href || $write_href) { ?>
|
||||
<ul class="btn_bo_user">
|
||||
<?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_b02">글쓰기</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
</div>
|
||||
|
||||
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<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="sst" value="<?php echo $sst ?>">
|
||||
<input type="hidden" name="sod" value="<?php echo $sod ?>">
|
||||
<input type="hidden" name="page" value="<?php echo $page ?>">
|
||||
<input type="hidden" name="sw" value="">
|
||||
|
||||
<h2>이미지 목록</h2>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<div id="gall_allchk">
|
||||
<label for="chkall" class="sound_only">현재 페이지 게시물 전체</label>
|
||||
<input type="checkbox" id="chkall" onclick="if (this.checked) all_checked(true); else all_checked(false);">
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
<ul id="gall_ul">
|
||||
<?php for ($i=0; $i<count($list); $i++) {
|
||||
?>
|
||||
<li class="gall_li <?php if ($wr_id == $list[$i]['wr_id']) { ?>gall_now<?php } ?>">
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<label for="chk_wr_id_<?php echo $i ?>" class="sound_only"><?php echo $list[$i]['subject'] ?></label>
|
||||
<input type="checkbox" name="chk_wr_id[]" value="<?php echo $list[$i]['wr_id'] ?>" id="chk_wr_id_<?php echo $i ?>">
|
||||
<?php } ?>
|
||||
<span class="sound_only">
|
||||
<?php
|
||||
if ($wr_id == $list[$i]['wr_id'])
|
||||
echo "<span class=\"bo_current\">열람중</span>";
|
||||
else
|
||||
echo $list[$i]['num'];
|
||||
?>
|
||||
</span>
|
||||
<ul class="gall_con">
|
||||
<li class="gall_href">
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php
|
||||
if ($list[$i]['is_notice']) { // 공지사항 ?>
|
||||
<strong style="width:<?php echo $board['bo_mobile_gallery_width'] ?>px;height:<?php echo $board['bo_mobile_gallery_height'] ?>px">공지</strong>
|
||||
<?php
|
||||
} else {
|
||||
$thumb = get_list_thumbnail($board['bo_table'], $list[$i]['wr_id'], $board['bo_mobile_gallery_width'], $board['bo_mobile_gallery_height']);
|
||||
|
||||
if($thumb['src']) {
|
||||
$img_content = '<img src="'.$thumb['src'].'" alt="'.$thumb['alt'].'" width="'.$board['bo_mobile_gallery_width'].'" height="'.$board['bo_mobile_gallery_height'].'">';
|
||||
} else {
|
||||
$img_content = '<span style="width:'.$board['bo_mobile_gallery_width'].'px;height:'.$board['bo_mobile_gallery_height'].'px">no image</span>';
|
||||
}
|
||||
|
||||
echo $img_content;
|
||||
}
|
||||
?>
|
||||
</a>
|
||||
</li>
|
||||
<li class="gall_text_href">
|
||||
<?php
|
||||
// echo $list[$i]['icon_reply']; 갤러리는 reply 를 사용 안 할 것 같습니다. - 지운아빠 2013-03-04
|
||||
if ($is_category && $list[$i]['ca_name']) {
|
||||
?>
|
||||
<a href="<?php echo $list[$i]['ca_name_href'] ?>" class="bo_cate_link"><?php echo $list[$i]['ca_name'] ?></a>
|
||||
<?php } ?>
|
||||
<a href="<?php echo $list[$i]['href'] ?>">
|
||||
<?php echo $list[$i]['subject'] ?>
|
||||
<?php if ($list[$i]['comment_cnt']) { ?><span class="sound_only">댓글</span><?php echo $list[$i]['comment_cnt']; ?><span class="sound_only">개</span><?php } ?>
|
||||
</a>
|
||||
<?php
|
||||
// if ($list[$i]['link']['count']) { echo '['.$list[$i]['link']['count']}.']'; }
|
||||
// if ($list[$i]['file']['count']) { echo '<'.$list[$i]['file']['count'].'>'; }
|
||||
|
||||
if (isset($list[$i]['icon_new'])) echo $list[$i]['icon_new'];
|
||||
if (isset($list[$i]['icon_hot'])) echo $list[$i]['icon_hot'];
|
||||
//if (isset($list[$i]['icon_file'])) echo $list[$i]['icon_file'];
|
||||
//if (isset($list[$i]['icon_link'])) echo $list[$i]['icon_link'];
|
||||
//if (isset($list[$i]['icon_secret'])) echo $list[$i]['icon_secret'];
|
||||
?>
|
||||
</li>
|
||||
<li><span class="gall_subject">작성자 </span><?php echo $list[$i]['name'] ?></li>
|
||||
<li><span class="gall_subject">작성일 </span><?php echo $list[$i]['datetime2'] ?></li>
|
||||
<li><span class="gall_subject">조회 </span><?php echo $list[$i]['wr_hit'] ?></li>
|
||||
<?php if ($is_good) { ?><li><span class="gall_subject">추천</span><strong><?php echo $list[$i]['wr_good'] ?></strong></li><?php } ?>
|
||||
<?php if ($is_nogood) { ?><li><span class="gall_subject">비추천</span><strong><?php echo $list[$i]['wr_nogood'] ?></strong></li><?php } ?>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
<?php if (count($list) == 0) { echo "<li class=\"empty_list\">게시물이 없습니다.</li>"; } ?>
|
||||
</ul>
|
||||
|
||||
<?php if ($list_href || $is_checkbox || $write_href) { ?>
|
||||
<div class="bo_fx">
|
||||
<ul class="btn_bo_adm">
|
||||
<?php if ($list_href) { ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01"> 목록</a></li>
|
||||
<?php } ?>
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<li><input type="submit" name="btn_submit" value="선택삭제" onclick="document.pressed=this.value"></li>
|
||||
<li><input type="submit" name="btn_submit" value="선택복사" onclick="document.pressed=this.value"></li>
|
||||
<li><input type="submit" name="btn_submit" value="선택이동" onclick="document.pressed=this.value"></li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
|
||||
<ul class="btn_bo_user">
|
||||
<li><?php if ($write_href) { ?><a href="<?php echo $write_href ?>" class="btn_b02">글쓰기</a><?php } ?></li>
|
||||
</ul>
|
||||
</div>
|
||||
<?php } ?>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
$(window).on("load", function() {
|
||||
$("#gall_ul").fancyList(".gall_li", "gall_clear");
|
||||
});
|
||||
</script>
|
||||
|
||||
<?php if($is_checkbox) { ?>
|
||||
<noscript>
|
||||
<p>자바스크립트를 사용하지 않는 경우<br>별도의 확인 절차 없이 바로 선택삭제 처리하므로 주의하시기 바랍니다.</p>
|
||||
</noscript>
|
||||
<?php } ?>
|
||||
|
||||
<!-- 페이지 -->
|
||||
<?php echo $write_pages; ?>
|
||||
|
||||
<fieldset id="bo_sch">
|
||||
<legend>게시물 검색</legend>
|
||||
|
||||
<form name="fsearch" method="get">
|
||||
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
|
||||
<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">
|
||||
<option value="wr_subject"<?php echo get_selected($sfl, "wr_subject", true); ?>>제목</option>
|
||||
<option value="wr_content"<?php echo get_selected($sfl, "wr_content"); ?>>내용</option>
|
||||
<option value="wr_subject||wr_content"<?php echo get_selected($sfl, "wr_subject||wr_content"); ?>>제목+내용</option>
|
||||
<option value="mb_id,1"<?php echo get_selected($sfl, "mb_id,1"); ?>>회원아이디</option>
|
||||
<option value="mb_id,0"<?php echo get_selected($sfl, "mb_id,0"); ?>>회원아이디(코)</option>
|
||||
<option value="wr_name,1"<?php echo get_selected($sfl, "wr_name,1"); ?>>글쓴이</option>
|
||||
<option value="wr_name,0"<?php echo get_selected($sfl, "wr_name,0"); ?>>글쓴이(코)</option>
|
||||
</select>
|
||||
<input name="stx" value="<?php echo stripslashes($stx) ?>" placeholder="검색어(필수)" required id="stx" class="required frm_input" size="15" maxlength="20">
|
||||
<input type="submit" value="검색">
|
||||
</form>
|
||||
</fieldset>
|
||||
|
||||
<?php if ($is_checkbox) { ?>
|
||||
<script>
|
||||
function all_checked(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]")
|
||||
f.elements[i].checked = sw;
|
||||
}
|
||||
}
|
||||
|
||||
function fboardlist_submit(f) {
|
||||
var chk_count = 0;
|
||||
|
||||
for (var i=0; i<f.length; i++) {
|
||||
if (f.elements[i].name == "chk_wr_id[]" && f.elements[i].checked)
|
||||
chk_count++;
|
||||
}
|
||||
|
||||
if (!chk_count) {
|
||||
alert(document.pressed + "할 게시물을 하나 이상 선택하세요.");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택복사") {
|
||||
select_copy("copy");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택이동") {
|
||||
select_copy("move");
|
||||
return;
|
||||
}
|
||||
|
||||
if(document.pressed == "선택삭제") {
|
||||
if (!confirm("선택한 게시물을 정말 삭제하시겠습니까?\n\n한번 삭제한 자료는 복구할 수 없습니다\n\n답변글이 있는 게시글을 선택하신 경우\n답변글도 선택하셔야 게시글이 삭제됩니다."))
|
||||
return false;
|
||||
|
||||
f.removeAttribute("target");
|
||||
f.action = "./board_list_update.php";
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// 선택한 게시물 복사 및 이동
|
||||
function select_copy(sw) {
|
||||
var f = document.fboardlist;
|
||||
|
||||
if (sw == 'copy')
|
||||
str = "복사";
|
||||
else
|
||||
str = "이동";
|
||||
|
||||
var sub_win = window.open("", "move", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
|
||||
f.sw.value = sw;
|
||||
f.target = "move";
|
||||
f.action = "./move.php";
|
||||
f.submit();
|
||||
}
|
||||
</script>
|
||||
<?php } ?>
|
||||
<!-- 게시판 목록 끝 -->
|
||||
225
theme/basic/mobile/skin/board/gallery/style.css
Normal file
@ -0,0 +1,225 @@
|
||||
@charset "utf-8";
|
||||
/* SIR 지운아빠 */
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 시작 ### */
|
||||
|
||||
/* 게시판 버튼 */
|
||||
/* 목록 버튼 */
|
||||
#bo_gall a.btn_b01 {}
|
||||
#bo_gall a.btn_b01:focus, #bo_gall .btn_b01:hover {}
|
||||
#bo_gall a.btn_b02 {}
|
||||
#bo_gall a.btn_b02:focus, #bo_gall .btn_b02:hover {}
|
||||
#bo_gall a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_gall a.btn_admin:focus, #bo_gall a.btn_admin:hover {}
|
||||
|
||||
/* 읽기 버튼 */
|
||||
#bo_v a.btn_b01 {}
|
||||
#bo_v a.btn_b01:focus, #bo_v .btn_b01:hover {}
|
||||
#bo_v a.btn_b02 {}
|
||||
#bo_v a.btn_b02:focus, #bo_v .btn_b02:hover {}
|
||||
#bo_v a.btn_admin {} /* 관리자 전용 버튼 */
|
||||
#bo_v a.btn_admin:focus, #bo_v a.btn_admin:hover {}
|
||||
|
||||
/* 쓰기 버튼 */
|
||||
#bo_w .btn_confirm {} /* 서식단계 진행 */
|
||||
#bo_w .btn_submit {}
|
||||
#bo_w .btn_cancel {}
|
||||
#bo_w .btn_frmline {} /* 우편번호검색버튼 등 */
|
||||
|
||||
/* 기본테이블 */
|
||||
/* 읽기 내 테이블 */
|
||||
#bo_v .tbl_head01 {}
|
||||
#bo_v .tbl_head01 caption {}
|
||||
#bo_v .tbl_head01 thead th {}
|
||||
#bo_v .tbl_head01 thead a {}
|
||||
#bo_v .tbl_head01 thead th input {} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
|
||||
#bo_v .tbl_head01 tfoot th {}
|
||||
#bo_v .tbl_head01 tfoot td {}
|
||||
#bo_v .tbl_head01 tbody th {}
|
||||
#bo_v .tbl_head01 td {}
|
||||
#bo_v .tbl_head01 a {}
|
||||
#bo_v td.empty_table {}
|
||||
|
||||
/* 쓰기 테이블 */
|
||||
#bo_w table {}
|
||||
#bo_w caption {}
|
||||
#bo_w .frm_address {}
|
||||
#bo_w .frm_file {}
|
||||
#bo_w .frm_info {}
|
||||
|
||||
#bo_w .tbl_frm01 {}
|
||||
#bo_w .tbl_frm01 caption {}
|
||||
#bo_w .tbl_frm01 th {}
|
||||
#bo_w .tbl_frm01 td {}
|
||||
#bo_w .tbl_frm01 textarea, #bo_w .frm_input {}
|
||||
#bo_w .tbl_frm01 textarea {}
|
||||
/*
|
||||
#bo_w .tbl_frm01 #captcha {}
|
||||
#bo_w .tbl_frm01 #captcha input {}
|
||||
*/
|
||||
#bo_w .tbl_frm01 a {}
|
||||
|
||||
#bo_w .required, #bo_w textarea.required {}
|
||||
|
||||
/* ### 기본 스타일 커스터마이징 끝 ### */
|
||||
|
||||
/* 갤러리 목록 */
|
||||
#bo_gall h2 {margin:0;padding:0;width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
|
||||
#bo_gall #gall_allchk {margin:0 10px}
|
||||
|
||||
#bo_gall #gall_ul {margin:10px 0 0;padding:0 10px;list-style:none}
|
||||
#bo_gall #gall_ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
#bo_cate h2 {width:0;height:0;font-size:0;line-height:0;overflow:hidden}
|
||||
#bo_cate ul {margin:10px;padding-left:1px;zoom:1}
|
||||
#bo_cate ul:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_cate li {float:left;margin-bottom:-1px;width:25%}
|
||||
#bo_cate a {display:block;position:relative;margin-left:-1px;padding:5px 0;border:1px solid #ddd;background:#f7f7f7;color:#888;text-align:center;text-decoration:none;letter-spacing:-0.1em}
|
||||
#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}
|
||||
|
||||
#bo_gall .gall_li {float:left;padding:0 10px 20px 0}
|
||||
#bo_gall .gall_clear {clear:both}
|
||||
|
||||
#bo_gall .gall_con {margin:0;padding:0;list-style:none}
|
||||
#bo_gall .gall_con li {margin:0 0 5px}
|
||||
#bo_gall .gall_con .gall_subject {display:inline-block;width:50px}
|
||||
|
||||
#bo_gall .gall_now .gall_text_href a {color:#ff3061}
|
||||
|
||||
#bo_gall .gall_href a:link, #bo_gall .gall_href a:focus, #bo_gall .gall_href a:hover {text-decoration:none}
|
||||
#bo_gall .gall_href strong, #bo_gall .gall_href span {display:block;width:174px;height:124px;background:#f7f7f7;text-align:center;line-height:8em}
|
||||
|
||||
#bo_gall .gall_text_href {margin:10px 0 !important}
|
||||
#bo_gall .gall_text_href a {color:#000;font-weight:bold;text-decoration:none}
|
||||
#bo_gall .gall_text_href img {margin:0 0 0 5px}
|
||||
|
||||
/* 게시판 목록 공통 */
|
||||
.bo_fx {margin-bottom:5px;padding:5px 10px}
|
||||
.bo_fx:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
.bo_fx ul {margin:0;padding:0;list-style:none}
|
||||
#bo_list_total {float:left;padding:0;height:2.5em;line-height:2.5em}
|
||||
.btn_bo_user {float:right;margin:0;padding:0;list-style:none}
|
||||
.btn_bo_user li {float:left;margin-left:5px}
|
||||
.btn_bo_adm {float:left}
|
||||
.btn_bo_adm li {float:left;margin-right:5px}
|
||||
.btn_bo_adm input {padding:8px;border:0;background:#e8180c;color:#fff;text-decoration:none;vertical-align:middle}
|
||||
.bo_notice td {background:#f7f7f7}
|
||||
.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} /* 글제목줄 분류스타일 */
|
||||
.bo_current {color:#e8180c}
|
||||
.td_subject img {margin-left:3px}
|
||||
.cnt_cmt {font-weight:bold}
|
||||
|
||||
#bo_sch {margin-bottom:10px;padding-top:5px;text-align:center}
|
||||
|
||||
#bo_gall li.empty_list {padding:30px 0;text-align:center}
|
||||
|
||||
/* 게시판 쓰기 */
|
||||
#char_count_desc {display:block;margin:0 0 5px;padding:0}
|
||||
#char_count_wrap {margin:5px 0 0;text-align:right}
|
||||
#char_count {font-weight:bold}
|
||||
|
||||
#wr_email, #wr_homepage, #wr_subject, .wr_link {width:100%}
|
||||
|
||||
/* 게시판 읽기 */
|
||||
#bo_v {margin-bottom:15px;padding-bottom:15px}
|
||||
|
||||
#bo_v_table {padding:0 10px;color:#999;font-size:0.9em;font-weight:bold}
|
||||
|
||||
#bo_v_title {padding:0 10px 5px;font-size:1.2em}
|
||||
|
||||
#bo_v_info {padding:0 10px 10px;border-bottom:1px solid #ddd}
|
||||
#bo_v_info h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_info {}
|
||||
#bo_v_info strong {display:inline-block;margin:0 0 0 5px;font-weight:normal}
|
||||
|
||||
#bo_v_file {}
|
||||
#bo_v_file h2 {position:absolute;font-size:0;text-indent:-9999em;line-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:#f7f7f7}
|
||||
#bo_v_file a {display:inline-block;padding:5px 0;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 {position:absolute;font-size:0;text-indent:-9999em;line-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:#f7f7f7}
|
||||
#bo_v_link a {display:inline-block;padding:5px 0;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}
|
||||
#bo_v_top:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_top h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_top ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
#bo_v_bot {padding:0 10px}
|
||||
#bo_v_bot:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_bot h2 {position:absolute;font-size:0;text-indent:-9999em;line-height:0;overflow:hidden}
|
||||
#bo_v_bot ul {margin:0;padding:0;list-style:none}
|
||||
|
||||
.bo_v_nb {float:left}
|
||||
.bo_v_nb li {float:left;margin-right:5px}
|
||||
.bo_v_com {float:right}
|
||||
.bo_v_com li {float:left;margin-left:5px}
|
||||
|
||||
#bo_v_atc {padding:0 10px;min-height:200px}
|
||||
#bo_v_atc_title {margin:0;padding:0;height:0;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:""}
|
||||
#bo_v_img img {margin-bottom:15px;max-width:100%;height:auto}
|
||||
|
||||
#bo_v_con {margin-bottom:20px;width:100%;line-height:1.7em;word-break:break-all;overflow:hidden}
|
||||
#bo_v_con a {color:#000;text-decoration:underline}
|
||||
#bo_v_con img {max-width:100%;height:auto}
|
||||
|
||||
#bo_v_act {position:relative;margin-bottom:20px;text-align:center}
|
||||
#bo_v_act a {margin-right:5px;vertical-align:middle}
|
||||
#bo_v_act strong {color:#ff3061}
|
||||
#bo_v_act_good, #bo_v_act_nogood {display:none;position:absolute;top:30px;right:10%;padding:10px 0;width:165px;background:#ff3061;color:#fff;text-align:center}
|
||||
|
||||
#bo_v_sns {margin:0 0 20px;padding:0;list-style:none;zoom:1}
|
||||
#bo_v_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_v_sns li {float:left;margin:0 5px 0 0}
|
||||
|
||||
/* 게시판 댓글 */
|
||||
#bo_vc {margin:0 0 20px;padding:20px 10px 10px;border:1px solid #e5e8ec;background:#f5f8f9}
|
||||
#bo_vc h2 {margin-bottom:5px}
|
||||
#bo_vc article {padding:0 0 5px;border-top:1px dotted #ccc}
|
||||
#bo_vc header {position:relative;padding:13px 0 5px}
|
||||
#bo_vc header .icon_reply {position:absolute;top:13px;left:-20px}
|
||||
#bo_vc .sv_member, #bo_vc .sv_guest {font-weight:bold}
|
||||
.bo_vc_hdinfo {display:inline-block;margin:0 10px 0 5px}
|
||||
#bo_vc h1 {width:0;height:0;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 p a.s_cmt {text-decoration:none}
|
||||
#bo_vc_empty {margin:0;padding:15px !important;text-align:center}
|
||||
#bo_vc #bo_vc_winfo {float:left}
|
||||
#bo_vc footer {zoom:1}
|
||||
#bo_vc footer:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
|
||||
.bo_vc_act {float:right;margin:0;list-style:none}
|
||||
.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-bottom:10px;padding:0 10px 15px;border-bottom:1px solid #dde4e9}
|
||||
#bo_vc_w h2 {padding:10px 0 5px}
|
||||
#bo_vc_w .tbl_wrap {margin:0 0 15px}
|
||||
#bo_vc_w #char_cnt {display:block;margin-bottom:5px}
|
||||
#bo_vc_w textarea {width:99%}
|
||||
|
||||
#bo_vc_sns {margin:0;padding:0;list-style:none;zoom:1}
|
||||
#bo_vc_sns:after {display:block;visibility:hidden;clear:both;content:""}
|
||||
#bo_vc_sns li {float:left;margin:0 10px 0 0}
|
||||
#bo_vc_sns input {margin:0 0 0 5px}
|
||||
270
theme/basic/mobile/skin/board/gallery/view.skin.php
Normal file
@ -0,0 +1,270 @@
|
||||
<?php
|
||||
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
|
||||
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
|
||||
|
||||
// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
|
||||
add_stylesheet('<link rel="stylesheet" href="'.$board_skin_url.'/style.css">', 0);
|
||||
?>
|
||||
|
||||
<script src="<?php echo G5_JS_URL; ?>/viewimageresize.js"></script>
|
||||
|
||||
<div id="bo_v_table"><?php echo $board['bo_subject']; ?></div>
|
||||
|
||||
<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>
|
||||
|
||||
<section id="bo_v_info">
|
||||
<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>
|
||||
댓글<strong><?php echo number_format($view['wr_comment']) ?>건</strong>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
if ($view['file']['count']) {
|
||||
$cnt = 0;
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view'])
|
||||
$cnt++;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
<?php if($cnt) { ?>
|
||||
<section id="bo_v_file">
|
||||
<h2>첨부파일</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 가변 파일
|
||||
for ($i=0; $i<count($view['file']); $i++) {
|
||||
if (isset($view['file'][$i]['source']) && $view['file'][$i]['source'] && !$view['file'][$i]['view']) {
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['file'][$i]['href']; ?>" class="view_file_download">
|
||||
<img src="<?php echo $board_skin_url ?>/img/icon_file.gif" alt="첨부">
|
||||
<strong><?php echo $view['file'][$i]['source'] ?></strong>
|
||||
<?php echo $view['file'][$i]['content'] ?> (<?php echo $view['file'][$i]['size'] ?>)
|
||||
</a>
|
||||
<span class="bo_v_file_cnt"><?php echo $view['file'][$i]['download'] ?>회 다운로드</span>
|
||||
<span>DATE : <?php echo $view['file'][$i]['datetime'] ?></span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<?php
|
||||
if ($view['link']) {
|
||||
?>
|
||||
<section id="bo_v_link">
|
||||
<h2>관련링크</h2>
|
||||
<ul>
|
||||
<?php
|
||||
// 링크
|
||||
$cnt = 0;
|
||||
for ($i=1; $i<=count($view['link']); $i++) {
|
||||
if ($view['link'][$i]) {
|
||||
$cnt++;
|
||||
$link = cut_str($view['link'][$i], 70);
|
||||
?>
|
||||
<li>
|
||||
<a href="<?php echo $view['link_href'][$i] ?>" target="_blank">
|
||||
<img src="<?php echo $board_skin_url ?>/img/icon_link.gif" alt="관련링크">
|
||||
<strong><?php echo $link ?></strong>
|
||||
</a>
|
||||
<span class="bo_v_link_cnt"><?php echo $view['link_hit'][$i] ?>회 연결</span>
|
||||
</li>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
</ul>
|
||||
</section>
|
||||
<?php } ?>
|
||||
|
||||
<div id="bo_v_top">
|
||||
<?php
|
||||
ob_start();
|
||||
?>
|
||||
<?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">이전글</a></li><?php } ?>
|
||||
<?php if ($next_href) { ?><li><a href="<?php echo $next_href ?>" class="btn_b01">다음글</a></li><?php } ?>
|
||||
</ul>
|
||||
<?php } ?>
|
||||
|
||||
<ul class="bo_v_com">
|
||||
<?php if ($update_href) { ?><li><a href="<?php echo $update_href ?>" class="btn_b01">수정</a></li><?php } ?>
|
||||
<?php if ($delete_href) { ?><li><a href="<?php echo $delete_href ?>" class="btn_b01" onclick="del(this.href); return false;">삭제</a></li><?php } ?>
|
||||
<?php if ($copy_href) { ?><li><a href="<?php echo $copy_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">복사</a></li><?php } ?>
|
||||
<?php if ($move_href) { ?><li><a href="<?php echo $move_href ?>" class="btn_admin" onclick="board_move(this.href); return false;">이동</a></li><?php } ?>
|
||||
<?php if ($search_href) { ?><li><a href="<?php echo $search_href ?>" class="btn_b01">검색</a></li><?php } ?>
|
||||
<li><a href="<?php echo $list_href ?>" class="btn_b01">목록</a></li>
|
||||
<?php if ($reply_href) { ?><li><a href="<?php echo $reply_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
|
||||
$link_buttons = ob_get_contents();
|
||||
ob_end_flush();
|
||||
?>
|
||||
</div>
|
||||
|
||||
<section id="bo_v_atc">
|
||||
<h2 id="bo_v_atc_title">본문</h2>
|
||||
|
||||
<?php
|
||||
// 파일 출력
|
||||
$v_img_count = count($view['file']);
|
||||
if($v_img_count) {
|
||||
echo "<div id=\"bo_v_img\">\n";
|
||||
|
||||
for ($i=0; $i<=count($view['file']); $i++) {
|
||||
if ($view['file'][$i]['view']) {
|
||||
//echo $view['file'][$i]['view'];
|
||||
echo get_view_thumbnail($view['file'][$i]['view']);
|
||||
}
|
||||
}
|
||||
|
||||
echo "</div>\n";
|
||||
}
|
||||
?>
|
||||
|
||||
<div id="bo_v_con"><?php echo get_view_thumbnail($view['content']); ?></div>
|
||||
<?php//echo $view['rich_content']; // {이미지:0} 과 같은 코드를 사용할 경우 ?>
|
||||
|
||||
<?php if ($is_signature) { ?><p><?php echo $signature ?></p><?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) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<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>
|
||||
</span>
|
||||
<?php } ?>
|
||||
<?php if ($nogood_href) { ?>
|
||||
<span class="bo_v_act_gng">
|
||||
<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>
|
||||
</span>
|
||||
<?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 } ?>
|
||||
</div>
|
||||
<?php
|
||||
}
|
||||
}
|
||||
?>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view.sns.skin.php");
|
||||
?>
|
||||
</section>
|
||||
|
||||
<?php
|
||||
// 코멘트 입출력
|
||||
include_once(G5_BBS_PATH.'/view_comment.php');
|
||||
?>
|
||||
|
||||
<div id="bo_v_bot">
|
||||
<!-- 링크 버튼 -->
|
||||
<?php echo $link_buttons ?>
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
<script>
|
||||
<?php if ($board['bo_download_point'] < 0) { ?>
|
||||
$(function() {
|
||||
$("a.view_file_download").click(function() {
|
||||
if(!g5_is_member) {
|
||||
alert("다운로드 권한이 없습니다.\n회원이시라면 로그인 후 이용해 보십시오.");
|
||||
return false;
|
||||
}
|
||||
|
||||
var msg = "파일을 다운로드 하시면 포인트가 차감(<?php echo number_format($board['bo_download_point']) ?>점)됩니다.\n\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\n\n그래도 다운로드 하시겠습니까?";
|
||||
|
||||
if(confirm(msg)) {
|
||||
var href = $(this).attr("href")+"&js=on";
|
||||
$(this).attr("href", href);
|
||||
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
});
|
||||
});
|
||||
<?php } ?>
|
||||
|
||||
function board_move(href)
|
||||
{
|
||||
window.open(href, "boardmove", "left=50, top=50, width=500, height=550, scrollbars=1");
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- 게시글 보기 끝 -->
|
||||
|
||||
<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;
|
||||
});
|
||||
|
||||
// 추천, 비추천
|
||||
$("#good_button, #nogood_button").click(function() {
|
||||
var $tx;
|
||||
if(this.id == "good_button")
|
||||
$tx = $("#bo_v_act_good");
|
||||
else
|
||||
$tx = $("#bo_v_act_nogood");
|
||||
|
||||
excute_good(this.href, $(this), $tx);
|
||||
return false;
|
||||
});
|
||||
|
||||
// 이미지 리사이즈
|
||||
$("#bo_v_atc").viewimageresize();
|
||||
});
|
||||
|
||||
function excute_good(href, $el, $tx)
|
||||
{
|
||||
$.post(
|
||||
href,
|
||||
{ js: "on" },
|
||||
function(data) {
|
||||
if(data.error) {
|
||||
alert(data.error);
|
||||
return false;
|
||||
}
|
||||
|
||||
if(data.count) {
|
||||
$el.find("strong").text(number_format(String(data.count)));
|
||||
if($tx.attr("id").search("nogood") > -1) {
|
||||
$tx.text("이 글을 비추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
} else {
|
||||
$tx.text("이 글을 추천하셨습니다.");
|
||||
$tx.fadeIn(200).delay(2500).fadeOut(200);
|
||||
}
|
||||
}
|
||||
}, "json"
|
||||
);
|
||||
}
|
||||
</script>
|
||||
321
theme/basic/mobile/skin/board/gallery/view_comment.skin.php
Normal file
@ -0,0 +1,321 @@
|
||||
<?php
|
||||
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
|
||||
?>
|
||||
|
||||
<script>
|
||||
// 글자수 제한
|
||||
var char_min = parseInt(<?php echo $comment_min ?>); // 최소
|
||||
var char_max = parseInt(<?php echo $comment_max ?>); // 최대
|
||||
</script>
|
||||
|
||||
<!-- 댓글 리스트 -->
|
||||
<section id="bo_vc">
|
||||
<h2>댓글목록</h2>
|
||||
<?php
|
||||
for ($i=0; $i<count($list); $i++) {
|
||||
$comment_id = $list[$i]['wr_id'];
|
||||
$cmt_depth = ""; // 댓글단계
|
||||
$cmt_depth = strlen($list[$i]['wr_comment_reply']) * 20;
|
||||
$str = $list[$i]['content'];
|
||||
if (strstr($list[$i]['wr_option'], "secret"))
|
||||
$str = $str;
|
||||
$str = preg_replace("/\[\<a\s.*href\=\"(http|https|ftp|mms)\:\/\/([^[:space:]]+)\.(mp3|wma|wmv|asf|asx|mpg|mpeg)\".*\<\/a\>\]/i", "<script>doc_write(obj_movie('$1://$2.$3'));</script>", $str);
|
||||
?>
|
||||
<article id="c_<?php echo $comment_id ?>" <?php if ($cmt_depth) { ?>style="margin-left:<?php echo $cmt_depth ?>px;border-top-color:#e0e0e0"<?php } ?>>
|
||||
<header>
|
||||
<h1><?php echo get_text($list[$i]['wr_name']); ?>님의 댓글</h1>
|
||||
<?php echo $list[$i]['name'] ?>
|
||||
<?php if ($cmt_depth) { ?><img src="<?php echo $board_skin_url ?>/img/icon_reply.gif" alt="댓글의 댓글" class="icon_reply"><?php } ?>
|
||||
<?php if ($is_ip_view) { ?>
|
||||
아이피
|
||||
<span class="bo_vc_hdinfo"><?php echo $list[$i]['ip']; ?></span>
|
||||
<?php } ?>
|
||||
작성일
|
||||
<span class="bo_vc_hdinfo"><time datetime="<?php echo date('Y-m-d\TH:i:s+09:00', strtotime($list[$i]['datetime'])) ?>"><?php echo $list[$i]['datetime'] ?></time></span>
|
||||
<?php
|
||||
include(G5_SNS_PATH."/view_comment_list.sns.skin.php");
|
||||
?>
|
||||
</header>
|
||||
|
||||
<!-- 댓글 출력 -->
|
||||
<p>
|
||||
<?php if (strstr($list[$i]['wr_option'], "secret")) echo "<img src=\"".$board_skin_url."/img/icon_secret.gif\" alt=\"비밀글\">"; ?>
|
||||
<?php echo $str ?>
|
||||
</p>
|
||||
|
||||
<span id="edit_<?php echo $comment_id ?>"></span><!-- 수정 -->
|
||||
<span id="reply_<?php echo $comment_id ?>"></span><!-- 답변 -->
|
||||
|
||||
<input type="hidden" id="secret_comment_<?php echo $comment_id ?>" value="<?php echo strstr($list[$i]['wr_option'],"secret") ?>">
|
||||
<textarea id="save_comment_<?php echo $comment_id ?>" style="display:none"><?php echo get_text($list[$i]['content1'], 0) ?></textarea>
|
||||
|
||||
<?php if($list[$i]['is_reply'] || $list[$i]['is_edit'] || $list[$i]['is_del']) {
|
||||
$query_string = clean_query_string($_SERVER['QUERY_STRING']);
|
||||
|
||||
if($w == 'cu') {
|
||||
$sql = " select wr_id, wr_content from $write_table where wr_id = '$c_id' and wr_is_comment = '1' ";
|
||||
$cmt = sql_fetch($sql);
|
||||
$c_wr_content = $cmt['wr_content'];
|
||||
}
|
||||
|
||||
$c_reply_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=c#bo_vc_w';
|
||||
$c_edit_href = './board.php?'.$query_string.'&c_id='.$comment_id.'&w=cu#bo_vc_w';
|
||||
?>
|
||||
<footer>
|
||||
<ul class="bo_vc_act">
|
||||
<?php if ($list[$i]['is_reply']) { ?><li><a href="<?php echo $c_reply_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'c'); return false;">답변</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_edit']) { ?><li><a href="<?php echo $c_edit_href; ?>" onclick="comment_box('<?php echo $comment_id ?>', 'cu'); return false;">수정</a></li><?php } ?>
|
||||
<?php if ($list[$i]['is_del']) { ?><li><a href="<?php echo $list[$i]['del_link']; ?>" onclick="return comment_delete();">삭제</a></li><?php } ?>
|
||||
</ul>
|
||||
</footer>
|
||||
<?php } ?>
|
||||
</article>
|
||||
<?php } ?>
|
||||
<?php if ($i == 0) { //댓글이 없다면 ?><p id="bo_vc_empty">등록된 댓글이 없습니다.</p><?php } ?>
|
||||
|
||||
</section>
|
||||
|
||||
<?php if ($is_comment_write) {
|
||||
if($w == '')
|
||||
$w = 'c';
|
||||
?>
|
||||
<aside 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="">
|
||||
|
||||
<div class="tbl_frm01 tbl_wrap">
|
||||
<table>
|
||||
<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 } ?>
|
||||
<?php
|
||||
if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) {
|
||||
?>
|
||||
<tr>
|
||||
<th scope="row">SNS 동시등록</th>
|
||||
<td id="bo_vc_send_sns"></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" 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 } ?>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
<div class="btn_confirm">
|
||||
<input type="submit" value="댓글등록" id="btn_submit" class="btn_submit" accesskey="s">
|
||||
</div>
|
||||
|
||||
</form>
|
||||
</aside>
|
||||
|
||||
<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;
|
||||
}
|
||||
}
|
||||
|
||||
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: g5_bbs_url+"/ajax.filter.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)
|
||||
{
|
||||
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;
|
||||
}
|
||||
|
||||
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();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (typeof(f.wr_password) != 'undefined')
|
||||
{
|
||||
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(); ?>
|
||||
|
||||
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)
|
||||
{
|
||||
document.getElementById(save_before).style.display = 'none';
|
||||
document.getElementById(save_before).innerHTML = '';
|
||||
}
|
||||
|
||||
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;
|
||||
|
||||
if(save_before)
|
||||
$("#captcha_reload").trigger("click");
|
||||
|
||||
save_before = el_id;
|
||||
}
|
||||
}
|
||||
|
||||
function comment_delete()
|
||||
{
|
||||
return confirm("이 댓글을 삭제하시겠습니까?");
|
||||
}
|
||||
|
||||
comment_box('', 'c'); // 댓글 입력폼이 보이도록 처리하기위해서 추가 (root님)
|
||||
|
||||
<?php if($board['bo_use_sns'] && ($config['cf_facebook_appid'] || $config['cf_twitter_key'])) { ?>
|
||||
// sns 등록
|
||||
$(function() {
|
||||
$("#bo_vc_send_sns").load(
|
||||
"<?php echo G5_SNS_URL; ?>/view_comment_write.sns.skin.php?bo_table=<?php echo $bo_table; ?>",
|
||||
function() {
|
||||
save_html = document.getElementById('bo_vc_w').innerHTML;
|
||||
}
|
||||
);
|
||||
});
|
||||
<?php } ?>
|
||||
</script>
|
||||
<?php } ?>
|
||||