update code style

This commit is contained in:
Amberstone 2024-09-19 20:57:39 +09:00
parent 66e6676e38
commit 121c3b4224
Signed by: amber
GPG key ID: 094B0E55F98D8BF1
193 changed files with 10994 additions and 10905 deletions

View file

@ -1,5 +1,4 @@
<?php <?php
define('G5_IS_ADMIN', true); define('G5_IS_ADMIN', true);
include_once ('../common.php'); include_once('../common.php');
include_once(G5_ADMIN_PATH.'/admin.lib.php'); include_once(G5_ADMIN_PATH . '/admin.lib.php');
?>

View file

@ -1,54 +1,57 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; if (!defined('_GNUBOARD_'))
exit;
$begin_time = get_microtime(); $begin_time = get_microtime();
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
function print_menu1($key, $no) function print_menu1($key, $no)
{ {
global $menu; global $menu;
$str = print_menu2($key, $no); $str = print_menu2($key, $no);
return $str; return $str;
} }
function print_menu2($key, $no) function print_menu2($key, $no)
{ {
global $menu, $auth_menu, $is_admin, $auth, $g5, $sub_menu; global $menu, $auth_menu, $is_admin, $auth, $g5, $sub_menu;
$str .= "<ul class=\"gnb_2dul\">"; $str = "<ul class=\"gnb_2dul\">";
for($i=1; $i<count($menu[$key]); $i++) for ($i = 1; $i < count($menu[$key]); $i++) {
{ if ($is_admin != 'super' && (!array_key_exists($menu[$key][$i][0], $auth) || !strstr($auth[$menu[$key][$i][0]], 'r')))
if ($is_admin != 'super' && (!array_key_exists($menu[$key][$i][0],$auth) || !strstr($auth[$menu[$key][$i][0]], 'r'))) continue;
continue;
if (($menu[$key][$i][4] == 1 && $gnb_grp_style == false) || ($menu[$key][$i][4] != 1 && $gnb_grp_style == true)) $gnb_grp_div = 'gnb_grp_div'; if (($menu[$key][$i][4] == 1 && $gnb_grp_style == false) || ($menu[$key][$i][4] != 1 && $gnb_grp_style == true))
else $gnb_grp_div = ''; $gnb_grp_div = 'gnb_grp_div';
else
$gnb_grp_div = '';
if ($menu[$key][$i][4] == 1) $gnb_grp_style = 'gnb_grp_style'; if ($menu[$key][$i][4] == 1)
else $gnb_grp_style = ''; $gnb_grp_style = 'gnb_grp_style';
else
$gnb_grp_style = '';
$check_gnb_grp_style = ""; $check_gnb_grp_style = "";
if($menu[$key][$i][0] && isset($sub_menu) && $menu[$key][$i][0] == $sub_menu) { if ($menu[$key][$i][0] && isset($sub_menu) && $menu[$key][$i][0] == $sub_menu) {
$check_gnb_grp_style = "check"; $check_gnb_grp_style = "check";
}
$str .= '<li class="gnb_2dli '.$check_gnb_grp_style.'"><a href="'.$menu[$key][$i][2].'" class="gnb_2da '.$gnb_grp_style.' '.$gnb_grp_div.'" data-text="'.$menu[$key][$i][1].'">'.$menu[$key][$i][1].'</a></li>';
$auth_menu[$menu[$key][$i][0]] = $menu[$key][$i][1];
} }
$str .= "</ul>";
return $str; $str .= '<li class="gnb_2dli ' . $check_gnb_grp_style . '"><a href="' . $menu[$key][$i][2] . '" class="gnb_2da ' . $gnb_grp_style . ' ' . $gnb_grp_div . '" data-text="' . $menu[$key][$i][1] . '">' . $menu[$key][$i][1] . '</a></li>';
$auth_menu[$menu[$key][$i][0]] = $menu[$key][$i][1];
}
$str .= "</ul>";
return $str;
} }
?> ?>
<script> <script>
var tempX = 0; var tempX = 0;
var tempY = 0; var tempY = 0;
function imageview(id, w, h) function imageview(id, w, h) {
{
menu(id); menu(id);
@ -56,70 +59,70 @@ function imageview(id, w, h)
//submenu = eval(name+".style"); //submenu = eval(name+".style");
submenu = el_id.style; submenu = el_id.style;
submenu.left = tempX - ( w + 11 ); submenu.left = tempX - (w + 11);
submenu.top = tempY - ( h / 2 ); submenu.top = tempY - (h / 2);
selectBoxVisible(); selectBoxVisible();
if (el_id.style.display != 'none') if (el_id.style.display != 'none')
selectBoxHidden(id); selectBoxHidden(id);
} }
</script> </script>
<div id="wrap"> <div id="wrap">
<header id="header"> <header id="header">
<div id="admin_prof"> <div id="admin_prof">
<h1> <h1>
<a href="<?php echo G5_ADMIN_URL ?>"><img src="<?=G5_ADMIN_URL?>/img/logo.png" alt="Avocado Edition" /></a> <a href="<?php echo G5_ADMIN_URL ?>"><img src="<?= G5_ADMIN_URL ?>/img/logo.png" alt="Avocado Edition" /></a>
<i><?=G5_GNUBOARD_VER?></i> <i><?= G5_GNUBOARD_VER ?></i>
</h1> </h1>
<p> <p>
<a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&amp;mb_id=<?php echo $member['mb_id'] ?>" class="name"> <a href="<?php echo G5_ADMIN_URL ?>/member_form.php?w=u&amp;mb_id=<?php echo $member['mb_id'] ?>" class="name">
<?=$member['mb_name']?> <?= $member['mb_name'] ?>
</a> </a>
<a href="<?php echo G5_BBS_URL ?>/logout.php" class="logout">로그아웃</a> <a href="<?php echo G5_BBS_URL ?>/logout.php" class="logout">로그아웃</a>
</p> </p>
</div> </div>
<nav id="gnb"> <nav id="gnb">
<ul> <ul>
<li style="border-bottom:1px solid #444;"> <li style="border-bottom:1px solid #444;">
<a href="<?=G5_URL?>" target="_blank"> <a href="<?= G5_URL ?>" target="_blank">
커뮤니티 커뮤니티
</a> </a>
</li> </li>
</ul> </ul>
<?php <?php
$gnb_str = "<ul>"; $gnb_str = "<ul>";
foreach($amenu as $key=>$value) { foreach ($amenu as $key => $value) {
$href1 = $href2 = ''; $href1 = $href2 = '';
if ($menu['menu'.$key][0][2]) { if ($menu['menu' . $key][0][2]) {
$href1 = '<a href="'.$menu['menu'.$key][0][2].'" class="gnb_1da" data-text="'. $menu['menu'.$key][0][1].'">'; $href1 = '<a href="' . $menu['menu' . $key][0][2] . '" class="gnb_1da" data-text="' . $menu['menu' . $key][0][1] . '">';
$href2 = '</a>'; $href2 = '</a>';
} else { } else {
continue; continue;
} }
$current_class = ""; $current_class = "";
if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu'.$key][0][0], 0, 3))) if (isset($sub_menu) && (substr($sub_menu, 0, 3) == substr($menu['menu' . $key][0][0], 0, 3)))
$current_class = " gnb_1dli_air"; $current_class = " gnb_1dli_air";
$gnb_str .= '<li class="gnb_1dli'.$current_class.'">'.PHP_EOL; $gnb_str .= '<li class="gnb_1dli' . $current_class . '">' . PHP_EOL;
$gnb_str .= $href1 . $menu['menu'.$key][0][1] . $href2; $gnb_str .= $href1 . $menu['menu' . $key][0][1] . $href2;
$gnb_str .= print_menu1('menu'.$key, 1); $gnb_str .= print_menu1('menu' . $key, 1);
$gnb_str .= "</li>"; $gnb_str .= "</li>";
} }
$gnb_str .= "</ul>"; $gnb_str .= "</ul>";
echo $gnb_str; echo $gnb_str;
?> ?>
</nav> </nav>
</header> </header>
<section id="wrapper"> <section id="wrapper">
<aside id="page_top"> <aside id="page_top">
<h2><?php echo $g5['title'] ?></h2> <h2><?php echo $g5['title'] ?></h2>
</aside> </aside>
<div id="container"> <div id="container">

View file

@ -1,5 +1,6 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; if (!defined('_GNUBOARD_'))
exit;
/* /*
// 081022 : CSRF 방지를 위해 코드를 작성했으나 효과가 없어 주석처리 함 // 081022 : CSRF 방지를 위해 코드를 작성했으나 효과가 없어 주석처리 함
@ -10,312 +11,321 @@ if (!get_session('ss_admin')) {
*/ */
// 스킨디렉토리를 SELECT 형식으로 얻음 // 스킨디렉토리를 SELECT 형식으로 얻음
function get_skin_select($skin_gubun, $id, $name, $selected='', $event='') function get_skin_select($skin_gubun, $id, $name, $selected = '', $event = '')
{ {
global $config; global $config;
$skins = array(); $skins = array();
if(defined('G5_THEME_PATH') && $config['cf_theme']) { if (defined('G5_THEME_PATH') && $config['cf_theme']) {
$dirs = get_skin_dir($skin_gubun, G5_THEME_PATH.'/'.G5_SKIN_DIR); $dirs = get_skin_dir($skin_gubun, G5_THEME_PATH . '/' . G5_SKIN_DIR);
if(!empty($dirs)) { if (!empty($dirs)) {
foreach($dirs as $dir) { foreach ($dirs as $dir) {
$skins[] = 'theme/'.$dir; $skins[] = 'theme/' . $dir;
} }
}
} }
}
$skins = array_merge($skins, get_skin_dir($skin_gubun)); $skins = array_merge($skins, get_skin_dir($skin_gubun));
$str = "<select id=\"$id\" name=\"$name\" $event>\n"; $str = "<select id=\"$id\" name=\"$name\" $event>\n";
for ($i=0; $i<count($skins); $i++) { for ($i = 0; $i < count($skins); $i++) {
if ($i == 0) $str .= "<option value=\"\">선택</option>"; if ($i == 0)
if(preg_match('#^theme/(.+)$#', $skins[$i], $match)) $str .= "<option value=\"\">선택</option>";
$text = '(테마) '.$match[1]; if (preg_match('#^theme/(.+)$#', $skins[$i], $match))
else $text = '(테마) ' . $match[1];
$text = $skins[$i]; else
$text = $skins[$i];
$str .= option_selected($skins[$i], $selected, $text); $str .= option_selected($skins[$i], $selected, $text);
} }
$str .= "</select>"; $str .= "</select>";
return $str; return $str;
} }
// 모바일 스킨디렉토리를 SELECT 형식으로 얻음 // 모바일 스킨디렉토리를 SELECT 형식으로 얻음
function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event='') function get_mobile_skin_select($skin_gubun, $id, $name, $selected = '', $event = '')
{ {
global $config; global $config;
$skins = array(); $skins = array();
if(defined('G5_THEME_PATH') && $config['cf_theme']) { if (defined('G5_THEME_PATH') && $config['cf_theme']) {
$dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR); $dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH . '/' . G5_SKIN_DIR);
if(!empty($dirs)) { if (!empty($dirs)) {
foreach($dirs as $dir) { foreach ($dirs as $dir) {
$skins[] = 'theme/'.$dir; $skins[] = 'theme/' . $dir;
} }
}
} }
}
$skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)); $skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH . '/' . G5_SKIN_DIR));
$str = "<select id=\"$id\" name=\"$name\" $event>\n"; $str = "<select id=\"$id\" name=\"$name\" $event>\n";
for ($i=0; $i<count($skins); $i++) { for ($i = 0; $i < count($skins); $i++) {
if ($i == 0) $str .= "<option value=\"\">선택</option>"; if ($i == 0)
if(preg_match('#^theme/(.+)$#', $skins[$i], $match)) $str .= "<option value=\"\">선택</option>";
$text = '(테마) '.$match[1]; if (preg_match('#^theme/(.+)$#', $skins[$i], $match))
else $text = '(테마) ' . $match[1];
$text = $skins[$i]; else
$text = $skins[$i];
$str .= option_selected($skins[$i], $selected, $text); $str .= option_selected($skins[$i], $selected, $text);
} }
$str .= "</select>"; $str .= "</select>";
return $str; return $str;
} }
// 스킨경로를 얻는다 // 스킨경로를 얻는다
function get_skin_dir($skin, $skin_path=G5_SKIN_PATH) function get_skin_dir($skin, $skin_path = G5_SKIN_PATH)
{ {
global $g5; global $g5;
$result_array = array(); $result_array = array();
$dirname = $skin_path.'/'.$skin.'/'; $dirname = $skin_path . '/' . $skin . '/';
if(!is_dir($dirname)) if (!is_dir($dirname))
return; return;
$handle = opendir($dirname); $handle = opendir($dirname);
while ($file = readdir($handle)) { while ($file = readdir($handle)) {
if($file == '.'||$file == '..') continue; if ($file == '.' || $file == '..')
continue;
if (is_dir($dirname.$file)) $result_array[] = $file; if (is_dir($dirname . $file))
} $result_array[] = $file;
closedir($handle); }
sort($result_array); closedir($handle);
sort($result_array);
return $result_array; return $result_array;
} }
// 테마 // 테마
function get_theme_dir() function get_theme_dir()
{ {
$result_array = array(); $result_array = array();
$dirname = G5_PATH.'/'.G5_THEME_DIR.'/'; $dirname = G5_PATH . '/' . G5_THEME_DIR . '/';
$handle = opendir($dirname); $handle = opendir($dirname);
while ($file = readdir($handle)) { while ($file = readdir($handle)) {
if($file == '.'||$file == '..') continue; if ($file == '.' || $file == '..')
continue;
if (is_dir($dirname.$file)) { if (is_dir($dirname . $file)) {
$theme_path = $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')) if (is_file($theme_path . '/index.php') && is_file($theme_path . '/head.php') && is_file($theme_path . '/tail.php'))
$result_array[] = $file; $result_array[] = $file;
}
} }
closedir($handle); }
natsort($result_array); closedir($handle);
natsort($result_array);
return $result_array; return $result_array;
} }
// 테마디렉토리를 SELECT 형식으로 얻음 // 테마디렉토리를 SELECT 형식으로 얻음
function get_theme_select($id, $name, $selected='', $event='') function get_theme_select($id, $name, $selected = '', $event = '')
{ {
global $config; global $config;
$theme = array(); $theme = array();
$theme = array_merge($theme, get_theme_dir()); $theme = array_merge($theme, get_theme_dir());
$str = "<select id=\"$id\" name=\"$name\" $event>\n"; $str = "<select id=\"$id\" name=\"$name\" $event>\n";
for ($i=0; $i<count($theme); $i++) { for ($i = 0; $i < count($theme); $i++) {
if ($i == 0) $str .= "<option value=\"\">-</option>"; if ($i == 0)
$text = $theme[$i]; $str .= "<option value=\"\">-</option>";
$text = $theme[$i];
$str .= option_selected($theme[$i], $selected, $text); $str .= option_selected($theme[$i], $selected, $text);
} }
$str .= "</select>"; $str .= "</select>";
return $str; return $str;
} }
// 테마정보 // 테마정보
function get_theme_info($dir) function get_theme_info($dir)
{ {
$info = array(); $info = array();
$path = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir; $path = G5_PATH . '/' . G5_THEME_DIR . '/' . $dir;
if(is_dir($path)) { if (is_dir($path)) {
$screenshot = $path.'/screenshot.png'; $screenshot = $path . '/screenshot.png';
if(is_file($screenshot)) { if (is_file($screenshot)) {
$size = @getimagesize($screenshot); $size = @getimagesize($screenshot);
if($size[2] == 3) if ($size[2] == 3)
$screenshot_url = str_replace(G5_PATH, G5_URL, $screenshot); $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; $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='*') function get_theme_config_value($dir, $key = '*')
{ {
$tconfig = array(); $tconfig = array();
$theme_config_file = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir.'/theme.config.php'; $theme_config_file = G5_PATH . '/' . G5_THEME_DIR . '/' . $dir . '/theme.config.php';
if(is_file($theme_config_file)) { if (is_file($theme_config_file)) {
include($theme_config_file); include($theme_config_file);
if($key == '*') { if ($key == '*') {
$tconfig = $theme_config; $tconfig = $theme_config;
} else { } else {
$keys = array_map('trim', explode(',', $key)); $keys = array_map('trim', explode(',', $key));
foreach($keys as $v) { foreach ($keys as $v) {
$tconfig[$v] = isset($theme_config[$v]) ? trim($theme_config[$v]) : ''; $tconfig[$v] = isset($theme_config[$v]) ? trim($theme_config[$v]) : '';
} }
}
} }
}
return $tconfig; return $tconfig;
} }
// 회원권한을 SELECT 형식으로 얻음 // 회원권한을 SELECT 형식으로 얻음
function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="") function get_member_level_select($name, $start_id = 0, $end_id = 10, $selected = "", $event = "")
{ {
global $g5; global $g5;
$level_name[1] = "방문자"; $level_name[1] = "방문자";
$level_name[2] = "멤버"; $level_name[2] = "멤버";
$level_name[3] = "상위멤버"; $level_name[3] = "상위멤버";
$level_name[10] = "운영자"; $level_name[10] = "운영자";
$str = "\n<select id=\"{$name}\" name=\"{$name}\""; $str = "\n<select id=\"{$name}\" name=\"{$name}\"";
if ($event) $str .= " $event"; if ($event)
$str .= ">\n"; $str .= " $event";
for ($i=$start_id; $i<=$end_id; $i++) { $str .= ">\n";
if(!$level_name[$i]) continue; for ($i = $start_id; $i <= $end_id; $i++) {
if (!$level_name[$i])
continue;
$str .= '<option value="'.$i.'"'; $str .= '<option value="' . $i . '"';
if ($i == $selected) if ($i == $selected)
$str .= ' selected="selected"'; $str .= ' selected="selected"';
$str .= ">{$level_name[$i]}&nbsp;&nbsp;</option>\n"; $str .= ">{$level_name[$i]}&nbsp;&nbsp;</option>\n";
} }
$str .= "</select>\n"; $str .= "</select>\n";
return $str; return $str;
} }
// 회원아이디를 SELECT 형식으로 얻음 // 회원아이디를 SELECT 형식으로 얻음
function get_member_id_select($name, $level, $selected="", $event="") function get_member_id_select($name, $level, $selected = "", $event = "")
{ {
global $g5; global $g5;
$sql = " select mb_id from {$g5['member_table']} where mb_level >= '{$level}' "; $sql = " select mb_id from {$g5['member_table']} where mb_level >= '{$level}' ";
$result = sql_query($sql); $result = sql_query($sql);
$str = '<select id="'.$name.'" name="'.$name.'" '.$event.'><option value="">선택안함</option>'; $str = '<select id="' . $name . '" name="' . $name . '" ' . $event . '><option value="">선택안함</option>';
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i = 0; $row = sql_fetch_array($result); $i++) {
{ $str .= '<option value="' . $row['mb_id'] . '"';
$str .= '<option value="'.$row['mb_id'].'"'; if ($row['mb_id'] == $selected)
if ($row['mb_id'] == $selected) $str .= ' selected'; $str .= ' selected';
$str .= '>'.$row['mb_id'].'</option>'; $str .= '>' . $row['mb_id'] . '</option>';
} }
$str .= '</select>'; $str .= '</select>';
return $str; return $str;
} }
// 권한 검사 // 권한 검사
function auth_check($auth, $attr, $return=false) function auth_check($auth, $attr, $return = false)
{ {
global $is_admin; global $is_admin;
if ($is_admin == 'super') return; if ($is_admin == 'super')
return;
if (!trim($auth)) { if (!trim($auth)) {
$msg = '이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.'; $msg = '이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg); alert($msg);
} }
$attr = strtolower($attr); $attr = strtolower($attr);
if (!strstr($auth, $attr)) { if (!strstr($auth, $attr)) {
if ($attr == 'r') { if ($attr == 'r') {
$msg = '읽을 권한이 없습니다.'; $msg = '읽을 권한이 없습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg); alert($msg);
} else if ($attr == 'w') { } else if ($attr == 'w') {
$msg = '입력, 추가, 생성, 수정 권한이 없습니다.'; $msg = '입력, 추가, 생성, 수정 권한이 없습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg); alert($msg);
} else if ($attr == 'd') { } else if ($attr == 'd') {
$msg = '삭제 권한이 없습니다.'; $msg = '삭제 권한이 없습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg); alert($msg);
} else { } else {
$msg = '속성이 잘못 되었습니다.'; $msg = '속성이 잘못 되었습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg); alert($msg);
}
} }
}
} }
// 작업아이콘 출력 // 작업아이콘 출력
function icon($act, $link='', $target='_parent') function icon($act, $link = '', $target = '_parent')
{ {
global $g5; global $g5;
$img = array('입력'=>'insert', '추가'=>'insert', '생성'=>'insert', '수정'=>'modify', '삭제'=>'delete', '이동'=>'move', '그룹'=>'move', '보기'=>'view', '미리보기'=>'view', '복사'=>'copy'); $img = array('입력' => 'insert', '추가' => 'insert', '생성' => 'insert', '수정' => 'modify', '삭제' => 'delete', '이동' => 'move', '그룹' => 'move', '보기' => 'view', '미리보기' => 'view', '복사' => 'copy');
$icon = '<img src="'.G5_ADMIN_PATH.'/img/icon_'.$img[$act].'.gif" title="'.$act.'">'; $icon = '<img src="' . G5_ADMIN_PATH . '/img/icon_' . $img[$act] . '.gif" title="' . $act . '">';
if ($link) if ($link)
$s = '<a href="'.$link.'">'.$icon.'</a>'; $s = '<a href="' . $link . '">' . $icon . '</a>';
else else
$s = $icon; $s = $icon;
return $s; return $s;
} }
@ -323,128 +333,123 @@ function icon($act, $link='', $target='_parent')
// www.php.net 참고 : pal at degerstrom dot com // www.php.net 참고 : pal at degerstrom dot com
function rm_rf($file) function rm_rf($file)
{ {
if (file_exists($file)) { if (file_exists($file)) {
if (is_dir($file)) { if (is_dir($file)) {
$handle = opendir($file); $handle = opendir($file);
while($filename = readdir($handle)) { while ($filename = readdir($handle)) {
if ($filename != '.' && $filename != '..') if ($filename != '.' && $filename != '..')
rm_rf($file.'/'.$filename); rm_rf($file . '/' . $filename);
} }
closedir($handle); closedir($handle);
@chmod($file, G5_DIR_PERMISSION); @chmod($file, G5_DIR_PERMISSION);
@rmdir($file); @rmdir($file);
} else { } else {
@chmod($file, G5_FILE_PERMISSION); @chmod($file, G5_FILE_PERMISSION);
@unlink($file); @unlink($file);
}
} }
}
} }
// 출력순서 // 출력순서
function order_select($fld, $sel='') function order_select($fld, $sel = '')
{ {
$s = '<select name="'.$fld.'" id="'.$fld.'">'; $s = '<select name="' . $fld . '" id="' . $fld . '">';
for ($i=1; $i<=100; $i++) { for ($i = 1; $i <= 100; $i++) {
$s .= '<option value="'.$i.'" '; $s .= '<option value="' . $i . '" ';
if ($sel) { if ($sel) {
if ($i == $sel) { if ($i == $sel) {
$s .= 'selected'; $s .= 'selected';
} }
} else { } else {
if ($i == 50) { if ($i == 50) {
$s .= 'selected'; $s .= 'selected';
} }
}
$s .= '>'.$i.'</option>';
} }
$s .= '</select>'; $s .= '>' . $i . '</option>';
}
$s .= '</select>';
return $s; return $s;
} }
// 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴 // 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴
function get_admin_token() function get_admin_token()
{ {
$token = md5(uniqid(rand(), true)); $token = md5(uniqid(rand(), true));
set_session('ss_admin_token', $token); set_session('ss_admin_token', $token);
return $token; return $token;
} }
// POST로 넘어온 토큰과 세션에 저장된 토큰 비교 // POST로 넘어온 토큰과 세션에 저장된 토큰 비교
function check_admin_token() function check_admin_token()
{ {
$token = get_session('ss_admin_token'); $token = get_session('ss_admin_token');
set_session('ss_admin_token', ''); set_session('ss_admin_token', '');
if(!$token || !$_REQUEST['token'] || $token != $_REQUEST['token']) if (!$token || !$_REQUEST['token'] || $token != $_REQUEST['token'])
alert('올바른 방법으로 이용해 주십시오.', G5_URL); alert('올바른 방법으로 이용해 주십시오.', G5_URL);
return true; return true;
} }
// 관리자 페이지 referer 체크 // 관리자 페이지 referer 체크
function admin_referer_check($return=false) function admin_referer_check($return = false)
{ {
$referer = trim($_SERVER['HTTP_REFERER']); $referer = trim($_SERVER['HTTP_REFERER']);
if(!$referer) { if (!$referer) {
$msg = '정보가 올바르지 않습니다.'; $msg = '정보가 올바르지 않습니다.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg, G5_URL); alert($msg, G5_URL);
} }
$p = @parse_url($referer); $p = @parse_url($referer);
$host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']); $host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']);
if($host != $p['host']) { if ($host != $p['host']) {
$msg = '올바른 방법으로 이용해 주십시오.'; $msg = '올바른 방법으로 이용해 주십시오.';
if($return) if ($return)
return $msg; return $msg;
else else
alert($msg, G5_URL); alert($msg, G5_URL);
} }
} }
// 접근 권한 검사 // 접근 권한 검사
if (!$member['mb_id']) if (!$member['mb_id']) {
{ goto_url(G5_BBS_URL . '/login.php?url=' . urlencode(G5_ADMIN_URL));
goto_url(G5_BBS_URL.'/login.php?url=' . urlencode(G5_ADMIN_URL)); } else if ($is_admin != 'super') {
} $auth = array();
else if ($is_admin != 'super') $sql = " select au_menu, au_auth from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' ";
{ $result = sql_query($sql);
$auth = array(); for ($i = 0; $row = sql_fetch_array($result); $i++) {
$sql = " select au_menu, au_auth from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' "; $auth[$row['au_menu']] = $row['au_auth'];
$result = sql_query($sql); }
for($i=0; $row=sql_fetch_array($result); $i++)
{
$auth[$row['au_menu']] = $row['au_auth'];
}
if (!$i) if (!$i) {
{ goto_url(G5_URL);
goto_url(G5_URL); }
}
} }
// 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다. // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다.
$admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); $admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']);
if (get_session('ss_mb_key') !== $admin_key) { if (get_session('ss_mb_key') !== $admin_key) {
session_destroy(); session_destroy();
include_once(G5_LIB_PATH.'/mailer.lib.php'); include_once(G5_LIB_PATH . '/mailer.lib.php');
// 메일 알림 // 메일 알림
mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'].' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n'.G5_URL, 0); mailer($member['mb_nick'], $member['mb_email'], $member['mb_email'], 'XSS 공격 알림', $_SERVER['REMOTE_ADDR'] . ' 아이피로 XSS 공격이 있었습니다.\n\n관리자 권한을 탈취하려는 접근이므로 주의하시기 바랍니다.\n\n해당 아이피는 차단하시고 의심되는 게시물이 있는지 확인하시기 바랍니다.\n\n' . G5_URL, 0);
alert_close('정상적으로 로그인하여 접근하시기 바랍니다.'); alert_close('정상적으로 로그인하여 접근하시기 바랍니다.');
} }
@ksort($auth); @ksort($auth);
@ -455,22 +460,26 @@ unset($menu);
unset($amenu); unset($amenu);
$tmp = dir(G5_ADMIN_PATH); $tmp = dir(G5_ADMIN_PATH);
while ($entry = $tmp->read()) { while ($entry = $tmp->read()) {
if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m)) if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m))
continue; // 파일명이 menu 으로 시작하지 않으면 무시한다. continue; // 파일명이 menu 으로 시작하지 않으면 무시한다.
$amenu[$m[1]] = $entry; $amenu[$m[1]] = $entry;
include_once(G5_ADMIN_PATH.'/'.$entry); include_once(G5_ADMIN_PATH . '/' . $entry);
} }
@ksort($amenu); @ksort($amenu);
$arr_query = array(); $arr_query = array();
if (isset($sst)) $arr_query[] = 'sst='.$sst; if (isset($sst))
if (isset($sod)) $arr_query[] = 'sod='.$sod; $arr_query[] = 'sst=' . $sst;
if (isset($sfl)) $arr_query[] = 'sfl='.$sfl; if (isset($sod))
if (isset($stx)) $arr_query[] = 'stx='.$stx; $arr_query[] = 'sod=' . $sod;
if (isset($page)) $arr_query[] = 'page='.$page; if (isset($sfl))
$arr_query[] = 'sfl=' . $sfl;
if (isset($stx))
$arr_query[] = 'stx=' . $stx;
if (isset($page))
$arr_query[] = 'page=' . $page;
$qstr = implode("&amp;", $arr_query); $qstr = implode("&amp;", $arr_query);
// 관리자에서는 추가 스크립트는 사용하지 않는다. // 관리자에서는 추가 스크립트는 사용하지 않는다.
//$config['cf_add_script'] = ''; //$config['cf_add_script'] = '';
?>

View file

@ -1,11 +1,9 @@
<?php <?php
$menu['menu100'] = array ( $menu['menu100'] = array(
array('100000', '사이트 설정', G5_ADMIN_URL.'/site_config_form.php', 'config'), array('100000', '사이트 설정', G5_ADMIN_URL . '/site_config_form.php', 'config'),
array('100100', '환경설정', G5_ADMIN_URL.'/site_config_form.php', ''), array('100100', '환경설정', G5_ADMIN_URL . '/site_config_form.php', ''),
array('100250', '메인 편집', G5_ADMIN_URL.'/viewer_form.php', ''), array('100250', '메인 편집', G5_ADMIN_URL . '/viewer_form.php', ''),
array('100300', '디자인 설정', G5_ADMIN_URL.'/design_form.php', ''), array('100300', '디자인 설정', G5_ADMIN_URL . '/design_form.php', ''),
array('100400', '메뉴 설정', G5_ADMIN_URL.'/menu_list.php', ''), array('100400', '메뉴 설정', G5_ADMIN_URL . '/menu_list.php', ''),
array('100990', 'DB관리', G5_DB_URL, '') array('100990', 'DB관리', G5_DB_URL, '')
); );
?>

View file

@ -1,8 +1,7 @@
<?php <?php
$menu['menu200'] = array ( $menu['menu200'] = array(
array('200000', '회원관리', G5_ADMIN_URL.'/member_list.php', ''), array('200000', '회원관리', G5_ADMIN_URL . '/member_list.php', ''),
array('200100', '회원관리', G5_ADMIN_URL.'/member_list.php', ''), array('200100', '회원관리', G5_ADMIN_URL . '/member_list.php', ''),
array('200800', '접속자집계', G5_ADMIN_URL.'/visit_list.php', ''), array('200800', '접속자집계', G5_ADMIN_URL . '/visit_list.php', ''),
array('200820', '접속자로그삭제', G5_ADMIN_URL.'/visit_delete.php', '') array('200820', '접속자로그삭제', G5_ADMIN_URL . '/visit_delete.php', '')
); );
?>

View file

@ -1,8 +1,7 @@
<?php <?php
$menu['menu300'] = array ( $menu['menu300'] = array(
array('300000', '게시판관리', ''.G5_ADMIN_URL.'/board_list.php', 'board'), array('300000', '게시판관리', '' . G5_ADMIN_URL . '/board_list.php', 'board'),
array('300100', '게시판관리', ''.G5_ADMIN_URL.'/board_list.php', 'bbs_board'), array('300100', '게시판관리', '' . G5_ADMIN_URL . '/board_list.php', 'bbs_board'),
array('300200', '게시판그룹관리', ''.G5_ADMIN_URL.'/boardgroup_list.php', 'bbs_group'), array('300200', '게시판그룹관리', '' . G5_ADMIN_URL . '/boardgroup_list.php', 'bbs_group'),
array('300600', '내용관리', G5_ADMIN_URL.'/contentlist.php', 'scf_contents', 1), array('300600', '내용관리', G5_ADMIN_URL . '/contentlist.php', 'scf_contents', 1),
); );
?>

View file

@ -1,8 +1,7 @@
<?php <?php
$menu['menu900'] = array ( $menu['menu900'] = array(
array('900000', '기타관리', G5_ADMIN_URL.'/session_file_delete.php', ''), array('900000', '기타관리', G5_ADMIN_URL . '/session_file_delete.php', ''),
array('900100', '세션파일 일괄삭제',G5_ADMIN_URL.'/session_file_delete.php', 'cf_session', 1), array('900100', '홈페이지 상세관리', G5_ADMIN_URL . '/config_form.php', 'cf_thumbnail', 1),
array('900200', '캐시파일 일괄삭제',G5_ADMIN_URL.'/cache_file_delete.php', 'cf_cache', 1), array('900200', '세션파일 일괄삭제', G5_ADMIN_URL . '/session_file_delete.php', 'cf_session', 1),
array('900300', '홈페이지 상세관리',G5_ADMIN_URL.'/config_form.php', 'cf_thumbnail', 1) array('900300', '캐시파일 일괄삭제', G5_ADMIN_URL . '/cache_file_delete.php', 'cf_cache', 1)
); );
?>

View file

@ -1,8 +1,9 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; if (!defined('_GNUBOARD_'))
exit;
?> ?>
</section> </section>
</div> </div>
@ -13,47 +14,47 @@ if (!defined('_GNUBOARD_')) exit;
<script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script src="<?php echo G5_ADMIN_URL ?>/js/admin.ajax.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_ADMIN_URL ?>/js/admin.ajax.js?ver=<?php echo G5_JS_VER; ?>"></script>
<script> <script>
$(function(){ $(function () {
var hide_menu = false; var hide_menu = false;
var mouse_event = false; var mouse_event = false;
var oldX = oldY = 0; var oldX = oldY = 0;
$(document).mousemove(function(e) { $(document).mousemove(function (e) {
if(oldX == 0) { if (oldX == 0) {
oldX = e.pageX; oldX = e.pageX;
oldY = e.pageY; oldY = e.pageY;
} }
if(oldX != e.pageX || oldY != e.pageY) { if (oldX != e.pageX || oldY != e.pageY) {
mouse_event = true; mouse_event = true;
} }
}); });
// 폰트 리사이즈 쿠키있으면 실행 // 폰트 리사이즈 쿠키있으면 실행
var font_resize_act = get_cookie("ck_font_resize_act"); var font_resize_act = get_cookie("ck_font_resize_act");
if(font_resize_act != "") { if (font_resize_act != "") {
font_resize("container", font_resize_act); font_resize("container", font_resize_act);
} }
$('.gnb_1da').bind('click', function(){
var gnb_parent = $(this).closest('li');
if(gnb_parent.hasClass('on')) { $('.gnb_1da').bind('click', function () {
var gnb_parent = $(this).closest('li');
$('#gnb .on').not('.check').removeClass('on').find('.gnb_2dul').stop().slideUp();
$('#gnb .check').parents('li').addClass('on').find('.gnb_2dul').stop().slideDown();
} else {
gnb_parent.addClass('on').find('.gnb_2dul').stop().slideDown();
gnb_parent.siblings().removeClass('on').find('.gnb_2dul').stop().slideUp();
}
return false;
});
$('#gnb .check').addClass('on').parents('li').addClass('on').find('.gnb_2dul').show(); if (gnb_parent.hasClass('on')) {
});
$('#gnb .on').not('.check').removeClass('on').find('.gnb_2dul').stop().slideUp();
$('#gnb .check').parents('li').addClass('on').find('.gnb_2dul').stop().slideDown();
} else {
gnb_parent.addClass('on').find('.gnb_2dul').stop().slideDown();
gnb_parent.siblings().removeClass('on').find('.gnb_2dul').stop().slideUp();
}
return false;
});
$('#gnb .check').addClass('on').parents('li').addClass('on').find('.gnb_2dul').show();
});
</script> </script>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?> ?>

View file

@ -1,14 +1,13 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/json.lib.php'); include_once(G5_LIB_PATH . '/json.lib.php');
set_session('ss_admin_token', ''); set_session('ss_admin_token', '');
$error = admin_referer_check(true); $error = admin_referer_check(true);
if($error) if ($error)
die(json_encode(array('error'=>$error, 'url'=>G5_URL))); die(json_encode(array('error' => $error, 'url' => G5_URL)));
$token = get_admin_token(); $token = get_admin_token();
die(json_encode(array('error'=>'', 'token'=>$token, 'url'=>''))); die(json_encode(array('error' => '', 'token' => $token, 'url' => '')));
?>

View file

@ -1,80 +1,82 @@
<?php <?php
$sub_menu = "300100"; $sub_menu = "300100";
include_once("./_common.php"); include_once("./_common.php");
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
$g5['title'] = '게시판 복사'; $g5['title'] = '게시판 복사';
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
?> ?>
<script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_ADMIN_URL ?>/js/admin.js?ver=<?php echo G5_JS_VER; ?>"></script>
<div class="new_win"> <div class="new_win">
<h1><?php echo $g5['title']; ?></h1> <h1><?php echo $g5['title']; ?></h1>
<div class="new_win_desc"> <div class="new_win_desc">
</div>
<form name="fboardcopy" id="fboardcopy" action="./board_copy_update.php" onsubmit="return fboardcopy_check(this);" method="post"> </div>
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>" id="bo_table">
<input type="hidden" name="token" value="">
<div class="tbl_frm01 tbl_wrap"> <form name="fboardcopy" id="fboardcopy" action="./board_copy_update.php" onsubmit="return fboardcopy_check(this);"
<table> method="post">
<caption><?php echo $g5['title']; ?></caption> <input type="hidden" name="bo_table" value="<?php echo $bo_table ?>" id="bo_table">
<tbody> <input type="hidden" name="token" value="">
<tr>
<th scope="col" style="width:100px;">원본 테이블명</th>
<td><?php echo $bo_table ?></td>
</tr>
<tr>
<th scope="col"><label for="target_table">복사 테이블명<strong class="sound_only">필수</strong></label></th>
<td>
<?php echo help('영문자, 숫자, _ 만 가능 (공백없이)'); ?>
<input type="text" name="target_table" id="target_table" required class="required alnum_ frm_input" maxlength="20">
</td>
</tr>
<tr>
<th scope="col"><label for="target_subject">게시판 제목<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="target_subject" value="[복사본] <?php echo $board['bo_subject'] ?>" id="target_subject" required class="required frm_input full" maxlength="120"></td>
</tr>
<tr>
<th scope="col">복사 유형</th>
<td>
<input type="radio" name="copy_case" value="schema_only" id="copy_case" checked>
<label for="copy_case">구조만</label>
<input type="radio" name="copy_case" value="schema_data_both" id="copy_case2">
<label for="copy_case2">구조와 데이터</label>
</td>
</tr>
</tbody>
</table>
</div>
<div class="btn_win02 btn_win"> <div class="tbl_frm01 tbl_wrap">
<input type="submit" class="btn_submit" value="복사"> <table>
<input type="button" class="btn_cancel" value="창닫기" onclick="window.close();"> <caption><?php echo $g5['title']; ?></caption>
</div> <tbody>
<tr>
<th scope="col" style="width:100px;">원본 테이블명</th>
<td><?php echo $bo_table ?></td>
</tr>
<tr>
<th scope="col"><label for="target_table">복사 테이블명<strong class="sound_only">필수</strong></label></th>
<td>
<?php echo help('영문자, 숫자, _ 만 가능 (공백없이)'); ?>
<input type="text" name="target_table" id="target_table" required class="required alnum_ frm_input"
maxlength="20">
</td>
</tr>
<tr>
<th scope="col"><label for="target_subject">게시판 제목<strong class="sound_only">필수</strong></label></th>
<td><input type="text" name="target_subject" value="[복사본] <?php echo $board['bo_subject'] ?>"
id="target_subject" required class="required frm_input full" maxlength="120"></td>
</tr>
<tr>
<th scope="col">복사 유형</th>
<td>
<input type="radio" name="copy_case" value="schema_only" id="copy_case" checked>
<label for="copy_case">구조만</label>
<input type="radio" name="copy_case" value="schema_data_both" id="copy_case2">
<label for="copy_case2">구조와 데이터</label>
</td>
</tr>
</tbody>
</table>
</div>
</form> <div class="btn_win02 btn_win">
<input type="submit" class="btn_submit" value="복사">
<input type="button" class="btn_cancel" value="창닫기" onclick="window.close();">
</div>
</div> </form>
<script> </div>
function fboardcopy_check(f)
{
if (f.bo_table.value == f.target_table.value) {
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
return false;
}
return true; <script>
} function fboardcopy_check(f) {
</script> if (f.bo_table.value == f.target_table.value) {
alert("원본 테이블명과 복사할 테이블명이 달라야 합니다.");
return false;
}
return true;
}
</script>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?> ?>

View file

@ -6,16 +6,16 @@ auth_check($auth[$sub_menu], 'w');
check_admin_token(); check_admin_token();
$target_table = trim($_POST['target_table']); $target_table = trim($_POST['target_table']);
$target_subject = trim($_POST['target_subject']); $target_subject = trim($_POST['target_subject']);
if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) { if (!preg_match('/[A-Za-z0-9_]{1,20}/', $target_table)) {
alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)'); alert('게시판 TABLE명은 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (20자 이내)');
} }
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' "); $row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '$target_table' ");
if ($row['cnt']) if ($row['cnt'])
alert($target_table.'은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.'); alert($target_table . '은(는) 이미 존재하는 게시판 테이블명 입니다.\\n복사할 테이블명으로 사용할 수 없습니다.');
// 게시판 테이블 생성 // 게시판 테이블 생성
$sql = get_table_define($g5['write_prefix'] . $bo_table); $sql = get_table_define($g5['write_prefix'] . $bo_table);
@ -26,7 +26,7 @@ $file_copy = array();
// 구조만 복사시에는 공지사항 번호는 복사하지 않는다. // 구조만 복사시에는 공지사항 번호는 복사하지 않는다.
if ($copy_case == 'schema_only') { if ($copy_case == 'schema_only') {
$board['bo_notice'] = ''; $board['bo_notice'] = '';
} }
// 게시판 정보 // 게시판 정보
@ -78,11 +78,11 @@ $sql = " insert into {$g5['board_table']}
bo_mobile_skin = '{$board['bo_mobile_skin']}', bo_mobile_skin = '{$board['bo_mobile_skin']}',
bo_include_head = '{$board['bo_include_head']}', bo_include_head = '{$board['bo_include_head']}',
bo_include_tail = '{$board['bo_include_tail']}', bo_include_tail = '{$board['bo_include_tail']}',
bo_content_head = '".addslashes($board['bo_content_head'])."', bo_content_head = '" . addslashes($board['bo_content_head']) . "',
bo_content_tail = '".addslashes($board['bo_content_tail'])."', bo_content_tail = '" . addslashes($board['bo_content_tail']) . "',
bo_mobile_content_head = '".addslashes($board['bo_mobile_content_head'])."', bo_mobile_content_head = '" . addslashes($board['bo_mobile_content_head']) . "',
bo_mobile_content_tail = '".addslashes($board['bo_mobile_content_tail'])."', bo_mobile_content_tail = '" . addslashes($board['bo_mobile_content_tail']) . "',
bo_insert_content = '".addslashes($board['bo_insert_content'])."', bo_insert_content = '" . addslashes($board['bo_insert_content']) . "',
bo_gallery_cols = '{$board['bo_gallery_cols']}', bo_gallery_cols = '{$board['bo_gallery_cols']}',
bo_gallery_width = '{$board['bo_gallery_width']}', bo_gallery_width = '{$board['bo_gallery_width']}',
bo_gallery_height = '{$board['bo_gallery_height']}', bo_gallery_height = '{$board['bo_gallery_height']}',
@ -98,34 +98,34 @@ $sql = " insert into {$g5['board_table']}
bo_use_cert = '{$board['bo_use_cert']}', bo_use_cert = '{$board['bo_use_cert']}',
bo_use_sns = '{$board['bo_use_sns']}', bo_use_sns = '{$board['bo_use_sns']}',
bo_sort_field = '{$board['bo_sort_field']}', bo_sort_field = '{$board['bo_sort_field']}',
bo_1_subj = '".addslashes($board['bo_1_subj'])."', bo_1_subj = '" . addslashes($board['bo_1_subj']) . "',
bo_2_subj = '".addslashes($board['bo_2_subj'])."', bo_2_subj = '" . addslashes($board['bo_2_subj']) . "',
bo_3_subj = '".addslashes($board['bo_3_subj'])."', bo_3_subj = '" . addslashes($board['bo_3_subj']) . "',
bo_4_subj = '".addslashes($board['bo_4_subj'])."', bo_4_subj = '" . addslashes($board['bo_4_subj']) . "',
bo_5_subj = '".addslashes($board['bo_5_subj'])."', bo_5_subj = '" . addslashes($board['bo_5_subj']) . "',
bo_6_subj = '".addslashes($board['bo_6_subj'])."', bo_6_subj = '" . addslashes($board['bo_6_subj']) . "',
bo_7_subj = '".addslashes($board['bo_7_subj'])."', bo_7_subj = '" . addslashes($board['bo_7_subj']) . "',
bo_8_subj = '".addslashes($board['bo_8_subj'])."', bo_8_subj = '" . addslashes($board['bo_8_subj']) . "',
bo_9_subj = '".addslashes($board['bo_9_subj'])."', bo_9_subj = '" . addslashes($board['bo_9_subj']) . "',
bo_10_subj = '".addslashes($board['bo_10_subj'])."', bo_10_subj = '" . addslashes($board['bo_10_subj']) . "',
bo_1 = '".addslashes($board['bo_1'])."', bo_1 = '" . addslashes($board['bo_1']) . "',
bo_2 = '".addslashes($board['bo_2'])."', bo_2 = '" . addslashes($board['bo_2']) . "',
bo_3 = '".addslashes($board['bo_3'])."', bo_3 = '" . addslashes($board['bo_3']) . "',
bo_4 = '".addslashes($board['bo_4'])."', bo_4 = '" . addslashes($board['bo_4']) . "',
bo_5 = '".addslashes($board['bo_5'])."', bo_5 = '" . addslashes($board['bo_5']) . "',
bo_6 = '".addslashes($board['bo_6'])."', bo_6 = '" . addslashes($board['bo_6']) . "',
bo_7 = '".addslashes($board['bo_7'])."', bo_7 = '" . addslashes($board['bo_7']) . "',
bo_8 = '".addslashes($board['bo_8'])."', bo_8 = '" . addslashes($board['bo_8']) . "',
bo_9 = '".addslashes($board['bo_9'])."', bo_9 = '" . addslashes($board['bo_9']) . "',
bo_10 = '".addslashes($board['bo_10'])."' "; bo_10 = '" . addslashes($board['bo_10']) . "' ";
sql_query($sql, false); sql_query($sql, false);
// 게시판 폴더 생성 // 게시판 폴더 생성
@mkdir(G5_DATA_PATH.'/file/'.$target_table, G5_DIR_PERMISSION); @mkdir(G5_DATA_PATH . '/file/' . $target_table, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/file/'.$target_table, G5_DIR_PERMISSION); @chmod(G5_DATA_PATH . '/file/' . $target_table, G5_DIR_PERMISSION);
// 디렉토리에 있는 파일의 목록을 보이지 않게 한다. // 디렉토리에 있는 파일의 목록을 보이지 않게 한다.
$board_path = G5_DATA_PATH.'/file/'.$target_table; $board_path = G5_DATA_PATH . '/file/' . $target_table;
$file = $board_path . '/index.php'; $file = $board_path . '/index.php';
$f = @fopen($file, 'w'); $f = @fopen($file, 'w');
@fwrite($f, ''); @fwrite($f, '');
@ -134,66 +134,67 @@ $f = @fopen($file, 'w');
$copy_file = 0; $copy_file = 0;
if ($copy_case == 'schema_data_both') { if ($copy_case == 'schema_data_both') {
$d = dir(G5_DATA_PATH.'/file/'.$bo_table); $d = dir(G5_DATA_PATH . '/file/' . $bo_table);
while ($entry = $d->read()) { while ($entry = $d->read()) {
if ($entry == '.' || $entry == '..') continue; if ($entry == '.' || $entry == '..')
continue;
// 김선용 201007 : // 김선용 201007 :
if(is_dir(G5_DATA_PATH.'/file/'.$bo_table.'/'.$entry)){ if (is_dir(G5_DATA_PATH . '/file/' . $bo_table . '/' . $entry)) {
$dd = dir(G5_DATA_PATH.'/file/'.$bo_table.'/'.$entry); $dd = dir(G5_DATA_PATH . '/file/' . $bo_table . '/' . $entry);
@mkdir(G5_DATA_PATH.'/file/'.$target_table.'/'.$entry, G5_DIR_PERMISSION); @mkdir(G5_DATA_PATH . '/file/' . $target_table . '/' . $entry, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/file/'.$target_table.'/'.$entry, G5_DIR_PERMISSION); @chmod(G5_DATA_PATH . '/file/' . $target_table . '/' . $entry, G5_DIR_PERMISSION);
while ($entry2 = $dd->read()) { while ($entry2 = $dd->read()) {
if ($entry2 == '.' || $entry2 == '..') continue; if ($entry2 == '.' || $entry2 == '..')
@copy(G5_DATA_PATH.'/file/'.$bo_table.'/'.$entry.'/'.$entry2, G5_DATA_PATH.'/file/'.$target_table.'/'.$entry.'/'.$entry2); continue;
@chmod(G5_DATA_PATH.'/file/'.$target_table.'/'.$entry.'/'.$entry2, G5_DIR_PERMISSION); @copy(G5_DATA_PATH . '/file/' . $bo_table . '/' . $entry . '/' . $entry2, G5_DATA_PATH . '/file/' . $target_table . '/' . $entry . '/' . $entry2);
$copy_file++; @chmod(G5_DATA_PATH . '/file/' . $target_table . '/' . $entry . '/' . $entry2, G5_DIR_PERMISSION);
} $copy_file++;
$dd->close(); }
} $dd->close();
else { } else {
@copy(G5_DATA_PATH.'/file/'.$bo_table.'/'.$entry, G5_DATA_PATH.'/file/'.$target_table.'/'.$entry); @copy(G5_DATA_PATH . '/file/' . $bo_table . '/' . $entry, G5_DATA_PATH . '/file/' . $target_table . '/' . $entry);
@chmod(G5_DATA_PATH.'/file/'.$target_table.'/'.$entry, G5_DIR_PERMISSION); @chmod(G5_DATA_PATH . '/file/' . $target_table . '/' . $entry, G5_DIR_PERMISSION);
$copy_file++; $copy_file++;
} }
} }
$d->close(); $d->close();
// 글복사 // 글복사
$sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table "; $sql = " insert into {$g5['write_prefix']}$target_table select * from {$g5['write_prefix']}$bo_table ";
sql_query($sql, false); sql_query($sql, false);
// 게시글수 저장 // 게시글수 저장
$sql = " select bo_count_write, bo_count_comment from {$g5['board_table']} where bo_table = '$bo_table' "; $sql = " select bo_count_write, bo_count_comment from {$g5['board_table']} where bo_table = '$bo_table' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$sql = " update {$g5['board_table']} set bo_count_write = '{$row['bo_count_write']}', bo_count_comment = '{$row['bo_count_comment']}' where bo_table = '$target_table' "; $sql = " update {$g5['board_table']} set bo_count_write = '{$row['bo_count_write']}', bo_count_comment = '{$row['bo_count_comment']}' where bo_table = '$target_table' ";
sql_query($sql, false); sql_query($sql, false);
// 4.00.01 // 4.00.01
// 위의 코드는 같은 테이블명을 사용하였다는 오류가 발생함. (희한하네 ㅡㅡ;) // 위의 코드는 같은 테이블명을 사용하였다는 오류가 발생함. (희한하네 ㅡㅡ;)
$sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' "; $sql = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' ";
$result = sql_query($sql, false); $result = sql_query($sql, false);
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i = 0; $row = sql_fetch_array($result); $i++)
$file_copy[$i] = $row; $file_copy[$i] = $row;
} }
if (count($file_copy)) { if (count($file_copy)) {
for ($i=0; $i<count($file_copy); $i++) { for ($i = 0; $i < count($file_copy); $i++) {
$sql = " insert into {$g5['board_file_table']} $sql = " insert into {$g5['board_file_table']}
set bo_table = '$target_table', set bo_table = '$target_table',
wr_id = '{$file_copy[$i]['wr_id']}', wr_id = '{$file_copy[$i]['wr_id']}',
bf_no = '{$file_copy[$i]['bf_no']}', bf_no = '{$file_copy[$i]['bf_no']}',
bf_source = '".addslashes($file_copy[$i]['bf_source'])."', bf_source = '" . addslashes($file_copy[$i]['bf_source']) . "',
bf_file = '{$file_copy[$i]['bf_file']}', bf_file = '{$file_copy[$i]['bf_file']}',
bf_download = '{$file_copy[$i]['bf_download']}', bf_download = '{$file_copy[$i]['bf_download']}',
bf_content = '".addslashes($file_copy[$i]['bf_content'])."', bf_content = '" . addslashes($file_copy[$i]['bf_content']) . "',
bf_filesize = '{$file_copy[$i]['bf_filesize']}', bf_filesize = '{$file_copy[$i]['bf_filesize']}',
bf_width = '{$file_copy[$i]['bf_width']}', bf_width = '{$file_copy[$i]['bf_width']}',
bf_height = '{$file_copy[$i]['bf_height']}', bf_height = '{$file_copy[$i]['bf_height']}',
bf_type = '{$file_copy[$i]['bf_type']}', bf_type = '{$file_copy[$i]['bf_type']}',
bf_datetime = '{$file_copy[$i]['bf_datetime']}' "; bf_datetime = '{$file_copy[$i]['bf_datetime']}' ";
sql_query($sql, false); sql_query($sql, false);
} }
} }
delete_cache_latest($bo_table); delete_cache_latest($bo_table);
@ -201,5 +202,4 @@ delete_cache_latest($target_table);
echo "<script>opener.document.location.reload();</script>"; echo "<script>opener.document.location.reload();</script>";
alert("복사에 성공 했습니다.", './board_copy.php?bo_table='.$bo_table.'&amp;'.$qstr); alert("복사에 성공 했습니다.", './board_copy.php?bo_table=' . $bo_table . '&amp;' . $qstr);
?>

View file

@ -1,11 +1,15 @@
<?php <?php
// board_delete.php , boardgroup_delete.php 에서 include 하는 파일 // board_delete.php , boardgroup_delete.php 에서 include 하는 파일
if (!defined('_GNUBOARD_')) exit; if (!defined('_GNUBOARD_'))
if (!defined('_BOARD_DELETE_')) exit; // 개별 페이지 접근 불가 exit;
if (!defined('_BOARD_DELETE_'))
exit; // 개별 페이지 접근 불가
// $tmp_bo_table 에는 $bo_table 값을 넘겨주어야 함 // $tmp_bo_table 에는 $bo_table 값을 넘겨주어야 함
if (!$tmp_bo_table) { return; } if (!$tmp_bo_table) {
return;
}
// 게시판 1개는 삭제 불가 (게시판 복사를 위해서) // 게시판 1개는 삭제 불가 (게시판 복사를 위해서)
//$row = sql_fetch(" select count(*) as cnt from $g5['board_table'] "); //$row = sql_fetch(" select count(*) as cnt from $g5['board_table'] ");
@ -29,5 +33,4 @@ sql_query(" drop table {$g5['write_prefix']}{$tmp_bo_table} ", FALSE);
delete_cache_latest($tmp_bo_table); delete_cache_latest($tmp_bo_table);
// 게시판 폴더 전체 삭제 // 게시판 폴더 전체 삭제
rm_rf(G5_DATA_PATH.'/file/'.$tmp_bo_table); rm_rf(G5_DATA_PATH . '/file/' . $tmp_bo_table);
?>

File diff suppressed because it is too large Load diff

View file

@ -8,29 +8,29 @@ $sql_common = " from {$g5['board_table']} a ";
$sql_search = " where (1) "; $sql_search = " where (1) ";
if ($is_admin != "super") { if ($is_admin != "super") {
$sql_common .= " , {$g5['group_table']} b "; $sql_common .= " , {$g5['group_table']} b ";
$sql_search .= " and (a.gr_id = b.gr_id and b.gr_admin = '{$member['mb_id']}') "; $sql_search .= " and (a.gr_id = b.gr_id and b.gr_admin = '{$member['mb_id']}') ";
} }
if ($stx) { if ($stx) {
$sql_search .= " and ( "; $sql_search .= " and ( ";
switch ($sfl) { switch ($sfl) {
case "bo_table" : case "bo_table":
$sql_search .= " ($sfl like '$stx%') "; $sql_search .= " ($sfl like '$stx%') ";
break; break;
case "a.gr_id" : case "a.gr_id":
$sql_search .= " ($sfl = '$stx') "; $sql_search .= " ($sfl = '$stx') ";
break; break;
default : default:
$sql_search .= " ($sfl like '%$stx%') "; $sql_search .= " ($sfl like '%$stx%') ";
break; break;
} }
$sql_search .= " ) "; $sql_search .= " ) ";
} }
if (!$sst) { if (!$sst) {
$sst = "a.gr_id, a.bo_table"; $sst = "a.gr_id, a.bo_table";
$sod = "asc"; $sod = "asc";
} }
$sql_order = " order by $sst $sod "; $sql_order = " order by $sst $sod ";
@ -39,14 +39,16 @@ $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1) {
$page = 1;
} // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; $sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";
$result = sql_query($sql); $result = sql_query($sql);
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>'; $listall = '<a href="' . $_SERVER['SCRIPT_NAME'] . '" class="ov_listall">전체목록</a>';
$g5['title'] = '게시판관리'; $g5['title'] = '게시판관리';
include_once('./admin.head.php'); include_once('./admin.head.php');
@ -55,161 +57,167 @@ $colspan = 11;
?> ?>
<style> <style>
td input[type="text"], td input[type="text"],
td select {display:block; width:100%;} td select {
display: block;
width: 100%;
}
</style> </style>
<div class="local_ov01 local_ov"> <div class="local_ov01 local_ov">
<?php echo $listall ?> <?php echo $listall ?>
생성된 게시판수 <?php echo number_format($total_count) ?> 생성된 게시판수 <?php echo number_format($total_count) ?>
</div> </div>
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get"> <form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
<label for="sfl" class="sound_only">검색대상</label> <label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl"> <select name="sfl" id="sfl">
<option value="bo_table"<?php echo get_selected($_GET['sfl'], "bo_table", true); ?>>TABLE</option> <option value="bo_table" <?php echo get_selected($_GET['sfl'], "bo_table", true); ?>>TABLE</option>
<option value="bo_subject"<?php echo get_selected($_GET['sfl'], "bo_subject"); ?>>제목</option> <option value="bo_subject" <?php echo get_selected($_GET['sfl'], "bo_subject"); ?>>제목</option>
<option value="a.gr_id"<?php echo get_selected($_GET['sfl'], "a.gr_id"); ?>>그룹ID</option> <option value="a.gr_id" <?php echo get_selected($_GET['sfl'], "a.gr_id"); ?>>그룹ID</option>
</select> </select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label> <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input"> <input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input">
<input type="submit" value="검색" class="btn_submit"> <input type="submit" value="검색" class="btn_submit">
</form> </form>
<br /> <br />
<form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);" method="post"> <form name="fboardlist" id="fboardlist" action="./board_list_update.php" onsubmit="return fboardlist_submit(this);"
<input type="hidden" name="sst" value="<?php echo $sst ?>"> method="post">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="token" value="<?php echo $token ?>"> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="token" value="<?php echo $token ?>">
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col" style="width:45px;"> <th scope="col" style="width:45px;">
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th> </th>
<th scope="col" style="width:100px;"><?php echo subject_sort_link('a.gr_id') ?>그룹</a></th> <th scope="col" style="width:100px;"><?php echo subject_sort_link('a.gr_id') ?>그룹</a></th>
<th scope="col" style="width:100px;"><?php echo subject_sort_link('bo_table') ?>TABLE</a></th> <th scope="col" style="width:100px;"><?php echo subject_sort_link('bo_table') ?>TABLE</a></th>
<th scope="col" style="width:150px;"><?php echo subject_sort_link('bo_skin', '', 'desc') ?>스킨</a></th> <th scope="col" style="width:150px;"><?php echo subject_sort_link('bo_skin', '', 'desc') ?>스킨</a></th>
<th scope="col"><?php echo subject_sort_link('bo_subject') ?>제목</a></th> <th scope="col"><?php echo subject_sort_link('bo_subject') ?>제목</a></th>
<th scope="col" style="width:80px;">목록보기</th> <th scope="col" style="width:80px;">목록보기</th>
<th scope="col" style="width:80px;">글읽기</th> <th scope="col" style="width:80px;">글읽기</th>
<th scope="col" style="width:80px;">글쓰기</th> <th scope="col" style="width:80px;">글쓰기</th>
<th scope="col" style="width:80px;">글답변</th> <th scope="col" style="width:80px;">글답변</th>
<th scope="col" style="width:80px;">댓글쓰기</th> <th scope="col" style="width:80px;">댓글쓰기</th>
<th scope="col" style="width:60px;">관리</th> <th scope="col" style="width:60px;">관리</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$one_update = '<a href="./board_form.php?w=u&amp;bo_table='.$row['bo_table'].'&amp;'.$qstr.'">수정</a>'; $one_update = '<a href="./board_form.php?w=u&amp;bo_table=' . $row['bo_table'] . '&amp;' . $qstr . '">수정</a>';
$one_copy = '<a href="./board_copy.php?bo_table='.$row['bo_table'].'" class="board_copy" target="win_board_copy">복사</a>'; $one_copy = '<a href="./board_copy.php?bo_table=' . $row['bo_table'] . '" class="board_copy" target="win_board_copy">복사</a>';
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td> <td>
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td> <td>
<?php if ($is_admin == 'super'){ ?> <?php if ($is_admin == 'super') { ?>
<?php echo get_group_select("gr_id[$i]", $row['gr_id']) ?> <?php echo get_group_select("gr_id[$i]", $row['gr_id']) ?>
<?php }else{ ?> <?php } else { ?>
<input type="hidden" name="gr_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>"><?php echo $row['gr_subject'] ?> <input type="hidden" name="gr_id[<?php echo $i ?>]"
<?php } ?> value="<?php echo $row['gr_id'] ?>"><?php echo $row['gr_subject'] ?>
</td> <?php } ?>
<td> </td>
<input type="hidden" name="board_table[<?php echo $i ?>]" value="<?php echo $row['bo_table'] ?>"> <td>
<a href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo $row['bo_table'] ?></a> <input type="hidden" name="board_table[<?php echo $i ?>]" value="<?php echo $row['bo_table'] ?>">
</td> <a
<td> href="<?php echo G5_BBS_URL ?>/board.php?bo_table=<?php echo $row['bo_table'] ?>"><?php echo $row['bo_table'] ?></a>
<?php echo get_skin_select('board', 'bo_skin_'.$i, "bo_skin[$i]", $row['bo_skin']); ?> </td>
</td> <td>
<td> <?php echo get_skin_select('board', 'bo_skin_' . $i, "bo_skin[$i]", $row['bo_skin']); ?>
<input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>" id="bo_subject_<?php echo $i ?>" required class="required frm_input bo_subject full_input" size="25"> </td>
</td> <td>
<td> <input type="text" name="bo_subject[<?php echo $i ?>]" value="<?php echo get_text($row['bo_subject']) ?>"
<?php echo get_member_level_select('bo_list_level['.$i.']', 1, 10, $row['bo_list_level']) ?> id="bo_subject_<?php echo $i ?>" required class="required frm_input bo_subject full_input" size="25">
</td> </td>
<td> <td>
<?php echo get_member_level_select('bo_read_level['.$i.']', 1, 10, $row['bo_read_level']) ?> <?php echo get_member_level_select('bo_list_level[' . $i . ']', 1, 10, $row['bo_list_level']) ?>
</td> </td>
<td> <td>
<?php echo get_member_level_select('bo_write_level['.$i.']', 1, 10, $row['bo_write_level']) ?> <?php echo get_member_level_select('bo_read_level[' . $i . ']', 1, 10, $row['bo_read_level']) ?>
</td> </td>
<td> <td>
<?php echo get_member_level_select('bo_reply_level['.$i.']', 1, 10, $row['bo_reply_level']) ?> <?php echo get_member_level_select('bo_write_level[' . $i . ']', 1, 10, $row['bo_write_level']) ?>
</td> </td>
<td> <td>
<?php echo get_member_level_select('bo_comment_level['.$i.']', 1, 10, $row['bo_comment_level']) ?> <?php echo get_member_level_select('bo_reply_level[' . $i . ']', 1, 10, $row['bo_reply_level']) ?>
</td> </td>
<td> <td>
<?php echo $one_update ?> <?php echo get_member_level_select('bo_comment_level[' . $i . ']', 1, 10, $row['bo_comment_level']) ?>
<?php echo $one_copy ?> </td>
</td> <td>
</tr> <?php echo $one_update ?>
<?php <?php echo $one_copy ?>
} </td>
if ($i == 0) </tr>
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; <?php
?> }
</tbody> if ($i == 0)
</table> echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
</div> ?>
</tbody>
</table>
</div>
<div class="btn_confirm"> <div class="btn_confirm">
<div class="btn ty3"> <div class="btn ty3">
<span class="material-icons">build</span> <span class="material-icons">build</span>
<input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value">
</div> </div>
<div class="btn ty2"> <div class="btn ty2">
<span class="material-icons">delete</span> <span class="material-icons">delete</span>
<input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value">
</div> </div>
<?php if ($is_admin == 'super') { ?> <?php if ($is_admin == 'super') { ?>
<a href="./board_form.php" title="게시판 추가" class="btn"><span class="material-icons">add</span></a> <a href="./board_form.php" title="게시판 추가" class="btn"><span class="material-icons">add</span></a>
<?php } ?> <?php } ?>
</div> </div>
</form> </form>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;page='); ?> <?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'] . '?' . $qstr . '&amp;page='); ?>
<script> <script>
function fboardlist_submit(f) function fboardlist_submit(f) {
{ if (!is_checked("chk[]")) {
if (!is_checked("chk[]")) { alert(document.pressed + " 하실 항목을 하나 이상 선택하세요.");
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요."); return false;
return false; }
}
if(document.pressed == "선택삭제") { if (document.pressed == "선택삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) { if (!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false; return false;
} }
} }
return true; return true;
} }
$(function(){ $(function () {
$(".board_copy").click(function(){ $(".board_copy").click(function () {
window.open(this.href, "win_board_copy", "left=100,top=100,width=550,height=450"); window.open(this.href, "win_board_copy", "left=100,top=100,width=550,height=450");
return false; return false;
}); });
}); });
</script> </script>
<?php <?php

View file

@ -5,29 +5,29 @@ include_once('./_common.php');
check_demo(); check_demo();
if (!count($_POST['chk'])) { if (!count($_POST['chk'])) {
alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요."); alert($_POST['act_button'] . " 하실 항목을 하나 이상 체크하세요.");
} }
if ($_POST['act_button'] == "선택수정") { if ($_POST['act_button'] == "선택수정") {
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
for ($i=0; $i<count($_POST['chk']); $i++) { for ($i = 0; $i < count($_POST['chk']); $i++) {
// 실제 번호를 넘김 // 실제 번호를 넘김
$k = $_POST['chk'][$i]; $k = $_POST['chk'][$i];
if ($is_admin != 'super') { if ($is_admin != 'super') {
$sql = " select count(*) as cnt from {$g5['board_table']} a, {$g5['group_table']} b $sql = " select count(*) as cnt from {$g5['board_table']} a, {$g5['group_table']} b
where a.gr_id = '{$_POST['gr_id'][$k]}' where a.gr_id = '{$_POST['gr_id'][$k]}'
and a.gr_id = b.gr_id and a.gr_id = b.gr_id
and b.gr_admin = '{$member['mb_id']}' "; and b.gr_admin = '{$member['mb_id']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if (!$row['cnt']) if (!$row['cnt'])
alert('최고관리자가 아닌 경우 다른 관리자의 게시판('.$board_table[$k].')은 수정이 불가합니다.'); alert('최고관리자가 아닌 경우 다른 관리자의 게시판(' . $board_table[$k] . ')은 수정이 불가합니다.');
} }
$sql = " update {$g5['board_table']} $sql = " update {$g5['board_table']}
set gr_id = '{$_POST['gr_id'][$k]}', set gr_id = '{$_POST['gr_id'][$k]}',
bo_subject = '{$_POST['bo_subject'][$k]}', bo_subject = '{$_POST['bo_subject'][$k]}',
bo_skin = '{$_POST['bo_skin'][$k]}', bo_skin = '{$_POST['bo_skin'][$k]}',
@ -37,32 +37,31 @@ if ($_POST['act_button'] == "선택수정") {
bo_comment_level = '{$_POST['bo_comment_level'][$k]}', bo_comment_level = '{$_POST['bo_comment_level'][$k]}',
bo_reply_level = '{$_POST['bo_reply_level'][$k]}' bo_reply_level = '{$_POST['bo_reply_level'][$k]}'
where bo_table = '{$_POST['board_table'][$k]}' "; where bo_table = '{$_POST['board_table'][$k]}' ";
sql_query($sql); sql_query($sql);
} }
} else if ($_POST['act_button'] == "선택삭제") { } else if ($_POST['act_button'] == "선택삭제") {
if ($is_admin != 'super') if ($is_admin != 'super')
alert('게시판 삭제는 최고관리자만 가능합니다.'); alert('게시판 삭제는 최고관리자만 가능합니다.');
auth_check($auth[$sub_menu], 'd'); auth_check($auth[$sub_menu], 'd');
check_admin_token(); check_admin_token();
// _BOARD_DELETE_ 상수를 선언해야 board_delete.inc.php 가 정상 작동함 // _BOARD_DELETE_ 상수를 선언해야 board_delete.inc.php 가 정상 작동함
define('_BOARD_DELETE_', true); define('_BOARD_DELETE_', true);
for ($i=0; $i<count($_POST['chk']); $i++) { for ($i = 0; $i < count($_POST['chk']); $i++) {
// 실제 번호를 넘김 // 실제 번호를 넘김
$k = $_POST['chk'][$i]; $k = $_POST['chk'][$i];
// include 전에 $bo_table 값을 반드시 넘겨야 함 // include 전에 $bo_table 값을 반드시 넘겨야 함
$tmp_bo_table = trim($_POST['board_table'][$k]); $tmp_bo_table = trim($_POST['board_table'][$k]);
include ('./board_delete.inc.php'); include('./board_delete.inc.php');
} }
} }
goto_url('./board_list.php'); goto_url('./board_list.php');
?>

View file

@ -4,49 +4,50 @@ include_once('./_common.php');
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if(!$board['bo_table']) if (!$board['bo_table'])
alert('존재하지 않는 게시판입니다.'); alert('존재하지 않는 게시판입니다.');
$g5['title'] = $board['bo_subject'].' 게시판 썸네일 삭제'; $g5['title'] = $board['bo_subject'] . ' 게시판 썸네일 삭제';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div class="local_desc02 local_desc"> <div class="local_desc02 local_desc">
<p> <p>
완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오. 완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.
</p> </p>
</div> </div>
<?php <?php
$dir = G5_DATA_PATH.'/file/'.$bo_table; $dir = G5_DATA_PATH . '/file/' . $bo_table;
$cnt = 0; $cnt = 0;
if(is_dir($dir)) { if (is_dir($dir)) {
echo '<ul>'; echo '<ul>';
$files = glob($dir.'/thumb-*'); $files = glob($dir . '/thumb-*');
if (is_array($files)) { if (is_array($files)) {
foreach($files as $thumbnail) { foreach ($files as $thumbnail) {
$cnt++; $cnt++;
@unlink($thumbnail); @unlink($thumbnail);
echo '<li>'.$thumbnail.'</li>'.PHP_EOL; echo '<li>' . $thumbnail . '</li>' . PHP_EOL;
flush(); flush();
if ($cnt%10==0) if ($cnt % 10 == 0)
echo PHP_EOL; echo PHP_EOL;
}
} }
}
echo '<li>완료됨</li></ul>'.PHP_EOL; echo '<li>완료됨</li></ul>' . PHP_EOL;
echo '<div class="local_desc01 local_desc"><p><strong>썸네일 '.$cnt.'건의 삭제 완료됐습니다.</strong></p></div>'.PHP_EOL; echo '<div class="local_desc01 local_desc"><p><strong>썸네일 ' . $cnt . '건의 삭제 완료됐습니다.</strong></p></div>' . PHP_EOL;
} else { } else {
echo '<p>첨부파일 디렉토리가 존재하지 않습니다.</p>'; echo '<p>첨부파일 디렉토리가 존재하지 않습니다.</p>';
} }
?> ?>
<div class="btn_confirm01 btn_confirm"><a href="./board_form.php?w=u&amp;bo_table=<?php echo $bo_table; ?>&amp;<?php echo $qstr; ?>">게시판 수정으로 돌아가기</a></div> <div class="btn_confirm01 btn_confirm"><a
href="./board_form.php?w=u&amp;bo_table=<?php echo $bo_table; ?>&amp;<?php echo $qstr; ?>">게시판 수정으로 돌아가기</a></div>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -4,26 +4,26 @@ include_once('./_common.php');
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if ($is_admin != 'super' && $w == '') alert('최고관리자만 접근 가능합니다.'); if ($is_admin != 'super' && $w == '')
alert('최고관리자만 접근 가능합니다.');
$html_title = '게시판그룹'; $html_title = '게시판그룹';
$gr_id_attr = ''; $gr_id_attr = '';
$sound_only = ''; $sound_only = '';
if ($w == '') { if ($w == '') {
$gr_id_attr = 'required'; $gr_id_attr = 'required';
$sound_only = '<strong class="sound_only"> 필수</strong>'; $sound_only = '<strong class="sound_only"> 필수</strong>';
$gr['gr_use_access'] = 0; $gr['gr_use_access'] = 0;
$html_title .= ' 생성'; $html_title .= ' 생성';
} else if ($w == 'u') { } else if ($w == 'u') {
$gr_id_attr = 'readonly'; $gr_id_attr = 'readonly';
$gr = sql_fetch(" select * from {$g5['group_table']} where gr_id = '$gr_id' "); $gr = sql_fetch(" select * from {$g5['group_table']} where gr_id = '$gr_id' ");
$html_title .= ' 수정'; $html_title .= ' 수정';
} } else
else alert('제대로 된 값이 넘어오지 않았습니다.');
alert('제대로 된 값이 넘어오지 않았습니다.');
if (!isset($group['gr_device'])) { if (!isset($group['gr_device'])) {
sql_query(" ALTER TABLE `{$g5['group_table']}` ADD `gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both' AFTER `gr_subject` ", false); sql_query(" ALTER TABLE `{$g5['group_table']}` ADD `gr_device` ENUM('both','pc','mobile') NOT NULL DEFAULT 'both' AFTER `gr_subject` ", false);
} }
@ -32,82 +32,85 @@ include_once('./admin.head.php');
?> ?>
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p> <p>
게시판을 생성하시려면 1 이상의 게시판그룹이 필요합니다.<br> 게시판을 생성하시려면 1 이상의 게시판그룹이 필요합니다.<br>
게시판그룹을 이용하시면 효과적으로 게시판을 관리할 있습니다. 게시판그룹을 이용하시면 효과적으로 게시판을 관리할 있습니다.
</p> </p>
</div> </div>
<form name="fboardgroup" id="fboardgroup" action="./boardgroup_form_update.php" onsubmit="return fboardgroup_check(this);" method="post" autocomplete="off"> <form name="fboardgroup" id="fboardgroup" action="./boardgroup_form_update.php"
<input type="hidden" name="w" value="<?php echo $w ?>"> onsubmit="return fboardgroup_check(this);" method="post" autocomplete="off">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="w" value="<?php echo $w ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="token" value=""> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="gr_device" value="both"> <input type="hidden" name="token" value="">
<input type="hidden" name="gr_device" value="both">
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?></caption> <caption><?php echo $g5['title']; ?></caption>
<colgroup> <colgroup>
<col style="width:120px;"> <col style="width:120px;">
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="gr_id">그룹 ID<?php echo $sound_only ?></label></th> <th scope="row"><label for="gr_id">그룹 ID<?php echo $sound_only ?></label></th>
<td><input type="text" name="gr_id" value="<?php echo $group['gr_id'] ?>" id="gr_id" <?php echo $gr_id_attr; ?> class="<?php echo $gr_id_attr; ?> alnum_ frm_input" maxlength="10"> <td><input type="text" name="gr_id" value="<?php echo $group['gr_id'] ?>" id="gr_id" <?php echo $gr_id_attr; ?> class="<?php echo $gr_id_attr; ?> alnum_ frm_input" maxlength="10">
<?php <?php
if ($w=='') if ($w == '')
echo '영문자, 숫자, _ 만 가능 (공백없이)'; echo '영문자, 숫자, _ 만 가능 (공백없이)';
?> ?>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="gr_subject">그룹 제목<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="gr_subject">그룹 제목<strong class="sound_only"> 필수</strong></label></th>
<td> <td>
<input type="text" name="gr_subject" value="<?php echo get_text($group['gr_subject']) ?>" id="gr_subject" required class="required frm_input" size="80"> <input type="text" name="gr_subject" value="<?php echo get_text($group['gr_subject']) ?>" id="gr_subject"
required class="required frm_input" size="80">
<?php <?php
if ($w == 'u') if ($w == 'u')
echo '<a href="./board_form.php?gr_id='.$gr_id.'" class="btn_frmline">게시판생성</a>'; echo '<a href="./board_form.php?gr_id=' . $gr_id . '" class="btn_frmline">게시판생성</a>';
?> ?>
</td> </td>
</tr> </tr>
<?php for ($i=1;$i<=10;$i++) { ?> <?php for ($i = 1; $i <= 10; $i++) { ?>
<tr> <tr>
<th scope="row">여분필드<?php echo $i ?></th> <th scope="row">여분필드<?php echo $i ?></th>
<td class="td_extra"> <td class="td_extra">
<label for="gr_<?php echo $i ?>_subj">여분필드 <?php echo $i ?> 제목</label> <label for="gr_<?php echo $i ?>_subj">여분필드 <?php echo $i ?> 제목</label>
<input type="text" name="gr_<?php echo $i ?>_subj" value="<?php echo get_text($group['gr_'.$i.'_subj']) ?>" id="gr_<?php echo $i ?>_subj" class="frm_input"> <input type="text" name="gr_<?php echo $i ?>_subj" value="<?php echo get_text($group['gr_' . $i . '_subj']) ?>"
<label for="gr_<?php echo $i ?>">여분필드 <?php echo $i ?> 내용</label> id="gr_<?php echo $i ?>_subj" class="frm_input">
<input type="text" name="gr_<?php echo $i ?>" value="<?php echo $gr['gr_'.$i] ?>" id="gr_<?php echo $i ?>" class="frm_input"> <label for="gr_<?php echo $i ?>">여분필드 <?php echo $i ?> 내용</label>
</td> <input type="text" name="gr_<?php echo $i ?>" value="<?php echo $gr['gr_' . $i] ?>" id="gr_<?php echo $i ?>"
</tr> class="frm_input">
<?php } ?> </td>
</tbody> </tr>
<?php } ?>
</tbody>
</table> </table>
</div> </div>
<div class="btn_confirm01 btn_confirm"> <div class="btn_confirm01 btn_confirm">
<a href="./boardgroup_list.php" title="목록" class="btn ty2"><span class="material-icons">list</span></a> <a href="./boardgroup_list.php" title="목록" class="btn ty2"><span class="material-icons">list</span></a>
<div class="btn"> <div class="btn">
<span class="material-icons">save</span> <span class="material-icons">save</span>
<input type="submit" value="확인" class="btn_submit" accesskey="s"> <input type="submit" value="확인" class="btn_submit" accesskey="s">
</div> </div>
</div> </div>
</form> </form>
<script> <script>
function fboardgroup_check(f) function fboardgroup_check(f) {
{
f.action = './boardgroup_form_update.php'; f.action = './boardgroup_form_update.php';
return true; return true;
} }
</script> </script>
<?php <?php
include_once ('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -3,18 +3,20 @@ $sub_menu = "300200";
include_once('./_common.php'); include_once('./_common.php');
if ($w == 'u') if ($w == 'u')
check_demo(); check_demo();
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if ($is_admin != 'super' && $w == '') alert('최고관리자만 접근 가능합니다.'); if ($is_admin != 'super' && $w == '')
alert('최고관리자만 접근 가능합니다.');
check_admin_token(); check_admin_token();
if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id'])) if (!preg_match("/^([A-Za-z0-9_]{1,10})$/", $_POST['gr_id']))
alert('그룹 ID는 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (10자 이내)'); alert('그룹 ID는 공백없이 영문자, 숫자, _ 만 사용 가능합니다. (10자 이내)');
if (!$gr_subject) alert('그룹 제목을 입력하세요.'); if (!$gr_subject)
alert('그룹 제목을 입력하세요.');
$sql_common = " gr_subject = '{$_POST['gr_subject']}', $sql_common = " gr_subject = '{$_POST['gr_subject']}',
gr_device = '{$_POST['gr_device']}', gr_device = '{$_POST['gr_device']}',
@ -40,32 +42,32 @@ $sql_common = " gr_subject = '{$_POST['gr_subject']}',
gr_9 = '{$_POST['gr_9']}', gr_9 = '{$_POST['gr_9']}',
gr_10 = '{$_POST['gr_10']}' "; gr_10 = '{$_POST['gr_10']}' ";
if (isset($_POST['gr_use_access'])) if (isset($_POST['gr_use_access']))
$sql_common .= ", gr_use_access = '{$_POST['gr_use_access']}' "; $sql_common .= ", gr_use_access = '{$_POST['gr_use_access']}' ";
else else
$sql_common .= ", gr_use_access = '' "; $sql_common .= ", gr_use_access = '' ";
if ($w == '') { if ($w == '') {
$sql = " select count(*) as cnt from {$g5['group_table']} where gr_id = '{$_POST['gr_id']}' "; $sql = " select count(*) as cnt from {$g5['group_table']} where gr_id = '{$_POST['gr_id']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt']) if ($row['cnt'])
alert('이미 존재하는 그룹 ID 입니다.'); alert('이미 존재하는 그룹 ID 입니다.');
$sql = " insert into {$g5['group_table']} $sql = " insert into {$g5['group_table']}
set gr_id = '{$_POST['gr_id']}', set gr_id = '{$_POST['gr_id']}',
{$sql_common} "; {$sql_common} ";
sql_query($sql); sql_query($sql);
} else if ($w == "u") { } else if ($w == "u") {
$sql = " update {$g5['group_table']} $sql = " update {$g5['group_table']}
set {$sql_common} set {$sql_common}
where gr_id = '{$_POST['gr_id']}' "; where gr_id = '{$_POST['gr_id']}' ";
sql_query($sql); sql_query($sql);
} else { } else {
alert('제대로 된 값이 넘어오지 않았습니다.'); alert('제대로 된 값이 넘어오지 않았습니다.');
} }
goto_url('./boardgroup_form.php?w=u&amp;gr_id='.$gr_id.'&amp;'.$qstr); goto_url('./boardgroup_form.php?w=u&amp;gr_id=' . $gr_id . '&amp;' . $qstr);
?> ?>

View file

@ -5,52 +5,53 @@ include_once('./_common.php');
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
if (!isset($group['gr_device'])) { if (!isset($group['gr_device'])) {
// 게시판 그룹 사용 필드 추가 // 게시판 그룹 사용 필드 추가
// both : pc, mobile 둘다 사용 // both : pc, mobile 둘다 사용
// pc : pc 전용 사용 // pc : pc 전용 사용
// mobile : mobile 전용 사용 // mobile : mobile 전용 사용
// none : 사용 안함 // none : 사용 안함
sql_query(" ALTER TABLE `{$g5['board_group_table']}` ADD `gr_device` ENUM( 'both', 'pc', 'mobile' ) NOT NULL DEFAULT 'both' AFTER `gr_subject` ", false); sql_query(" ALTER TABLE `{$g5['board_group_table']}` ADD `gr_device` ENUM( 'both', 'pc', 'mobile' ) NOT NULL DEFAULT 'both' AFTER `gr_subject` ", false);
} }
$sql_common = " from {$g5['group_table']} "; $sql_common = " from {$g5['group_table']} ";
$sql_search = " where (1) "; $sql_search = " where (1) ";
if ($is_admin != 'super') if ($is_admin != 'super')
$sql_search .= " and (gr_admin = '{$member['mb_id']}') "; $sql_search .= " and (gr_admin = '{$member['mb_id']}') ";
if ($stx) { if ($stx) {
$sql_search .= " and ( "; $sql_search .= " and ( ";
switch ($sfl) { switch ($sfl) {
case "gr_id" : case "gr_id":
case "gr_admin" : case "gr_admin":
$sql_search .= " ({$sfl} = '{$stx}') "; $sql_search .= " ({$sfl} = '{$stx}') ";
break; break;
default : default:
$sql_search .= " ({$sfl} like '%{$stx}%') "; $sql_search .= " ({$sfl} like '%{$stx}%') ";
break; break;
} }
$sql_search .= " ) "; $sql_search .= " ) ";
} }
if ($sst) if ($sst)
$sql_order = " order by {$sst} {$sod} "; $sql_order = " order by {$sst} {$sod} ";
else else
$sql_order = " order by gr_id asc "; $sql_order = " order by gr_id asc ";
$sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} "; $sql = " select count(*) as cnt {$sql_common} {$sql_search} {$sql_order} ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1)
$page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} "; $sql = " select * {$sql_common} {$sql_search} {$sql_order} limit {$from_record}, {$rows} ";
$result = sql_query($sql); $result = sql_query($sql);
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">처음</a>'; $listall = '<a href="' . $_SERVER['SCRIPT_NAME'] . '" class="ov_listall">처음</a>';
$g5['title'] = '게시판그룹설정'; $g5['title'] = '게시판그룹설정';
include_once('./admin.head.php'); include_once('./admin.head.php');
@ -59,160 +60,165 @@ $colspan = 10;
?> ?>
<div class="local_ov01 local_ov"> <div class="local_ov01 local_ov">
<?php echo $listall ?> <?php echo $listall ?>
전체그룹 <?php echo number_format($total_count) ?> 전체그룹 <?php echo number_format($total_count) ?>
</div> </div>
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get"> <form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
<label for="sfl" class="sound_only">검색대상</label> <label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl"> <select name="sfl" id="sfl">
<option value="gr_subject"<?php echo get_selected($_GET['sfl'], "gr_subject"); ?>>제목</option> <option value="gr_subject" <?php echo get_selected($_GET['sfl'], "gr_subject"); ?>>제목</option>
<option value="gr_id"<?php echo get_selected($_GET['sfl'], "gr_id"); ?>>ID</option> <option value="gr_id" <?php echo get_selected($_GET['sfl'], "gr_id"); ?>>ID</option>
<option value="gr_admin"<?php echo get_selected($_GET['sfl'], "gr_admin"); ?>>그룹관리자</option> <option value="gr_admin" <?php echo get_selected($_GET['sfl'], "gr_admin"); ?>>그룹관리자</option>
</select> </select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label> <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo $stx ?>" required class="required frm_input"> <input type="text" name="stx" value="<?php echo $stx ?>" required class="required frm_input">
<input type="submit" value="검색" class="btn_submit"> <input type="submit" value="검색" class="btn_submit">
</fieldset> </fieldset>
</form> </form>
<br /> <br />
<form name="fboardgrouplist" id="fboardgrouplist" action="./boardgroup_list_update.php" onsubmit="return fboardgrouplist_submit(this);" method="post"> <form name="fboardgrouplist" id="fboardgrouplist" action="./boardgroup_list_update.php"
<input type="hidden" name="sst" value="<?php echo $sst ?>"> onsubmit="return fboardgrouplist_submit(this);" method="post">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="token" value=""> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="token" value="">
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<colgroup> <colgroup>
<col style="width:45px;" /> <col style="width:45px;" />
<col style="width:120px;" /> <col style="width:120px;" />
<col /> <col />
<col style="width:120px;" /> <col style="width:120px;" />
<col style="width:120px;" /> <col style="width:120px;" />
<col style="width:80px;" /> <col style="width:80px;" />
<col style="width:80px;" /> <col style="width:80px;" />
<col style="width:80px;" /> <col style="width:80px;" />
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th scope="col"> <th scope="col">
<label for="chkall" class="sound_only">그룹 전체</label> <label for="chkall" class="sound_only">그룹 전체</label>
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th> </th>
<th scope="col"><?php echo subject_sort_link('gr_id') ?>그룹아이디</a></th> <th scope="col"><?php echo subject_sort_link('gr_id') ?>그룹아이디</a></th>
<th scope="col"><?php echo subject_sort_link('gr_subject') ?>제목</a></th> <th scope="col"><?php echo subject_sort_link('gr_subject') ?>제목</a></th>
<th scope="col"><?php echo subject_sort_link('gr_admin') ?>그룹관리자</a></th> <th scope="col"><?php echo subject_sort_link('gr_admin') ?>그룹관리자</a></th>
<th scope="col">게시판</th> <th scope="col">게시판</th>
<th scope="col"><?php echo subject_sort_link('gr_order') ?>출력 순서</a></th> <th scope="col"><?php echo subject_sort_link('gr_order') ?>출력 순서</a></th>
<th scope="col">접속기기</th> <th scope="col">접속기기</th>
<th scope="col">관리</th> <th scope="col">관리</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i = 0; $row = sql_fetch_array($result); $i++) {
{ // 접근회원수
// 접근회원수 $sql1 = " select count(*) as cnt from {$g5['group_member_table']} where gr_id = '{$row['gr_id']}' ";
$sql1 = " select count(*) as cnt from {$g5['group_member_table']} where gr_id = '{$row['gr_id']}' "; $row1 = sql_fetch($sql1);
$row1 = sql_fetch($sql1);
// 게시판수 // 게시판수
$sql2 = " select count(*) as cnt from {$g5['board_table']} where gr_id = '{$row['gr_id']}' "; $sql2 = " select count(*) as cnt from {$g5['board_table']} where gr_id = '{$row['gr_id']}' ";
$row2 = sql_fetch($sql2); $row2 = sql_fetch($sql2);
$s_upd = '<a href="./boardgroup_form.php?'.$qstr.'&amp;w=u&amp;gr_id='.$row['gr_id'].'">수정</a>'; $s_upd = '<a href="./boardgroup_form.php?' . $qstr . '&amp;w=u&amp;gr_id=' . $row['gr_id'] . '">수정</a>';
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_chk"> <td class="td_chk">
<input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>"> <input type="hidden" name="group_id[<?php echo $i ?>]" value="<?php echo $row['gr_id'] ?>">
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td class="td_grid"><?php echo $row['gr_id'] ?></td> <td class="td_grid"><?php echo $row['gr_id'] ?></td>
<td class="td_input"> <td class="td_input">
<input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>" id="gr_subject_<?php echo $i ?>" class="frm_input full"> <input type="text" name="gr_subject[<?php echo $i ?>]" value="<?php echo get_text($row['gr_subject']) ?>"
</td> id="gr_subject_<?php echo $i ?>" class="frm_input full">
<td class="td_mng td_input"> </td>
<?php if ($is_admin == 'super'){ ?> <td class="td_mng td_input">
<input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>" id="gr_admin_<?php echo $i ?>" class="frm_input full" size="10" maxlength="20"> <?php if ($is_admin == 'super') { ?>
<?php }else{ ?> <input type="text" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"
<input type="hidden" name="gr_admin[<?php echo $i ?>]" value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?> id="gr_admin_<?php echo $i ?>" class="frm_input full" size="10" maxlength="20">
<?php } ?> <?php } else { ?>
</td> <input type="hidden" name="gr_admin[<?php echo $i ?>]"
<td class="td_numsmall"><a href="./board_list.php?sfl=a.gr_id&amp;stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a></td> value="<?php echo $row['gr_admin'] ?>"><?php echo $row['gr_admin'] ?>
<td class="td_chk"> <?php } ?>
<input type="text" name="gr_order[<?php echo $i ?>]" value="<?php echo $row['gr_order'] ?>" id="gr_order_<?php echo $i ?>" class="frm_input full" size="2"> </td>
</td> <td class="td_numsmall"><a
<td class="td_mng"> href="./board_list.php?sfl=a.gr_id&amp;stx=<?php echo $row['gr_id'] ?>"><?php echo $row2['cnt'] ?></a>
<select name="gr_device[<?php echo $i ?>]" id="gr_device_<?php echo $i ?>" class="full"> </td>
<option value="both"<?php echo get_selected($row['gr_device'], 'both'); ?>>모두</option> <td class="td_chk">
<option value="pc"<?php echo get_selected($row['gr_device'], 'pc'); ?>>PC</option> <input type="text" name="gr_order[<?php echo $i ?>]" value="<?php echo $row['gr_order'] ?>"
<option value="mobile"<?php echo get_selected($row['gr_device'], 'mobile'); ?>>모바일</option> id="gr_order_<?php echo $i ?>" class="frm_input full" size="2">
</select> </td>
</td> <td class="td_mng">
<td class="td_mngsmall"><?php echo $s_upd ?></td> <select name="gr_device[<?php echo $i ?>]" id="gr_device_<?php echo $i ?>" class="full">
</tr> <option value="both" <?php echo get_selected($row['gr_device'], 'both'); ?>>모두</option>
<option value="pc" <?php echo get_selected($row['gr_device'], 'pc'); ?>>PC</option>
<option value="mobile" <?php echo get_selected($row['gr_device'], 'mobile'); ?>>모바일</option>
</select>
</td>
<td class="td_mngsmall"><?php echo $s_upd ?></td>
</tr>
<?php <?php
} }
if ($i == 0) if ($i == 0)
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
?> ?>
</table> </table>
</div> </div>
<div class="btn_confirm"> <div class="btn_confirm">
<div class="btn ty3"> <div class="btn ty3">
<span class="material-icons">build</span> <span class="material-icons">build</span>
<input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value">
</div> </div>
<div class="btn ty2"> <div class="btn ty2">
<span class="material-icons">delete</span> <span class="material-icons">delete</span>
<input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택삭제" title="선택삭제" onclick="document.pressed=this.value">
</div> </div>
<?php if ($is_admin == 'super') { ?> <?php if ($is_admin == 'super') { ?>
<a href="./boardgroup_form.php" title="게시판그룹 추가" class="btn"><span class="material-icons">add</span></a> <a href="./boardgroup_form.php" title="게시판그룹 추가" class="btn"><span class="material-icons">add</span></a>
<?php } ?> <?php } ?>
</div> </div>
</form> </form>
<br /> <br />
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p> <p>
접근사용 옵션을 설정하시면 관리자가 지정한 회원만 해당 그룹에 접근할 있습니다.<br> 접근사용 옵션을 설정하시면 관리자가 지정한 회원만 해당 그룹에 접근할 있습니다.<br>
접근사용 옵션은 해당 그룹에 속한 모든 게시판에 적용됩니다. 접근사용 옵션은 해당 그룹에 속한 모든 게시판에 적용됩니다.
</p> </p>
</div> </div>
<?php <?php
$pagelist = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;page='); $pagelist = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'] . '?' . $qstr . '&amp;page=');
echo $pagelist; echo $pagelist;
?> ?>
<script> <script>
function fboardgrouplist_submit(f) function fboardgrouplist_submit(f) {
{
if (!is_checked("chk[]")) { if (!is_checked("chk[]")) {
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요."); alert(document.pressed + " 하실 항목을 하나 이상 선택하세요.");
return false; return false;
} }
if(document.pressed == "선택삭제") { if (document.pressed == "선택삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) { if (!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false; return false;
} }
} }
return true; return true;
} }
</script> </script>
<?php <?php

View file

@ -12,36 +12,34 @@ check_admin_token();
$count = count($_POST['chk']); $count = count($_POST['chk']);
if(!$count) if (!$count)
alert($_POST['act_button'].'할 게시판그룹을 1개이상 선택해 주세요.'); alert($_POST['act_button'] . '할 게시판그룹을 1개이상 선택해 주세요.');
for ($i=0; $i<$count; $i++) for ($i = 0; $i < $count; $i++) {
{ $k = $_POST['chk'][$i];
$k = $_POST['chk'][$i]; $gr_id = $_POST['group_id'][$k];
$gr_id = $_POST['group_id'][$k];
if($_POST['act_button'] == '선택수정') { if ($_POST['act_button'] == '선택수정') {
$sql = " update {$g5['group_table']} $sql = " update {$g5['group_table']}
set gr_subject = '{$_POST['gr_subject'][$k]}', set gr_subject = '{$_POST['gr_subject'][$k]}',
gr_device = '{$_POST['gr_device'][$k]}', gr_device = '{$_POST['gr_device'][$k]}',
gr_admin = '{$_POST['gr_admin'][$k]}', gr_admin = '{$_POST['gr_admin'][$k]}',
gr_order = '{$_POST['gr_order'][$k]}' gr_order = '{$_POST['gr_order'][$k]}'
where gr_id = '{$gr_id}' "; where gr_id = '{$gr_id}' ";
if ($is_admin != 'super') if ($is_admin != 'super')
$sql .= " and gr_admin = '{$_POST['gr_admin'][$k]}' "; $sql .= " and gr_admin = '{$_POST['gr_admin'][$k]}' ";
sql_query($sql); sql_query($sql);
} else if($_POST['act_button'] == '선택삭제') { } else if ($_POST['act_button'] == '선택삭제') {
$row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where gr_id = '$gr_id' "); $row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where gr_id = '$gr_id' ");
if ($row['cnt']) if ($row['cnt'])
alert("이 그룹에 속한 게시판이 존재하여 게시판 그룹을 삭제할 수 없습니다.\\n\\n이 그룹에 속한 게시판을 먼저 삭제하여 주십시오.", './board_list.php?sfl=gr_id&amp;stx='.$gr_id); alert("이 그룹에 속한 게시판이 존재하여 게시판 그룹을 삭제할 수 없습니다.\\n\\n이 그룹에 속한 게시판을 먼저 삭제하여 주십시오.", './board_list.php?sfl=gr_id&amp;stx=' . $gr_id);
// 그룹 삭제 // 그룹 삭제
sql_query(" delete from {$g5['group_table']} where gr_id = '$gr_id' "); sql_query(" delete from {$g5['group_table']} where gr_id = '$gr_id' ");
// 그룹접근 회원 삭제 // 그룹접근 회원 삭제
sql_query(" delete from {$g5['group_member_table']} where gr_id = '$gr_id' "); sql_query(" delete from {$g5['group_member_table']} where gr_id = '$gr_id' ");
} }
} }
goto_url('./boardgroup_list.php?'.$qstr); goto_url('./boardgroup_list.php?' . $qstr);
?>

View file

@ -6,7 +6,7 @@ auth_check($auth[$sub_menu], 'w');
$mb = get_member($mb_id); $mb = get_member($mb_id);
if (!$mb['mb_id']) if (!$mb['mb_id'])
alert('존재하지 않는 회원입니다.'); alert('존재하지 않는 회원입니다.');
$g5['title'] = '접근가능그룹'; $g5['title'] = '접근가능그룹';
include_once('./admin.head.php'); include_once('./admin.head.php');
@ -14,112 +14,115 @@ include_once('./admin.head.php');
$colspan = 4; $colspan = 4;
?> ?>
<form name="fboardgroupmember_form" id="fboardgroupmember_form" action="./boardgroupmember_update.php" onsubmit="return boardgroupmember_form_check(this)" method="post"> <form name="fboardgroupmember_form" id="fboardgroupmember_form" action="./boardgroupmember_update.php"
<input type="hidden" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id"> onsubmit="return boardgroupmember_form_check(this)" method="post">
<input type="hidden" name="token" value="" id="token"> <input type="hidden" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id">
<div class="local_cmd01 local_cmd"> <input type="hidden" name="token" value="" id="token">
<p>아이디 <b><?php echo $mb['mb_id'] ?></b>, 이름 <b><?php echo get_text($mb['mb_name']); ?></b>, 닉네임 <b><?php echo $mb['mb_nick'] ?></b></p> <div class="local_cmd01 local_cmd">
<p>아이디 <b><?php echo $mb['mb_id'] ?></b>, 이름 <b><?php echo get_text($mb['mb_name']); ?></b>, 닉네임
<b><?php echo $mb['mb_nick'] ?></b></p>
<label for="gr_id">그룹지정</label> <label for="gr_id">그룹지정</label>
<select name="gr_id" id="gr_id"> <select name="gr_id" id="gr_id">
<option value="">접근가능 그룹을 선택하세요.</option> <option value="">접근가능 그룹을 선택하세요.</option>
<?php <?php
$sql = " select * $sql = " select *
from {$g5['group_table']} from {$g5['group_table']}
where gr_use_access = 1 "; where gr_use_access = 1 ";
//if ($is_admin == 'group') { //if ($is_admin == 'group') {
if ($is_admin != 'super') if ($is_admin != 'super')
$sql .= " and gr_admin = '{$member['mb_id']}' "; $sql .= " and gr_admin = '{$member['mb_id']}' ";
$sql .= " order by gr_id "; $sql .= " order by gr_id ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
echo "<option value=\"".$row['gr_id']."\">".$row['gr_subject']."</option>"; echo "<option value=\"" . $row['gr_id'] . "\">" . $row['gr_subject'] . "</option>";
} }
?> ?>
</select> </select>
<input type="submit" value="선택" class="btn_submit" accesskey="s"> <input type="submit" value="선택" class="btn_submit" accesskey="s">
</div> </div>
</form> </form>
<form name="fboardgroupmember" id="fboardgroupmember" action="./boardgroupmember_update.php" onsubmit="return fboardgroupmember_submit(this);" method="post"> <form name="fboardgroupmember" id="fboardgroupmember" action="./boardgroupmember_update.php"
<input type="hidden" name="sst" value="<?php echo $sst ?>" id="sst"> onsubmit="return fboardgroupmember_submit(this);" method="post">
<input type="hidden" name="sod" value="<?php echo $sod ?>" id="sod"> <input type="hidden" name="sst" value="<?php echo $sst ?>" id="sst">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>" id="sfl"> <input type="hidden" name="sod" value="<?php echo $sod ?>" id="sod">
<input type="hidden" name="stx" value="<?php echo $stx ?>" id="stx"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>" id="sfl">
<input type="hidden" name="page" value="<?php echo $page ?>" id="page"> <input type="hidden" name="stx" value="<?php echo $stx ?>" id="stx">
<input type="hidden" name="token" value="<?php echo $token ?>" id="token"> <input type="hidden" name="page" value="<?php echo $page ?>" id="page">
<input type="hidden" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id"> <input type="hidden" name="token" value="<?php echo $token ?>" id="token">
<input type="hidden" name="w" value="d" id="w"> <input type="hidden" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id">
<input type="hidden" name="w" value="d" id="w">
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col"> <th scope="col">
<label for="chkall" class="sound_only">접근가능그룹 전체</label> <label for="chkall" class="sound_only">접근가능그룹 전체</label>
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th> </th>
<th scope="col">그룹아이디</th> <th scope="col">그룹아이디</th>
<th scope="col">그룹</th> <th scope="col">그룹</th>
<th scope="col">처리일시</th> <th scope="col">처리일시</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
$sql = " select * from {$g5['group_member_table']} a, {$g5['group_table']} b $sql = " select * from {$g5['group_member_table']} a, {$g5['group_table']} b
where a.mb_id = '{$mb['mb_id']}' where a.mb_id = '{$mb['mb_id']}'
and a.gr_id = b.gr_id "; and a.gr_id = b.gr_id ";
if ($is_admin != 'super') if ($is_admin != 'super')
$sql .= " and b.gr_admin = '{$member['mb_id']}' "; $sql .= " and b.gr_admin = '{$member['mb_id']}' ";
$sql .= " order by a.gr_id desc "; $sql .= " order by a.gr_id desc ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
?> ?>
<tr> <tr>
<td class="td_chk"> <td class="td_chk">
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label> <label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['gr_subject'] ?> 그룹</label>
<input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td class="td_grid"><a href="<?php echo G5_BBS_URL; ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a></td> <td class="td_grid"><a
<td class="td_category"><?php echo $row['gr_subject'] ?></td> href="<?php echo G5_BBS_URL; ?>/group.php?gr_id=<?php echo $row['gr_id'] ?>"><?php echo $row['gr_id'] ?></a>
<td class="td_datetime"><?php echo $row['gm_datetime'] ?></td> </td>
</tr> <td class="td_category"><?php echo $row['gr_subject'] ?></td>
<?php <td class="td_datetime"><?php echo $row['gm_datetime'] ?></td>
} </tr>
<?php
}
if ($i == 0) { if ($i == 0) {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">접근가능한 그룹이 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">접근가능한 그룹이 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_list01 btn_list"> <div class="btn_list01 btn_list">
<input type="submit" name="" value="선택삭제"> <input type="submit" name="" value="선택삭제">
</div> </div>
</form> </form>
<script> <script>
function fboardgroupmember_submit(f) function fboardgroupmember_submit(f) {
{
if (!is_checked("chk[]")) { if (!is_checked("chk[]")) {
alert("선택삭제 하실 항목을 하나 이상 선택하세요."); alert("선택삭제 하실 항목을 하나 이상 선택하세요.");
return false; return false;
} }
return true; return true;
} }
function boardgroupmember_form_check(f) function boardgroupmember_form_check(f) {
{
if (f.gr_id.value == '') { if (f.gr_id.value == '') {
alert('접근가능 그룹을 선택하세요.'); alert('접근가능 그룹을 선택하세요.');
return false; return false;
} }
return true; return true;
} }
</script> </script>
<?php <?php

View file

@ -6,7 +6,7 @@ auth_check($auth[$sub_menu], 'r');
$gr = get_group($gr_id); $gr = get_group($gr_id);
if (!$gr['gr_id']) { if (!$gr['gr_id']) {
alert('존재하지 않는 그룹입니다.'); alert('존재하지 않는 그룹입니다.');
} }
$sql_common = " from {$g5['group_member_table']} a $sql_common = " from {$g5['group_member_table']} a
@ -15,18 +15,18 @@ $sql_common = " from {$g5['group_member_table']} a
$sql_search = " where gr_id = '{$gr_id}' "; $sql_search = " where gr_id = '{$gr_id}' ";
// 회원아이디로 검색되지 않던 오류를 수정 // 회원아이디로 검색되지 않던 오류를 수정
if (isset($stx) && $stx) { if (isset($stx) && $stx) {
$sql_search .= " and ( "; $sql_search .= " and ( ";
switch ($sfl) { switch ($sfl) {
default : default:
$sql_search .= " ($sfl like '%$stx%') "; $sql_search .= " ($sfl like '%$stx%') ";
break; break;
} }
$sql_search .= " ) "; $sql_search .= " ) ";
} }
if (!$sst) { if (!$sst) {
$sst = "gm_datetime"; $sst = "gm_datetime";
$sod = "desc"; $sod = "desc";
} }
$sql_order = " order by {$sst} {$sod} "; $sql_order = " order by {$sst} {$sod} ";
@ -38,8 +38,9 @@ $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1)
$page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select * $sql = " select *
@ -49,106 +50,104 @@ $sql = " select *
limit {$from_record}, {$rows} "; limit {$from_record}, {$rows} ";
$result = sql_query($sql); $result = sql_query($sql);
$g5['title'] = $gr['gr_subject'].' 그룹 접근가능회원 (그룹아이디:'.$gr['gr_id'].')'; $g5['title'] = $gr['gr_subject'] . ' 그룹 접근가능회원 (그룹아이디:' . $gr['gr_id'] . ')';
include_once('./admin.head.php'); include_once('./admin.head.php');
$colspan = 7; $colspan = 7;
?> ?>
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get"> <form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
<input type="hidden" name="gr_id" value="<?php echo $gr_id ?>"> <input type="hidden" name="gr_id" value="<?php echo $gr_id ?>">
<label for="sfl" class="sound_only">검색대상</label> <label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl"> <select name="sfl" id="sfl">
<option value="a.mb_id"<?php echo get_selected($_GET['sfl'], "a.mb_id") ?>>회원아이디</option> <option value="a.mb_id" <?php echo get_selected($_GET['sfl'], "a.mb_id") ?>>회원아이디</option>
</select> </select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label> <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input"> <input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input">
<input type="submit" value="검색" class="btn_submit"> <input type="submit" value="검색" class="btn_submit">
</form> </form>
<form name="fboardgroupmember" id="fboardgroupmember" action="./boardgroupmember_update.php" onsubmit="return fboardgroupmember_submit(this);" method="post"> <form name="fboardgroupmember" id="fboardgroupmember" action="./boardgroupmember_update.php"
<input type="hidden" name="sst" value="<?php echo $sst ?>"> onsubmit="return fboardgroupmember_submit(this);" method="post">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="token" value="<?php echo $token ?>"> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="gr_id" value="<?php echo $gr_id ?>"> <input type="hidden" name="token" value="<?php echo $token ?>">
<input type="hidden" name="w" value="ld"> <input type="hidden" name="gr_id" value="<?php echo $gr_id ?>">
<input type="hidden" name="w" value="ld">
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col"> <th scope="col">
<label for="chkall" class="sound_only">접근가능회원 전체</label> <label for="chkall" class="sound_only">접근가능회원 전체</label>
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th> </th>
<th scope="col">그룹</th> <th scope="col">그룹</th>
<th scope="col"><?php echo subject_sort_link('b.mb_id', 'gr_id='.$gr_id) ?>회원아이디</a></th> <th scope="col"><?php echo subject_sort_link('b.mb_id', 'gr_id=' . $gr_id) ?>회원아이디</a></th>
<th scope="col"><?php echo subject_sort_link('b.mb_name', 'gr_id='.$gr_id) ?>이름</a></th> <th scope="col"><?php echo subject_sort_link('b.mb_name', 'gr_id=' . $gr_id) ?>이름</a></th>
<th scope="col"><?php echo subject_sort_link('b.mb_nick', 'gr_id='.$gr_id) ?>별명</a></th> <th scope="col"><?php echo subject_sort_link('b.mb_nick', 'gr_id=' . $gr_id) ?>별명</a></th>
<th scope="col"><?php echo subject_sort_link('b.mb_today_login', 'gr_id='.$gr_id) ?>최종접속</a></th> <th scope="col"><?php echo subject_sort_link('b.mb_today_login', 'gr_id=' . $gr_id) ?>최종접속</a></th>
<th scope="col"><?php echo subject_sort_link('a.gm_datetime', 'gr_id='.$gr_id) ?>처리일시</a></th> <th scope="col"><?php echo subject_sort_link('a.gm_datetime', 'gr_id=' . $gr_id) ?>처리일시</a></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) for ($i = 0; $row = sql_fetch_array($result); $i++) {
{ // 접근가능한 그룹수
// 접근가능한 그룹수 $sql2 = " select count(*) as cnt from {$g5['group_member_table']} where mb_id = '{$row['mb_id']}' ";
$sql2 = " select count(*) as cnt from {$g5['group_member_table']} where mb_id = '{$row['mb_id']}' "; $row2 = sql_fetch($sql2);
$row2 = sql_fetch($sql2); $group = "";
$group = ""; if ($row2['cnt'])
if ($row2['cnt']) $group = '<a href="./boardgroupmember_form.php?mb_id=' . $row['mb_id'] . '">' . $row2['cnt'] . '</a>';
$group = '<a href="./boardgroupmember_form.php?mb_id='.$row['mb_id'].'">'.$row2['cnt'].'</a>';
$mb_nick = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']); $mb_nick = get_sideview($row['mb_id'], $row['mb_nick'], $row['mb_email'], $row['mb_homepage']);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_chk"> <td class="td_chk">
<label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['mb_nick'] ?> 회원</label> <label for="chk_<?php echo $i; ?>" class="sound_only"><?php echo $row['mb_nick'] ?> 회원</label>
<input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>"> <input type="checkbox" name="chk[]" value="<?php echo $row['gm_id'] ?>" id="chk_<?php echo $i ?>">
</td> </td>
<td class="td_grid"><?php echo $group ?></td> <td class="td_grid"><?php echo $group ?></td>
<td class="td_mbid"><?php echo $row['mb_id'] ?></td> <td class="td_mbid"><?php echo $row['mb_id'] ?></td>
<td class="td_mbname"><?php echo get_text($row['mb_name']); ?></td> <td class="td_mbname"><?php echo get_text($row['mb_name']); ?></td>
<td class="td_name sv_use"><?php echo $mb_nick ?></td> <td class="td_name sv_use"><?php echo $mb_nick ?></td>
<td class="td_datetime"><?php echo substr($row['mb_today_login'],2,8) ?></td> <td class="td_datetime"><?php echo substr($row['mb_today_login'], 2, 8) ?></td>
<td class="td_datetime"><?php echo $row['gm_datetime'] ?></td> <td class="td_datetime"><?php echo $row['gm_datetime'] ?></td>
</tr> </tr>
<?php <?php
} }
if ($i == 0) if ($i == 0) {
{ echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; }
} ?>
?> </tbody>
</tbody>
</table> </table>
</div> </div>
<div class="btn_list01 btn_list"> <div class="btn_list01 btn_list">
<input type="submit" name="" value="선택삭제"> <input type="submit" name="" value="선택삭제">
</div> </div>
</form> </form>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&amp;gr_id=$gr_id&page="); ?> <?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&amp;gr_id=$gr_id&page="); ?>
<script> <script>
function fboardgroupmember_submit(f) function fboardgroupmember_submit(f) {
{
if (!is_checked("chk[]")) { if (!is_checked("chk[]")) {
alert("선택삭제 하실 항목을 하나 이상 선택하세요."); alert("선택삭제 하실 항목을 하나 이상 선택하세요.");
return false; return false;
} }
return true; return true;
} }
</script> </script>
<?php <?php

View file

@ -4,67 +4,62 @@ include_once('./_common.php');
sql_query(" ALTER TABLE {$g5['group_member_table']} CHANGE `gm_id` `gm_id` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT ", false); sql_query(" ALTER TABLE {$g5['group_member_table']} CHANGE `gm_id` `gm_id` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT ", false);
if ($w == '') if ($w == '') {
{ auth_check($auth[$sub_menu], 'w');
auth_check($auth[$sub_menu], 'w');
$mb = get_member($mb_id); $mb = get_member($mb_id);
if (!$mb['mb_id']) { if (!$mb['mb_id']) {
alert('존재하지 않는 회원입니다.'); alert('존재하지 않는 회원입니다.');
} }
$gr = get_group($gr_id); $gr = get_group($gr_id);
if (!$gr['gr_id']) { if (!$gr['gr_id']) {
alert('존재하지 않는 그룹입니다.'); alert('존재하지 않는 그룹입니다.');
} }
$sql = " select count(*) as cnt $sql = " select count(*) as cnt
from {$g5['group_member_table']} from {$g5['group_member_table']}
where gr_id = '{$gr_id}' where gr_id = '{$gr_id}'
and mb_id = '{$mb_id}' "; and mb_id = '{$mb_id}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt']) { if ($row['cnt']) {
alert('이미 등록되어 있는 자료입니다.'); alert('이미 등록되어 있는 자료입니다.');
} } else {
else
{
check_admin_token();
$sql = " insert into {$g5['group_member_table']}
set gr_id = '{$_POST['gr_id']}',
mb_id = '{$_POST['mb_id']}',
gm_datetime = '".G5_TIME_YMDHIS."' ";
sql_query($sql);
}
}
else if ($w == 'd' || $w == 'ld')
{
auth_check($auth[$sub_menu], 'd');
$count = count($_POST['chk']);
if(!$count)
alert('삭제할 목록을 하나이상 선택해 주세요.');
check_admin_token(); check_admin_token();
for($i=0; $i<$count; $i++) { $sql = " insert into {$g5['group_member_table']}
$gm_id = $_POST['chk'][$i]; set gr_id = '{$_POST['gr_id']}',
$sql = " select * from {$g5['group_member_table']} where gm_id = '$gm_id' "; mb_id = '{$_POST['mb_id']}',
$gm = sql_fetch($sql); gm_datetime = '" . G5_TIME_YMDHIS . "' ";
if (!$gm['gm_id']) { sql_query($sql);
if($count == 1) }
alert('존재하지 않는 자료입니다.'); } else if ($w == 'd' || $w == 'ld') {
else auth_check($auth[$sub_menu], 'd');
continue;
}
$sql = " delete from {$g5['group_member_table']} where gm_id = '$gm_id' "; $count = count($_POST['chk']);
sql_query($sql); if (!$count)
alert('삭제할 목록을 하나이상 선택해 주세요.');
check_admin_token();
for ($i = 0; $i < $count; $i++) {
$gm_id = $_POST['chk'][$i];
$sql = " select * from {$g5['group_member_table']} where gm_id = '$gm_id' ";
$gm = sql_fetch($sql);
if (!$gm['gm_id']) {
if ($count == 1)
alert('존재하지 않는 자료입니다.');
else
continue;
} }
$sql = " delete from {$g5['group_member_table']} where gm_id = '$gm_id' ";
sql_query($sql);
}
} }
if ($w == 'ld') if ($w == 'ld')
goto_url('./boardgroupmember_list.php?gr_id='.$gr_id); goto_url('./boardgroupmember_list.php?gr_id=' . $gr_id);
else else
goto_url('./boardgroupmember_form.php?mb_id='.$mb_id); goto_url('./boardgroupmember_form.php?mb_id=' . $mb_id);
?> ?>

View file

@ -2,44 +2,44 @@
$sub_menu = "100510"; $sub_menu = "100510";
include_once('./_common.php'); include_once('./_common.php');
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE)) if (!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL); alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
$g5['title'] = 'Browscap 업데이트'; $g5['title'] = 'Browscap 업데이트';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div id="processing"> <div id="processing">
<p>Browscap 정보를 업데이트하시려면 아래 업데이트 버튼을 클릭해 주세요.</p> <p>Browscap 정보를 업데이트하시려면 아래 업데이트 버튼을 클릭해 주세요.</p>
<button type="button" id="run_update">업데이트</button> <button type="button" id="run_update">업데이트</button>
</div> </div>
<script> <script>
$(function() { $(function () {
$("#run_update").on("click", function() { $("#run_update").on("click", function () {
$("#processing").html('<div class="update_processing"></div><p>Browscap 정보를 업데이트 중입니다.</p>'); $("#processing").html('<div class="update_processing"></div><p>Browscap 정보를 업데이트 중입니다.</p>');
$.ajax({ $.ajax({
url: "./browscap_update.php", url: "./browscap_update.php",
async: true, async: true,
cache: false, cache: false,
dataType: "html", dataType: "html",
success: function(data) { success: function (data) {
if(data != "") { if (data != "") {
alert(data); alert(data);
return false; return false;
} }
$("#processing").html("<div class='check_processing'></div><p>Browscap 정보를 업데이트 했습니다.</p>"); $("#processing").html("<div class='check_processing'></div><p>Browscap 정보를 업데이트 했습니다.</p>");
} }
}); });
}); });
}); });
</script> </script>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -2,45 +2,45 @@
$sub_menu = "100520"; $sub_menu = "100520";
include_once('./_common.php'); include_once('./_common.php');
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE)) if (!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL); alert('사용할 수 없는 기능입니다.', G5_ADMIN_URL);
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
$rows = preg_replace('#[^0-9]#', '', $_GET['rows']); $rows = preg_replace('#[^0-9]#', '', $_GET['rows']);
if(!$rows) if (!$rows)
$rows = 100; $rows = 100;
$g5['title'] = '접속로그 변환'; $g5['title'] = '접속로그 변환';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div id="processing"> <div id="processing">
<p>접속로그 정보를 Browscap 정보로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p> <p>접속로그 정보를 Browscap 정보로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p>
<button type="button" id="run_update">업데이트</button> <button type="button" id="run_update">업데이트</button>
</div> </div>
<script> <script>
$(function() { $(function () {
$(document).on("click", "#run_update", function() { $(document).on("click", "#run_update", function () {
$("#processing").html('<div class="update_processing"></div><p>Browscap 정보로 변환 중입니다.</p>'); $("#processing").html('<div class="update_processing"></div><p>Browscap 정보로 변환 중입니다.</p>');
$.ajax({ $.ajax({
method: "GET", method: "GET",
url: "./browscap_converter.php", url: "./browscap_converter.php",
data: { rows: "<?php echo $rows; ?>" }, data: { rows: "<?php echo $rows; ?>" },
async: true, async: true,
cache: false, cache: false,
dataType: "html", dataType: "html",
success: function(data) { success: function (data) {
$("#processing").html(data); $("#processing").html(data);
} }
}); });
}); });
}); });
</script> </script>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -5,32 +5,32 @@ include_once('./_common.php');
// clean the output buffer // clean the output buffer
ob_end_clean(); ob_end_clean();
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE)) if (!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
die('사용할 수 없는 기능입니다.'); die('사용할 수 없는 기능입니다.');
if($is_admin != 'super') if ($is_admin != 'super')
die('최고관리자로 로그인 후 실행해 주세요.'); die('최고관리자로 로그인 후 실행해 주세요.');
// browscap cache 파일 체크 // browscap cache 파일 체크
if(!is_file(G5_DATA_PATH.'/cache/browscap_cache.php')) { if (!is_file(G5_DATA_PATH . '/cache/browscap_cache.php')) {
echo '<p>Browscap 정보가 없습니다. 아래 링크로 이동해 Browscap 정보를 업데이트 하세요.</p>'.PHP_EOL; echo '<p>Browscap 정보가 없습니다. 아래 링크로 이동해 Browscap 정보를 업데이트 하세요.</p>' . PHP_EOL;
echo '<p><a href="'.G5_ADMIN_URL.'/browscap.php">Browscap 업데이트</a></p>'.PHP_EOL; echo '<p><a href="' . G5_ADMIN_URL . '/browscap.php">Browscap 업데이트</a></p>' . PHP_EOL;
exit; exit;
} }
include_once(G5_PLUGIN_PATH.'/browscap/Browscap.php'); include_once(G5_PLUGIN_PATH . '/browscap/Browscap.php');
$browscap = new phpbrowscap\Browscap(G5_DATA_PATH.'/cache'); $browscap = new phpbrowscap\Browscap(G5_DATA_PATH . '/cache');
$browscap->doAutoUpdate = false; $browscap->doAutoUpdate = false;
$browscap->cacheFilename = 'browscap_cache.php'; $browscap->cacheFilename = 'browscap_cache.php';
// 데이터 변환 // 데이터 변환
$rows = preg_replace('#[^0-9]#', '', $_GET['rows']); $rows = preg_replace('#[^0-9]#', '', $_GET['rows']);
if(!$rows) if (!$rows)
$rows = 100; $rows = 100;
$sql_common = " from {$g5['visit_table']} where vi_agent <> '' and ( vi_browser = '' or vi_os = '' or vi_device = '' ) "; $sql_common = " from {$g5['visit_table']} where vi_agent <> '' and ( vi_browser = '' or vi_os = '' or vi_device = '' ) ";
$sql_order = " order by vi_id desc "; $sql_order = " order by vi_id desc ";
$sql_limit = " limit 0, $rows "; $sql_limit = " limit 0, $rows ";
$sql = " select count(vi_id) as cnt $sql_common "; $sql = " select count(vi_id) as cnt $sql_common ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
@ -43,33 +43,32 @@ $sql = " select vi_id, vi_agent, vi_browser, vi_os, vi_device
$result = sql_query($sql); $result = sql_query($sql);
$cnt = 0; $cnt = 0;
for($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$info = $browscap->getBrowser($row['vi_agent']); $info = $browscap->getBrowser($row['vi_agent']);
$brow = $row['vi_browser']; $brow = $row['vi_browser'];
if(!$brow) if (!$brow)
$brow = $info->Comment; $brow = $info->Comment;
$os = $row['vi_os']; $os = $row['vi_os'];
if(!$os) if (!$os)
$os = $info->Platform; $os = $info->Platform;
$device = $row['vi_device']; $device = $row['vi_device'];
if(!$device) if (!$device)
$device = $info->Device_Type; $device = $info->Device_Type;
$sql2 = " update {$g5['visit_table']} $sql2 = " update {$g5['visit_table']}
set vi_browser = '$brow', set vi_browser = '$brow',
vi_os = '$os', vi_os = '$os',
vi_device = '$device' vi_device = '$device'
where vi_id = '{$row['vi_id']}' "; where vi_id = '{$row['vi_id']}' ";
sql_query($sql2); sql_query($sql2);
$cnt++; $cnt++;
} }
if(($total_count - $cnt) == 0 || $total_count == 0) if (($total_count - $cnt) == 0 || $total_count == 0)
echo '<div class="check_processing"></div><p>변환완료</p>'; echo '<div class="check_processing"></div><p>변환완료</p>';
else else
echo '<p>총 '.number_format($total_count).'건 중 '.number_format($cnt).'건 변환완료<br><br>접속로그를 추가로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p><button type="button" id="run_update">업데이트</button>'; echo '<p>총 ' . number_format($total_count) . '건 중 ' . number_format($cnt) . '건 변환완료<br><br>접속로그를 추가로 변환하시려면 아래 업데이트 버튼을 클릭해 주세요.</p><button type="button" id="run_update">업데이트</button>';
?>

View file

@ -7,18 +7,17 @@ include_once('./_common.php');
// clean the output buffer // clean the output buffer
ob_end_clean(); ob_end_clean();
if(!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE)) if (!(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE))
die('사용할 수 없는 기능입니다.'); die('사용할 수 없는 기능입니다.');
if ($is_admin != 'super') if ($is_admin != 'super')
die('최고관리자만 접근 가능합니다.'); die('최고관리자만 접근 가능합니다.');
include_once(G5_PLUGIN_PATH.'/browscap/Browscap.php'); include_once(G5_PLUGIN_PATH . '/browscap/Browscap.php');
$browscap = new phpbrowscap\Browscap(G5_DATA_PATH.'/cache'); $browscap = new phpbrowscap\Browscap(G5_DATA_PATH . '/cache');
$browscap->updateMethod = 'cURL'; $browscap->updateMethod = 'cURL';
$browscap->cacheFilename = 'browscap_cache.php'; $browscap->cacheFilename = 'browscap_cache.php';
$browscap->updateCache(); $browscap->updateCache();
die(''); die('');
?>

View file

@ -1,48 +1,48 @@
<?php <?php
$sub_menu = '900200'; $sub_menu = '900300';
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.', G5_URL); alert('최고관리자만 접근 가능합니다.', G5_URL);
$g5['title'] = '캐시파일 일괄삭제'; $g5['title'] = '캐시파일 일괄삭제';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div class="local_desc02 local_desc"> <div class="local_desc02 local_desc">
<p> <p>
완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오. 완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.
</p> </p>
</div> </div>
<?php <?php
flush(); flush();
if (!$dir=@opendir(G5_DATA_PATH.'/cache')) { if (!$dir = @opendir(G5_DATA_PATH . '/cache')) {
echo '<p>캐시디렉토리를 열지못했습니다.</p>'; echo '<p>캐시디렉토리를 열지못했습니다.</p>';
} }
$cnt=0; $cnt = 0;
echo '<ul>'.PHP_EOL; echo '<ul>' . PHP_EOL;
$files = glob(G5_DATA_PATH.'/cache/latest-*'); $files = glob(G5_DATA_PATH . '/cache/latest-*');
if (is_array($files)) { if (is_array($files)) {
foreach ($files as $cache_file) { foreach ($files as $cache_file) {
$cnt++; $cnt++;
unlink($cache_file); unlink($cache_file);
echo '<li>'.$cache_file.'</li>'.PHP_EOL; echo '<li>' . $cache_file . '</li>' . PHP_EOL;
flush(); flush();
if ($cnt%10==0) if ($cnt % 10 == 0)
echo PHP_EOL; echo PHP_EOL;
} }
} }
echo '<li>완료됨</li></ul>'.PHP_EOL; echo '<li>완료됨</li></ul>' . PHP_EOL;
echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL; echo '<div class="local_desc01 local_desc"><p><strong>최신글 캐시파일 ' . $cnt . '건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>' . PHP_EOL;
?> ?>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -3,51 +3,52 @@ $sub_menu = '100910';
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.', G5_URL); alert('최고관리자만 접근 가능합니다.', G5_URL);
$g5['title'] = '캡챠파일 일괄삭제'; $g5['title'] = '캡챠파일 일괄삭제';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div class="local_desc02 local_desc"> <div class="local_desc02 local_desc">
<p> <p>
완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오. 완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.
</p> </p>
</div> </div>
<?php <?php
flush(); flush();
if (!$dir=@opendir(G5_DATA_PATH.'/cache')) { if (!$dir = @opendir(G5_DATA_PATH . '/cache')) {
echo '<p>캐시디렉토리를 열지못했습니다.</p>'; echo '<p>캐시디렉토리를 열지못했습니다.</p>';
} }
$cnt=0; $cnt = 0;
echo '<ul>'.PHP_EOL; echo '<ul>' . PHP_EOL;
$files = glob(G5_DATA_PATH.'/cache/?captcha-*'); $files = glob(G5_DATA_PATH . '/cache/?captcha-*');
if (is_array($files)) { if (is_array($files)) {
$before_time = G5_SERVER_TIME - 3600; // 한시간전 $before_time = G5_SERVER_TIME - 3600; // 한시간전
foreach ($files as $gcaptcha_file) { foreach ($files as $gcaptcha_file) {
$modification_time = filemtime($gcaptcha_file); // 파일접근시간 $modification_time = filemtime($gcaptcha_file); // 파일접근시간
if ($modification_time > $before_time) continue; if ($modification_time > $before_time)
continue;
$cnt++; $cnt++;
unlink($gcaptcha_file); unlink($gcaptcha_file);
echo '<li>'.$gcaptcha_file.'</li>'.PHP_EOL; echo '<li>' . $gcaptcha_file . '</li>' . PHP_EOL;
flush(); flush();
if ($cnt%10==0) if ($cnt % 10 == 0)
echo PHP_EOL; echo PHP_EOL;
} }
} }
echo '<li>완료됨</li></ul>'.PHP_EOL; echo '<li>완료됨</li></ul>' . PHP_EOL;
echo '<div class="local_desc01 local_desc"><p><strong>캡챠파일 '.$cnt.'건의 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL; echo '<div class="local_desc01 local_desc"><p><strong>캡챠파일 ' . $cnt . '건의 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>' . PHP_EOL;
?> ?>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -1,5 +1,5 @@
<?php <?php
$sub_menu = "900300"; $sub_menu = "900100";
include_once('./_common.php'); include_once('./_common.php');
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');

View file

@ -1,5 +1,5 @@
<?php <?php
$sub_menu = "900300"; $sub_menu = "900100";
include_once('./_common.php'); include_once('./_common.php');
check_demo(); check_demo();
@ -7,27 +7,27 @@ check_demo();
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
$mb = get_member($cf_admin); $mb = get_member($cf_admin);
if (!$mb['mb_id']) if (!$mb['mb_id'])
alert('최고관리자 회원아이디가 존재하지 않습니다.'); alert('최고관리자 회원아이디가 존재하지 않습니다.');
check_admin_token(); check_admin_token();
// 본인확인을 사용할 경우 아이핀, 휴대폰인증 중 하나는 선택되어야 함 // 본인확인을 사용할 경우 아이핀, 휴대폰인증 중 하나는 선택되어야 함
if($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp']) if ($_POST['cf_cert_use'] && !$_POST['cf_cert_ipin'] && !$_POST['cf_cert_hp'])
alert('본인확인을 위해 아이핀 또는 휴대폰 본인학인 서비스를 하나이상 선택해 주십시오'); alert('본인확인을 위해 아이핀 또는 휴대폰 본인학인 서비스를 하나이상 선택해 주십시오');
if(!$_POST['cf_cert_use']) { if (!$_POST['cf_cert_use']) {
$_POST['cf_cert_ipin'] = ''; $_POST['cf_cert_ipin'] = '';
$_POST['cf_cert_hp'] = ''; $_POST['cf_cert_hp'] = '';
} }
$site_style_path = G5_DATA_PATH."/site"; $site_style_path = G5_DATA_PATH . "/site";
$site_style_url = G5_DATA_URL."/site"; $site_style_url = G5_DATA_URL . "/site";
@mkdir($site_style_path, G5_DIR_PERMISSION); @mkdir($site_style_path, G5_DIR_PERMISSION);
@chmod($site_style_path, G5_DIR_PERMISSION); @chmod($site_style_path, G5_DIR_PERMISSION);
@ -36,8 +36,8 @@ $cf_site_img = $_POST['cf_site_img'];
// 이미지 등록 시, 이미지를 업로드한 뒤 - 해당 이미지 경로를 삽입 // 이미지 등록 시, 이미지를 업로드한 뒤 - 해당 이미지 경로를 삽입
if ($_FILES['admin_icon_file']['name']) { if ($_FILES['admin_icon_file']['name']) {
$image_name = "ico_admin"; $image_name = "ico_admin";
upload_file($_FILES['admin_icon_file']['tmp_name'], $image_name, $site_style_path); upload_file($_FILES['admin_icon_file']['tmp_name'], $image_name, $site_style_path);
} }
@ -67,8 +67,8 @@ $sql = " update {$g5['config_table']}
cf_link_target = '{$_POST['cf_link_target']}', cf_link_target = '{$_POST['cf_link_target']}',
cf_delay_sec = '{$_POST['cf_delay_sec']}', cf_delay_sec = '{$_POST['cf_delay_sec']}',
cf_filter = '{$_POST['cf_filter']}', cf_filter = '{$_POST['cf_filter']}',
cf_possible_ip = '".trim($_POST['cf_possible_ip'])."', cf_possible_ip = '" . trim($_POST['cf_possible_ip']) . "',
cf_intercept_ip = '".trim($_POST['cf_intercept_ip'])."', cf_intercept_ip = '" . trim($_POST['cf_intercept_ip']) . "',
cf_analytics = '{$_POST['cf_analytics']}', cf_analytics = '{$_POST['cf_analytics']}',
cf_add_meta = '{$_POST['cf_add_meta']}', cf_add_meta = '{$_POST['cf_add_meta']}',
cf_syndi_token = '{$_POST['cf_syndi_token']}', cf_syndi_token = '{$_POST['cf_syndi_token']}',
@ -156,4 +156,3 @@ sql_query($sql);
//sql_query(" OPTIMIZE TABLE `$g5['config_table']` "); //sql_query(" OPTIMIZE TABLE `$g5['config_table']` ");
goto_url('./config_form.php', false); goto_url('./config_form.php', false);
?>

View file

@ -6,201 +6,202 @@ include_once(G5_EDITOR_LIB);
auth_check($auth[$sub_menu], "w"); auth_check($auth[$sub_menu], "w");
// 상단, 하단 파일경로 필드 추가 // 상단, 하단 파일경로 필드 추가
if(!sql_query(" select co_include_head from {$g5['content_table']} limit 1 ", false)) { if (!sql_query(" select co_include_head from {$g5['content_table']} limit 1 ", false)) {
$sql = " ALTER TABLE `{$g5['content_table']}` ADD `co_include_head` VARCHAR( 255 ) NOT NULL , $sql = " ALTER TABLE `{$g5['content_table']}` ADD `co_include_head` VARCHAR( 255 ) NOT NULL ,
ADD `co_include_tail` VARCHAR( 255 ) NOT NULL "; ADD `co_include_tail` VARCHAR( 255 ) NOT NULL ";
sql_query($sql, false); sql_query($sql, false);
} }
// html purifier 사용여부 필드 // html purifier 사용여부 필드
if(!sql_query(" select co_tag_filter_use from {$g5['content_table']} limit 1 ", false)) { if (!sql_query(" select co_tag_filter_use from {$g5['content_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['content_table']}` sql_query(" ALTER TABLE `{$g5['content_table']}`
ADD `co_tag_filter_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `co_content` ", true); ADD `co_tag_filter_use` tinyint(4) NOT NULL DEFAULT '0' AFTER `co_content` ", true);
sql_query(" update {$g5['content_table']} set co_tag_filter_use = '1' "); sql_query(" update {$g5['content_table']} set co_tag_filter_use = '1' ");
} }
// 모바일 내용 추가 // 모바일 내용 추가
if(!sql_query(" select co_mobile_content from {$g5['content_table']} limit 1", false)) { if (!sql_query(" select co_mobile_content from {$g5['content_table']} limit 1", false)) {
sql_query(" ALTER TABLE `{$g5['content_table']}` sql_query(" ALTER TABLE `{$g5['content_table']}`
ADD `co_mobile_content` longtext NOT NULL AFTER `co_content` ", true); ADD `co_mobile_content` longtext NOT NULL AFTER `co_content` ", true);
} }
// 스킨 설정 추가 // 스킨 설정 추가
if(!sql_query(" select co_skin from {$g5['content_table']} limit 1 ", false)) { if (!sql_query(" select co_skin from {$g5['content_table']} limit 1 ", false)) {
sql_query(" ALTER TABLE `{$g5['content_table']}` sql_query(" ALTER TABLE `{$g5['content_table']}`
ADD `co_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_mobile_content`, ADD `co_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_mobile_content`,
ADD `co_mobile_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_skin` ", true); ADD `co_mobile_skin` varchar(255) NOT NULL DEFAULT '' AFTER `co_skin` ", true);
sql_query(" update {$g5['content_table']} set co_skin = 'basic', co_mobile_skin = 'basic' "); sql_query(" update {$g5['content_table']} set co_skin = 'basic', co_mobile_skin = 'basic' ");
} }
$html_title = "내용"; $html_title = "내용";
$g5['title'] = $html_title.' 관리'; $g5['title'] = $html_title . ' 관리';
if ($w == "u") if ($w == "u") {
{ $html_title .= " 수정";
$html_title .= " 수정"; $readonly = " readonly";
$readonly = " readonly";
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' "; $sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
$co = sql_fetch($sql); $co = sql_fetch($sql);
if (!$co['co_id']) if (!$co['co_id'])
alert('등록된 자료가 없습니다.'); alert('등록된 자료가 없습니다.');
} } else {
else $html_title .= ' 입력';
{ $co['co_html'] = 2;
$html_title .= ' 입력'; $co['co_skin'] = 'basic';
$co['co_html'] = 2; $co['co_mobile_skin'] = 'basic';
$co['co_skin'] = 'basic';
$co['co_mobile_skin'] = 'basic';
} }
include_once (G5_ADMIN_PATH.'/admin.head.php'); include_once(G5_ADMIN_PATH . '/admin.head.php');
?> ?>
<form name="frmcontentform" action="./contentformupdate.php" onsubmit="return frmcontentform_check(this);" method="post" enctype="MULTIPART/FORM-DATA" > <form name="frmcontentform" action="./contentformupdate.php" onsubmit="return frmcontentform_check(this);" method="post"
<input type="hidden" name="w" value="<?php echo $w; ?>"> enctype="MULTIPART/FORM-DATA">
<input type="hidden" name="co_html" value="1"> <input type="hidden" name="w" value="<?php echo $w; ?>">
<input type="hidden" name="token" value=""> <input type="hidden" name="co_html" value="1">
<input type="hidden" name="token" value="">
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<colgroup> <colgroup>
<col style="width:140px;"> <col style="width:140px;">
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="co_id">ID</label></th> <th scope="row"><label for="co_id">ID</label></th>
<td> <td>
<?php echo help('20자 이내의 영문자, 숫자, _ 만 가능합니다.'); ?> <?php echo help('20자 이내의 영문자, 숫자, _ 만 가능합니다.'); ?>
<input type="text" value="<?php echo $co['co_id']; ?>" name="co_id" id ="co_id" required <?php echo $readonly; ?> class="required <?php echo $readonly; ?> frm_input" size="20" maxlength="20"> <input type="text" value="<?php echo $co['co_id']; ?>" name="co_id" id="co_id" required <?php echo $readonly; ?> class="required <?php echo $readonly; ?> frm_input" size="20" maxlength="20">
<?php if ($w == 'u') { ?><a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $co_id; ?>" target="_blank" class="btn_frmline">내용확인</a><?php } ?> <?php if ($w == 'u') { ?><a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $co_id; ?>"
</td> target="_blank" class="btn_frmline">내용확인</a><?php } ?>
</tr> </td>
<tr> </tr>
<th scope="row"><label for="co_subject">제목</label></th> <tr>
<td><input type="text" name="co_subject" value="<?php echo htmlspecialchars2($co['co_subject']); ?>" id="co_subject" required class="frm_input required" size="90"></td> <th scope="row"><label for="co_subject">제목</label></th>
</tr> <td><input type="text" name="co_subject" value="<?php echo htmlspecialchars2($co['co_subject']); ?>"
<tr> id="co_subject" required class="frm_input required" size="90"></td>
<th scope="row">내용</th> </tr>
<td><?php echo editor_html('co_content', get_text($co['co_content'], 0)); ?></td> <tr>
</tr> <th scope="row">내용</th>
<tr> <td><?php echo editor_html('co_content', get_text($co['co_content'], 0)); ?></td>
<th scope="row"><label for="co_skin">스킨 디렉토리<strong class="sound_only">필수</strong></label></th> </tr>
<td> <tr>
<?php echo get_skin_select('content', 'co_skin', 'co_skin', $co['co_skin'], 'required'); ?> <th scope="row"><label for="co_skin">스킨 디렉토리<strong class="sound_only">필수</strong></label></th>
</td> <td>
</tr> <?php echo get_skin_select('content', 'co_skin', 'co_skin', $co['co_skin'], 'required'); ?>
<tr> </td>
<th scope="row"><label for="co_tag_filter_use">태그 필터링 사용</label></th> </tr>
<td> <tr>
<?php echo help("내용에서 iframe 등의 태그를 사용하려면 사용안함으로 선택해 주십시오."); ?> <th scope="row"><label for="co_tag_filter_use">태그 필터링 사용</label></th>
<select name="co_tag_filter_use" id="co_tag_filter_use"> <td>
<option value="1"<?php echo get_selected(1, $co['co_tag_filter_use']); ?>>사용함</option> <?php echo help("내용에서 iframe 등의 태그를 사용하려면 사용안함으로 선택해 주십시오."); ?>
<option value="0"<?php echo get_selected(0, $co['co_tag_filter_use']); ?>>사용안함</option> <select name="co_tag_filter_use" id="co_tag_filter_use">
</select> <option value="1" <?php echo get_selected(1, $co['co_tag_filter_use']); ?>>사용함</option>
</td> <option value="0" <?php echo get_selected(0, $co['co_tag_filter_use']); ?>>사용안함</option>
</tr> </select>
<tr> </td>
<th scope="row"><label for="co_include_head">상단 파일 경로</label></th> </tr>
<td> <tr>
<?php echo help("설정값이 없으면 기본 상단 파일을 사용합니다."); ?> <th scope="row"><label for="co_include_head">상단 파일 경로</label></th>
<input type="text" name="co_include_head" value="<?php echo $co['co_include_head']; ?>" id="co_include_head" class="frm_input" size="60"> <td>
</td> <?php echo help("설정값이 없으면 기본 상단 파일을 사용합니다."); ?>
</tr> <input type="text" name="co_include_head" value="<?php echo $co['co_include_head']; ?>" id="co_include_head"
<tr> class="frm_input" size="60">
<th scope="row"><label for="co_include_tail">하단 파일 경로</label></th> </td>
<td> </tr>
<?php echo help("설정값이 없으면 기본 하단 파일을 사용합니다."); ?> <tr>
<input type="text" name="co_include_tail" value="<?php echo $co['co_include_tail']; ?>" id="co_include_tail" class="frm_input" size="60"> <th scope="row"><label for="co_include_tail">하단 파일 경로</label></th>
</td> <td>
</tr> <?php echo help("설정값이 없으면 기본 하단 파일을 사용합니다."); ?>
<tr> <input type="text" name="co_include_tail" value="<?php echo $co['co_include_tail']; ?>" id="co_include_tail"
<th scope="row"><label for="co_himg">상단이미지</label></th> class="frm_input" size="60">
<td> </td>
<input type="file" name="co_himg" id="co_himg"> </tr>
<?php <tr>
$himg = G5_DATA_PATH.'/content/'.$co['co_id'].'_h'; <th scope="row"><label for="co_himg">상단이미지</label></th>
if (file_exists($himg)) { <td>
$size = @getimagesize($himg); <input type="file" name="co_himg" id="co_himg">
if($size[0] && $size[0] > 750) <?php
$width = 750; $himg = G5_DATA_PATH . '/content/' . $co['co_id'] . '_h';
else if (file_exists($himg)) {
$width = $size[0]; $size = @getimagesize($himg);
if ($size[0] && $size[0] > 750)
$width = 750;
else
$width = $size[0];
echo '<input type="checkbox" name="co_himg_del" value="1" id="co_himg_del"> <label for="co_himg_del">삭제</label>'; echo '<input type="checkbox" name="co_himg_del" value="1" id="co_himg_del"> <label for="co_himg_del">삭제</label>';
$himg_str = '<img src="'.G5_DATA_URL.'/content/'.$co['co_id'].'_h" width="'.$width.'" alt="">'; $himg_str = '<img src="' . G5_DATA_URL . '/content/' . $co['co_id'] . '_h" width="' . $width . '" alt="">';
} }
if ($himg_str) { if ($himg_str) {
echo '<div class="banner_or_img">'; echo '<div class="banner_or_img">';
echo $himg_str; echo $himg_str;
echo '</div>'; echo '</div>';
} }
?> ?>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="co_timg">하단이미지</label></th> <th scope="row"><label for="co_timg">하단이미지</label></th>
<td> <td>
<input type="file" name="co_timg" id="co_timg"> <input type="file" name="co_timg" id="co_timg">
<?php <?php
$timg = G5_DATA_PATH.'/content/'.$co['co_id'].'_t'; $timg = G5_DATA_PATH . '/content/' . $co['co_id'] . '_t';
if (file_exists($timg)) { if (file_exists($timg)) {
$size = @getimagesize($timg); $size = @getimagesize($timg);
if($size[0] && $size[0] > 750) if ($size[0] && $size[0] > 750)
$width = 750; $width = 750;
else else
$width = $size[0]; $width = $size[0];
echo '<input type="checkbox" name="co_timg_del" value="1" id="co_timg_del"> <label for="co_timg_del">삭제</label>'; echo '<input type="checkbox" name="co_timg_del" value="1" id="co_timg_del"> <label for="co_timg_del">삭제</label>';
$timg_str = '<img src="'.G5_DATA_URL.'/content/'.$co['co_id'].'_t" width="'.$width.'" alt="">'; $timg_str = '<img src="' . G5_DATA_URL . '/content/' . $co['co_id'] . '_t" width="' . $width . '" alt="">';
} }
if ($timg_str) { if ($timg_str) {
echo '<div class="banner_or_img">'; echo '<div class="banner_or_img">';
echo $timg_str; echo $timg_str;
echo '</div>'; echo '</div>';
} }
?> ?>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_confirm01 btn_confirm"> <div class="btn_confirm01 btn_confirm">
<a href="./contentlist.php" title="목록" class="btn ty2"><span class="material-icons">list</span></a> <a href="./contentlist.php" title="목록" class="btn ty2"><span class="material-icons">list</span></a>
<div class="btn"> <div class="btn">
<span class="material-icons">save</span> <span class="material-icons">save</span>
<input type="submit" value="확인" class="btn_submit" accesskey="s"> <input type="submit" value="확인" class="btn_submit" accesskey="s">
</div> </div>
</div> </div>
</form> </form>
<script> <script>
function frmcontentform_check(f) function frmcontentform_check(f) {
{ errmsg = "";
errmsg = ""; errfld = "";
errfld = "";
<?php echo get_editor_js('co_content'); ?> <?php echo get_editor_js('co_content'); ?>
<?php echo chk_editor_js('co_content'); ?> <?php echo chk_editor_js('co_content'); ?>
check_field(f.co_id, "ID를 입력하세요."); check_field(f.co_id, "ID를 입력하세요.");
check_field(f.co_subject, "제목을 입력하세요."); check_field(f.co_subject, "제목을 입력하세요.");
check_field(f.co_content, "내용을 입력하세요."); check_field(f.co_content, "내용을 입력하세요.");
if (errmsg != "") { if (errmsg != "") {
alert(errmsg); alert(errmsg);
errfld.focus(); errfld.focus();
return false; return false;
} }
return true; return true;
} }
</script> </script>
<?php <?php
include_once (G5_ADMIN_PATH.'/admin.tail.php'); include_once(G5_ADMIN_PATH . '/admin.tail.php');
?> ?>

View file

@ -3,31 +3,33 @@ $sub_menu = '300600';
include_once('./_common.php'); include_once('./_common.php');
if ($w == "u" || $w == "d") if ($w == "u" || $w == "d")
check_demo(); check_demo();
if ($w == 'd') if ($w == 'd')
auth_check($auth[$sub_menu], "d"); auth_check($auth[$sub_menu], "d");
else else
auth_check($auth[$sub_menu], "w"); auth_check($auth[$sub_menu], "w");
check_admin_token(); check_admin_token();
@mkdir(G5_DATA_PATH."/content", G5_DIR_PERMISSION); @mkdir(G5_DATA_PATH . "/content", G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH."/content", G5_DIR_PERMISSION); @chmod(G5_DATA_PATH . "/content", G5_DIR_PERMISSION);
if ($co_himg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_h"); if ($co_himg_del)
if ($co_timg_del) @unlink(G5_DATA_PATH."/content/{$co_id}_t"); @unlink(G5_DATA_PATH . "/content/{$co_id}_h");
if ($co_timg_del)
@unlink(G5_DATA_PATH . "/content/{$co_id}_t");
$error_msg = ''; $error_msg = '';
if( $co_include_head && ! is_include_path_check($co_include_head) ){ if ($co_include_head && !is_include_path_check($co_include_head)) {
$co_include_head = ''; $co_include_head = '';
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 상단 파일 경로에 포함시킬수 없습니다.'; $error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 상단 파일 경로에 포함시킬수 없습니다.';
} }
if( $co_include_tail && ! is_include_path_check($co_include_tail) ){ if ($co_include_tail && !is_include_path_check($co_include_tail)) {
$co_include_tail = ''; $co_include_tail = '';
$error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.'; $error_msg = '/data/file/ 또는 /data/editor/ 포함된 문자를 하단 파일 경로에 포함시킬수 없습니다.';
} }
$sql_common = " co_include_head = '$co_include_head', $sql_common = " co_include_head = '$co_include_head',
@ -40,60 +42,50 @@ $sql_common = " co_include_head = '$co_include_head',
co_skin = '$co_skin', co_skin = '$co_skin',
co_mobile_skin = '$co_mobile_skin' "; co_mobile_skin = '$co_mobile_skin' ";
if ($w == "") if ($w == "") {
{ //if(eregi("[^a-z0-9_]", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
//if(eregi("[^a-z0-9_]", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다."); if (preg_match("/[^a-z0-9_]/i", $co_id))
if(preg_match("/[^a-z0-9_]/i", $co_id)) alert("ID 는 영문자, 숫자, _ 만 가능합니다."); alert("ID 는 영문자, 숫자, _ 만 가능합니다.");
$sql = " select co_id from {$g5['content_table']} where co_id = '$co_id' "; $sql = " select co_id from {$g5['content_table']} where co_id = '$co_id' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['co_id']) if ($row['co_id'])
alert("이미 같은 ID로 등록된 내용이 있습니다."); alert("이미 같은 ID로 등록된 내용이 있습니다.");
$sql = " insert {$g5['content_table']} $sql = " insert {$g5['content_table']}
set co_id = '$co_id', set co_id = '$co_id',
$sql_common "; $sql_common ";
sql_query($sql); sql_query($sql);
} } else if ($w == "u") {
else if ($w == "u") $sql = " update {$g5['content_table']}
{
$sql = " update {$g5['content_table']}
set $sql_common set $sql_common
where co_id = '$co_id' "; where co_id = '$co_id' ";
sql_query($sql); sql_query($sql);
} } else if ($w == "d") {
else if ($w == "d") @unlink(G5_DATA_PATH . "/content/{$co_id}_h");
{ @unlink(G5_DATA_PATH . "/content/{$co_id}_t");
@unlink(G5_DATA_PATH."/content/{$co_id}_h");
@unlink(G5_DATA_PATH."/content/{$co_id}_t");
$sql = " delete from {$g5['content_table']} where co_id = '$co_id' "; $sql = " delete from {$g5['content_table']} where co_id = '$co_id' ";
sql_query($sql); sql_query($sql);
} }
if ($w == "" || $w == "u") if ($w == "" || $w == "u") {
{ if ($_FILES['co_himg']['name']) {
if ($_FILES['co_himg']['name']) $dest_path = G5_DATA_PATH . "/content/" . $co_id . "_h";
{ @move_uploaded_file($_FILES['co_himg']['tmp_name'], $dest_path);
$dest_path = G5_DATA_PATH."/content/".$co_id."_h"; @chmod($dest_path, G5_FILE_PERMISSION);
@move_uploaded_file($_FILES['co_himg']['tmp_name'], $dest_path); }
@chmod($dest_path, G5_FILE_PERMISSION); if ($_FILES['co_timg']['name']) {
} $dest_path = G5_DATA_PATH . "/content/" . $co_id . "_t";
if ($_FILES['co_timg']['name']) @move_uploaded_file($_FILES['co_timg']['tmp_name'], $dest_path);
{ @chmod($dest_path, G5_FILE_PERMISSION);
$dest_path = G5_DATA_PATH."/content/".$co_id."_t"; }
@move_uploaded_file($_FILES['co_timg']['tmp_name'], $dest_path);
@chmod($dest_path, G5_FILE_PERMISSION);
}
if( $error_msg ){ if ($error_msg) {
alert($error_msg, "./contentform.php?w=u&amp;co_id=$co_id"); alert($error_msg, "./contentform.php?w=u&amp;co_id=$co_id");
} else { } else {
goto_url("./contentform.php?w=u&amp;co_id=$co_id"); goto_url("./contentform.php?w=u&amp;co_id=$co_id");
} }
} else {
goto_url("./contentlist.php");
} }
else
{
goto_url("./contentlist.php");
}
?>

View file

@ -4,15 +4,15 @@ include_once('./_common.php');
auth_check($auth[$sub_menu], "r"); auth_check($auth[$sub_menu], "r");
if( !isset($g5['content_table']) ){ if (!isset($g5['content_table'])) {
die('<meta charset="utf-8">/data/dbconfig.php 파일에 <strong>$g5[\'content_table\'] = G5_TABLE_PREFIX.\'content\';</strong> 를 추가해 주세요.'); die('<meta charset="utf-8">/data/dbconfig.php 파일에 <strong>$g5[\'content_table\'] = G5_TABLE_PREFIX.\'content\';</strong> 를 추가해 주세요.');
} }
//내용(컨텐츠)정보 테이블이 있는지 검사한다. //내용(컨텐츠)정보 테이블이 있는지 검사한다.
if(!sql_query(" DESCRIBE {$g5['content_table']} ", false)) { if (!sql_query(" DESCRIBE {$g5['content_table']} ", false)) {
if(sql_query(" DESCRIBE {$g5['g5_shop_content_table']} ", false)) { if (sql_query(" DESCRIBE {$g5['g5_shop_content_table']} ", false)) {
sql_query(" ALTER TABLE {$g5['g5_shop_content_table']} RENAME TO `{$g5['content_table']}` ;", false); sql_query(" ALTER TABLE {$g5['g5_shop_content_table']} RENAME TO `{$g5['content_table']}` ;", false);
} else { } else {
$query_cp = sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['content_table']}` ( $query_cp = sql_query(" CREATE TABLE IF NOT EXISTS `{$g5['content_table']}` (
`co_id` varchar(20) NOT NULL DEFAULT '', `co_id` varchar(20) NOT NULL DEFAULT '',
`co_html` tinyint(4) NOT NULL DEFAULT '0', `co_html` tinyint(4) NOT NULL DEFAULT '0',
`co_subject` varchar(255) NOT NULL DEFAULT '', `co_subject` varchar(255) NOT NULL DEFAULT '',
@ -23,15 +23,15 @@ if(!sql_query(" DESCRIBE {$g5['content_table']} ", false)) {
PRIMARY KEY (`co_id`) PRIMARY KEY (`co_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true); ) ENGINE=MyISAM DEFAULT CHARSET=utf8 ", true);
// 내용관리 생성 // 내용관리 생성
sql_query(" insert into `{$g5['content_table']}` set co_id = 'company', co_html = '1', co_subject = '회사소개', co_content= '<p align=center><b>회사소개에 대한 내용을 입력하십시오.</b></p>' ", false ); sql_query(" insert into `{$g5['content_table']}` set co_id = 'company', co_html = '1', co_subject = '회사소개', co_content= '<p align=center><b>회사소개에 대한 내용을 입력하십시오.</b></p>' ", false);
sql_query(" insert into `{$g5['content_table']}` set co_id = 'privacy', co_html = '1', co_subject = '개인정보 처리방침', co_content= '<p align=center><b>개인정보 처리방침에 대한 내용을 입력하십시오.</b></p>' ", false ); sql_query(" insert into `{$g5['content_table']}` set co_id = 'privacy', co_html = '1', co_subject = '개인정보 처리방침', co_content= '<p align=center><b>개인정보 처리방침에 대한 내용을 입력하십시오.</b></p>' ", false);
sql_query(" insert into `{$g5['content_table']}` set co_id = 'provision', co_html = '1', co_subject = '서비스 이용약관', co_content= '<p align=center><b>서비스 이용약관에 대한 내용을 입력하십시오.</b></p>' ", false ); sql_query(" insert into `{$g5['content_table']}` set co_id = 'provision', co_html = '1', co_subject = '서비스 이용약관', co_content= '<p align=center><b>서비스 이용약관에 대한 내용을 입력하십시오.</b></p>' ", false);
} }
} }
$g5['title'] = '내용관리'; $g5['title'] = '내용관리';
include_once (G5_ADMIN_PATH.'/admin.head.php'); include_once(G5_ADMIN_PATH . '/admin.head.php');
$sql_common = " from {$g5['content_table']} where co_subject != '' "; $sql_common = " from {$g5['content_table']} where co_subject != '' ";
@ -41,8 +41,10 @@ $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1) {
$page = 1;
} // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = "select * $sql_common order by co_id limit $from_record, {$config['cf_page_rows']} "; $sql = "select * $sql_common order by co_id limit $from_record, {$config['cf_page_rows']} ";
@ -50,56 +52,59 @@ $result = sql_query($sql);
?> ?>
<div class="local_ov01 local_ov"> <div class="local_ov01 local_ov">
<?php if ($page > 1) {?><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>">처음으로</a><?php } ?> <?php if ($page > 1) { ?><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>">처음으로</a><?php } ?>
<span>전체 내용 <?php echo $total_count; ?>건</span> <span>전체 내용 <?php echo $total_count; ?>건</span>
</div> </div>
<div class="btn_confirm"> <div class="btn_confirm">
<a href="./contentform.php" class="btn"><span class="material-icons">add</span></a> <a href="./contentform.php" class="btn"><span class="material-icons">add</span></a>
</div> </div>
<br /> <br />
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col" style="width:100px;">ID</th> <th scope="col" style="width:100px;">ID</th>
<th scope="col">제목</th> <th scope="col">제목</th>
<th scope="col" style="width:100px;">미리보기</th> <th scope="col" style="width:100px;">미리보기</th>
<th scope="col" style="width:100px;">관리</th> <th scope="col" style="width:100px;">관리</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php for ($i=0; $row=sql_fetch_array($result); $i++) { <?php for ($i = 0; $row = sql_fetch_array($result); $i++) {
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_id"><?php echo $row['co_id']; ?></td> <td class="td_id"><?php echo $row['co_id']; ?></td>
<td><?php echo htmlspecialchars2($row['co_subject']); ?></td> <td><?php echo htmlspecialchars2($row['co_subject']); ?></td>
<td> <td>
<a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $row['co_id']; ?>" target="_blank"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a> <a href="<?php echo G5_BBS_URL; ?>/content.php?co_id=<?php echo $row['co_id']; ?>" target="_blank"><span
</td> class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span> 보기</a>
<td class="td_mng"> </td>
<a href="./contentform.php?w=u&amp;co_id=<?php echo $row['co_id']; ?>"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>수정</a> <td class="td_mng">
&nbsp; <a href="./contentform.php?w=u&amp;co_id=<?php echo $row['co_id']; ?>"><span
<a href="./contentformupdate.php?w=d&amp;co_id=<?php echo $row['co_id']; ?>" onclick="return delete_confirm(this);"><span class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>삭제</a> class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>수정</a>
</td> &nbsp;
</tr> <a href="./contentformupdate.php?w=d&amp;co_id=<?php echo $row['co_id']; ?>"
<?php onclick="return delete_confirm(this);"><span
} class="sound_only"><?php echo htmlspecialchars2($row['co_subject']); ?> </span>삭제</a>
if ($i == 0) { </td>
echo '<tr><td colspan="4" class="empty_table">자료가 한건도 없습니다.</td></tr>'; </tr>
} <?php
?> }
</tbody> if ($i == 0) {
</table> echo '<tr><td colspan="4" class="empty_table">자료가 한건도 없습니다.</td></tr>';
}
?>
</tbody>
</table>
</div> </div>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&amp;page="); ?> <?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr&amp;page="); ?>
<?php <?php
include_once (G5_ADMIN_PATH.'/admin.tail.php'); include_once(G5_ADMIN_PATH . '/admin.tail.php');
?>

View file

@ -233,8 +233,8 @@ $editor_list = array();
</tr> </tr>
<tr> <tr>
<td> <td>
외부경로&nbsp;&nbsp; <input type="text" name="cs_value[<?= $css_index ?>]" value="<?= $de['logo']['cs_value'] ?>" 외부경로&nbsp;&nbsp; <input type="text" name="cs_value[<?= $css_index ?>]"
size="50" /> value="<?= $de['logo']['cs_value'] ?>" size="50" />
</td> </td>
</tr <?php $css_index++; ?>> </tr <?php $css_index++; ?>>
@ -295,9 +295,11 @@ $editor_list = array();
<option value="right top" <?= $de['background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽 상단 <option value="right top" <?= $de['background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽 상단
</option> </option>
<option value="right middle" <?= $de['background']['cs_etc_4'] == 'right middle' ? "selected" : "" ?>>오른쪽 중단 <option value="right middle" <?= $de['background']['cs_etc_4'] == 'right middle' ? "selected" : "" ?>>오른쪽
중단
</option> </option>
<option value="right bottom" <?= $de['background']['cs_etc_4'] == 'right bottom' ? "selected" : "" ?>>오른쪽 하단 <option value="right bottom" <?= $de['background']['cs_etc_4'] == 'right bottom' ? "selected" : "" ?>>오른쪽
하단
</option> </option>
</select> </select>
&nbsp;&nbsp; &nbsp;&nbsp;
@ -307,7 +309,8 @@ $editor_list = array();
<option value="">원본크기</option> <option value="">원본크기</option>
<option value="contain" <?= $de['background']['cs_etc_5'] == 'contain' ? "selected" : "" ?>>맞춤</option> <option value="contain" <?= $de['background']['cs_etc_5'] == 'contain' ? "selected" : "" ?>>맞춤</option>
<option value="cover" <?= $de['background']['cs_etc_5'] == 'cover' ? "selected" : "" ?>>꽉참</option> <option value="cover" <?= $de['background']['cs_etc_5'] == 'cover' ? "selected" : "" ?>>꽉참</option>
<option value="100% 100%" <?= $de['background']['cs_etc_5'] == '100% 100%' ? "selected" : "" ?>>늘이기</option> <option value="100% 100%" <?= $de['background']['cs_etc_5'] == '100% 100%' ? "selected" : "" ?>>늘이기
</option>
</select> </select>
&nbsp;&nbsp; &nbsp;&nbsp;
</td> </td>
@ -365,9 +368,11 @@ $editor_list = array();
<option value="center top" <?= $de['m_background']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간 상단 <option value="center top" <?= $de['m_background']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간 상단
</option> </option>
<option value="center middle" <?= $de['m_background']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>중간 <option value="center middle" <?= $de['m_background']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>
중간
중단</option> 중단</option>
<option value="center bottom" <?= $de['m_background']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>중간 <option value="center bottom" <?= $de['m_background']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>
중간
하단</option> 하단</option>
<option value="right top" <?= $de['m_background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽 상단 <option value="right top" <?= $de['m_background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽 상단
@ -498,10 +503,10 @@ $editor_list = array();
value="<?= $de['menu_icon']['cs_etc_1'] ?>" placeholder="0" title="투명도" style="width:45px;" />% value="<?= $de['menu_icon']['cs_etc_1'] ?>" placeholder="0" title="투명도" style="width:45px;" />%
&nbsp;&nbsp; &nbsp;&nbsp;
그라데이션&nbsp;&nbsp; 그라데이션&nbsp;&nbsp;
0% <input type="text" name="cs_etc_2[<?= $css_index ?>]" value="<?php echo $de['menu_icon']['cs_etc_2'] ?>" 0% <input type="text" name="cs_etc_2[<?= $css_index ?>]"
class="colorpicker" size="30" maxlength="255" placeholder="#색상코드" /><input type="number" value="<?php echo $de['menu_icon']['cs_etc_2'] ?>" class="colorpicker" size="30" maxlength="255"
name="cs_etc_3[<?= $css_index ?>]" value="<?= $de['menu_icon']['cs_etc_3'] ?>" placeholder="0" title="투명도" placeholder="#색상코드" /><input type="number" name="cs_etc_3[<?= $css_index ?>]"
style="width:45px;" />% value="<?= $de['menu_icon']['cs_etc_3'] ?>" placeholder="0" title="투명도" style="width:45px;" />%
~ ~
100% <input type="text" name="cs_etc_4[<?= $css_index ?>]" 100% <input type="text" name="cs_etc_4[<?= $css_index ?>]"
value="<?php echo $de['menu_icon']['cs_etc_4'] ?>" class="colorpicker" size="30" maxlength="255" value="<?php echo $de['menu_icon']['cs_etc_4'] ?>" class="colorpicker" size="30" maxlength="255"
@ -643,9 +648,11 @@ $editor_list = array();
배경위치&nbsp;&nbsp; 배경위치&nbsp;&nbsp;
<select name="cs_etc_4[<?= $css_index ?>]"> <select name="cs_etc_4[<?= $css_index ?>]">
<option value="">왼쪽 상단</option> <option value="">왼쪽 상단</option>
<option value="left middle" <?= $de['intro_background']['cs_etc_4'] == 'left middle' ? "selected" : "" ?>>왼쪽 <option value="left middle" <?= $de['intro_background']['cs_etc_4'] == 'left middle' ? "selected" : "" ?>>
왼쪽
중단</option> 중단</option>
<option value="left bottom" <?= $de['intro_background']['cs_etc_4'] == 'left bottom' ? "selected" : "" ?>>왼쪽 <option value="left bottom" <?= $de['intro_background']['cs_etc_4'] == 'left bottom' ? "selected" : "" ?>>
왼쪽
하단</option> 하단</option>
<option value="center top" <?= $de['intro_background']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간 <option value="center top" <?= $de['intro_background']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간
@ -653,7 +660,8 @@ $editor_list = array();
<option value="center middle" <?= $de['intro_background']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>중간 중단</option> <option value="center middle" <?= $de['intro_background']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>중간 중단</option>
<option value="center bottom" <?= $de['intro_background']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>중간 하단</option> <option value="center bottom" <?= $de['intro_background']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>중간 하단</option>
<option value="right top" <?= $de['intro_background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽 상단 <option value="right top" <?= $de['intro_background']['cs_etc_4'] == 'right top' ? "selected" : "" ?>>오른쪽
상단
</option> </option>
<option value="right middle" <?= $de['intro_background']['cs_etc_4'] == 'right middle' ? "selected" : "" ?>> <option value="right middle" <?= $de['intro_background']['cs_etc_4'] == 'right middle' ? "selected" : "" ?>>
오른쪽 중단</option> 오른쪽 중단</option>
@ -692,8 +700,8 @@ $editor_list = array();
</tr> </tr>
<tr> <tr>
<td> <td>
외부경로&nbsp;&nbsp; <input type="text" name="cs_value[<?= $css_index ?>]" value="<?= $de['intro']['cs_value'] ?>" 외부경로&nbsp;&nbsp; <input type="text" name="cs_value[<?= $css_index ?>]"
size="50" /> value="<?= $de['intro']['cs_value'] ?>" size="50" />
</td> </td>
</tr> </tr>
<tr> <tr>
@ -701,7 +709,8 @@ $editor_list = array();
안내문 내용 안내문 내용
</td> </td>
<td> <td>
<input type="text" name="cs_etc_1[<?= $css_index ?>]" value="<?= $de['intro']['cs_etc_1'] ?>" size="100" /> <input type="text" name="cs_etc_1[<?= $css_index ?>]" value="<?= $de['intro']['cs_etc_1'] ?>"
size="100" />
</td> </td>
</tr> </tr>
<tr> <tr>
@ -714,11 +723,11 @@ $editor_list = array();
placeholder="#색상코드" /><input type="number" name="cs_etc_3[<?= $css_index ?>]" placeholder="#색상코드" /><input type="number" name="cs_etc_3[<?= $css_index ?>]"
value="<?= $de['intro']['cs_etc_3'] ?>" placeholder="0" title="투명도" style="width:45px;" />% value="<?= $de['intro']['cs_etc_3'] ?>" placeholder="0" title="투명도" style="width:45px;" />%
&nbsp;&nbsp; &nbsp;&nbsp;
글자크기&nbsp;&nbsp; <input type="text" name="cs_etc_4[<?= $css_index ?>]" value="<?= $de['intro']['cs_etc_4'] ?>" 글자크기&nbsp;&nbsp; <input type="text" name="cs_etc_4[<?= $css_index ?>]"
size="5" /> px value="<?= $de['intro']['cs_etc_4'] ?>" size="5" /> px
&nbsp;&nbsp; &nbsp;&nbsp;
글자모양&nbsp;&nbsp; <input type="text" name="cs_etc_5[<?= $css_index ?>]" value="<?= $de['intro']['cs_etc_5'] ?>" 글자모양&nbsp;&nbsp; <input type="text" name="cs_etc_5[<?= $css_index ?>]"
size="30"> value="<?= $de['intro']['cs_etc_5'] ?>" size="30">
</td> </td>
</tr <?php $css_index++; ?>> </tr <?php $css_index++; ?>>
</tbody> </tbody>
@ -1060,14 +1069,14 @@ $editor_list = array();
좌측상단 <input type="text" name="cs_etc_9[<?= $css_index ?>]" value="<?= $de['board_notice']['cs_etc_9'] ?>" 좌측상단 <input type="text" name="cs_etc_9[<?= $css_index ?>]" value="<?= $de['board_notice']['cs_etc_9'] ?>"
size="3" /> px size="3" /> px
&nbsp;&nbsp; &nbsp;&nbsp;
우측상단 <input type="text" name="cs_etc_10[<?= $css_index ?>]" value="<?= $de['board_notice']['cs_etc_10'] ?>" 우측상단 <input type="text" name="cs_etc_10[<?= $css_index ?>]"
size="3" /> px value="<?= $de['board_notice']['cs_etc_10'] ?>" size="3" /> px
&nbsp;&nbsp; &nbsp;&nbsp;
우측하단 <input type="text" name="cs_etc_11[<?= $css_index ?>]" value="<?= $de['board_notice']['cs_etc_11'] ?>" 우측하단 <input type="text" name="cs_etc_11[<?= $css_index ?>]"
size="3" /> px value="<?= $de['board_notice']['cs_etc_11'] ?>" size="3" /> px
&nbsp;&nbsp; &nbsp;&nbsp;
좌측하단 <input type="text" name="cs_etc_12[<?= $css_index ?>]" value="<?= $de['board_notice']['cs_etc_12'] ?>" 좌측하단 <input type="text" name="cs_etc_12[<?= $css_index ?>]"
size="3" /> px value="<?= $de['board_notice']['cs_etc_12'] ?>" size="3" /> px
</td> </td>
</tr <?php $css_index++; ?>> </tr <?php $css_index++; ?>>
<tr> <tr>
@ -1480,7 +1489,8 @@ $editor_list = array();
<option value="left bottom" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'left bottom' ? "selected" : "" ?>>왼쪽 <option value="left bottom" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'left bottom' ? "selected" : "" ?>>왼쪽
하단</option> 하단</option>
<option value="center top" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간 상단 <option value="center top" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center top' ? "selected" : "" ?>>중간
상단
</option> </option>
<option value="center middle" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>중간 중단</option> <option value="center middle" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center middle' ? "selected" : "" ?>>중간 중단</option>
<option value="center bottom" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>중간 하단</option> <option value="center bottom" <?= $de['mmb_contain_bak']['cs_etc_4'] == 'center bottom' ? "selected" : "" ?>>중간 하단</option>
@ -1497,7 +1507,8 @@ $editor_list = array();
배경크기&nbsp;&nbsp; 배경크기&nbsp;&nbsp;
<select name="cs_etc_5[<?= $css_index ?>]"> <select name="cs_etc_5[<?= $css_index ?>]">
<option value="">원본크기</option> <option value="">원본크기</option>
<option value="contain" <?= $de['mmb_contain_bak']['cs_etc_5'] == 'contain' ? "selected" : "" ?>>맞춤</option> <option value="contain" <?= $de['mmb_contain_bak']['cs_etc_5'] == 'contain' ? "selected" : "" ?>>맞춤
</option>
<option value="cover" <?= $de['mmb_contain_bak']['cs_etc_5'] == 'cover' ? "selected" : "" ?>>꽉참</option> <option value="cover" <?= $de['mmb_contain_bak']['cs_etc_5'] == 'cover' ? "selected" : "" ?>>꽉참</option>
<option value="100% 100%" <?= $de['mmb_contain_bak']['cs_etc_5'] == '100% 100%' ? "selected" : "" ?>>늘이기 <option value="100% 100%" <?= $de['mmb_contain_bak']['cs_etc_5'] == '100% 100%' ? "selected" : "" ?>>늘이기
</option> </option>

View file

@ -124,7 +124,8 @@ if ($css['intro'][5])
@media all and (min-width: <?= ($tab_width + 1) ?>px) { @media all and (min-width: <?= ($tab_width + 1) ?>px) {
.admin-preview-box, .admin-preview-box,
html.single:before { <?php html.single:before {
<?php
if ($css['background'][0]) if ($css['background'][0])
echo "background-image:url('{$css['background'][0]}'); "; echo "background-image:url('{$css['background'][0]}'); ";
if ($css['background'][1]) if ($css['background'][1])
@ -140,7 +141,8 @@ if ($css['background'][5])
@media all and (max-width: <?= $tab_width ?>px) { @media all and (max-width: <?= $tab_width ?>px) {
.admin-preview-box, .admin-preview-box,
html.single:before { <?php html.single:before {
<?php
if ($css['m_background'][0]) if ($css['m_background'][0])
echo "background-image:url('{$css['m_background'][0]}'); "; echo "background-image:url('{$css['m_background'][0]}'); ";
if ($css['m_background'][1]) if ($css['m_background'][1])
@ -230,7 +232,8 @@ if ($css['menu_tooltip'][8])
echo "font-family:{$css['menu_tooltip'][9]}, sans-serif; "; ?>} echo "font-family:{$css['menu_tooltip'][9]}, sans-serif; "; ?>}
@media all and (min-width: <?= ($tab_width + 1) ?>px) { @media all and (min-width: <?= ($tab_width + 1) ?>px) {
#header { <?php #header {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo "top:0; bottom:0; left:20px; "; echo "top:0; bottom:0; left:20px; ";
@ -246,7 +249,8 @@ switch ($css['use_header'][0]) {
break; break;
} }
?>} ?>}
#header .gnbWrap { <?php #header .gnbWrap {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo "top:50%; left:0; transform:translateY(-50%); -webkit-transform:translateY(-50%); "; echo "top:50%; left:0; transform:translateY(-50%); -webkit-transform:translateY(-50%); ";
@ -262,7 +266,8 @@ switch ($css['use_header'][0]) {
break; break;
} }
?>} ?>}
#header .gnbWrap li { <?php #header .gnbWrap li {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo " "; echo " ";
@ -278,7 +283,8 @@ switch ($css['use_header'][0]) {
break; break;
} }
?>} ?>}
#header .gnbWrap li.line { <?php #header .gnbWrap li.line {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo "display:block; position:relative; height:.5em; "; echo "display:block; position:relative; height:.5em; ";
@ -294,7 +300,8 @@ switch ($css['use_header'][0]) {
break; break;
} }
?>} ?>}
#header .gnbWrap .tooltips { <?php #header .gnbWrap .tooltips {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo "margin-left:.5em; left:80%; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); "; echo "margin-left:.5em; left:80%; top:50%; transform:translateY(-50%); -webkit-transform:translateY(-50%); ";
@ -310,7 +317,8 @@ switch ($css['use_header'][0]) {
break; break;
} }
?>} ?>}
#header .gnbWrap a:hover .tooltips { <?php #header .gnbWrap a:hover .tooltips {
<?php
switch ($css['use_header'][0]) { switch ($css['use_header'][0]) {
case "": // 좌측 배치 case "": // 좌측 배치
echo "left:100%; "; echo "left:100%; ";
@ -327,13 +335,15 @@ switch ($css['use_header'][0]) {
} }
?>} ?>}
#header .gnbWrap .icons { <?php #header .gnbWrap .icons {
<?php
if ($css['menu_icon'][10]) if ($css['menu_icon'][10])
echo "color:" . hex2rgba($css['menu_icon'][10], $css['menu_icon'][11]) . "; "; echo "color:" . hex2rgba($css['menu_icon'][10], $css['menu_icon'][11]) . "; ";
if ($css['menu_icon'][13] == 'diamond') if ($css['menu_icon'][13] == 'diamond')
echo "height:3.3em; "; echo "height:3.3em; ";
?>} ?>}
#header .gnbWrap .icons:before { <?php #header .gnbWrap .icons:before {
<?php
switch ($css['menu_icon'][13]) { switch ($css['menu_icon'][13]) {
case "diamond": case "diamond":
echo "top:50%; left:50%; right:auto; bottom:auto; width:2.1em; height:2.1em; margin:-1.05em 0 0 -1.05em; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); "; echo "top:50%; left:50%; right:auto; bottom:auto; width:2.1em; height:2.1em; margin:-1.05em 0 0 -1.05em; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); ";
@ -356,7 +366,8 @@ if ($css['menu_icon'][8])
if ($css['menu_icon'][9]) if ($css['menu_icon'][9])
echo "border-width:{$css['menu_icon'][9]}px; "; echo "border-width:{$css['menu_icon'][9]}px; ";
?>} ?>}
#header .gnbWrap .tooltips { <?php #header .gnbWrap .tooltips {
<?php
if ($css['menu_tooltip'][0]) if ($css['menu_tooltip'][0])
echo "background-color:" . hex2rgba($css['menu_tooltip'][0], $css['menu_tooltip'][1]) . "; "; echo "background-color:" . hex2rgba($css['menu_tooltip'][0], $css['menu_tooltip'][1]) . "; ";
if ($css['menu_tooltip'][2]) if ($css['menu_tooltip'][2])
@ -374,21 +385,25 @@ if ($css['menu_tooltip'][8])
?>} ?>}
} }
@media all and (max-width: <?= $tab_width ?>px) { @media all and (max-width: <?= $tab_width ?>px) {
#mo_header { <?php #mo_header {
<?php
if ($css['menu_tooltip'][0]) if ($css['menu_tooltip'][0])
echo "background-color:" . hex2rgba($css['menu_tooltip'][0], $css['menu_tooltip'][1]) . "; "; echo "background-color:" . hex2rgba($css['menu_tooltip'][0], $css['menu_tooltip'][1]) . "; ";
if ($css['menu_tooltip'][2]) if ($css['menu_tooltip'][2])
echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; "; echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; ";
?>} ?>}
#mo_header .gnbWrap a { <?php #mo_header .gnbWrap a {
<?php
if ($css['menu_tooltip'][2]) if ($css['menu_tooltip'][2])
echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; "; echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; ";
?>} ?>}
#mo_header .gnbWrap li.line { <?php #mo_header .gnbWrap li.line {
<?php
if ($css['menu_tooltip'][2]) if ($css['menu_tooltip'][2])
echo "background-color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; "; echo "background-color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; ";
?>} ?>}
body.open-gnb .control-mobile-menu { <?php body.open-gnb .control-mobile-menu {
<?php
if ($css['menu_tooltip'][2]) if ($css['menu_tooltip'][2])
echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; "; echo "color:" . hex2rgba($css['menu_tooltip'][2], $css['menu_tooltip'][3]) . "; ";
?>} ?>}

View file

@ -28,7 +28,8 @@ include_once('./_common.php');
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
<link media="all" type="text/css" rel="stylesheet" <link media="all" type="text/css" rel="stylesheet"
href="<?= G5_CSS_URL ?>/default.css?v=<?= $config['cf_css_version'] ?>"> href="<?= G5_CSS_URL ?>/default.css?v=<?= $config['cf_css_version'] ?>">
<link media="all" type="text/css" rel="stylesheet" href="<?= G5_CSS_URL ?>/style.css?v=<?= $config['cf_css_version'] ?>"> <link media="all" type="text/css" rel="stylesheet"
href="<?= G5_CSS_URL ?>/style.css?v=<?= $config['cf_css_version'] ?>">
<link media="all" type="text/css" rel="stylesheet" <link media="all" type="text/css" rel="stylesheet"
href="<?= G5_URL ?>/adm/css/guide.css?v=<?= $config['cf_css_version'] ?>"> href="<?= G5_URL ?>/adm/css/guide.css?v=<?= $config['cf_css_version'] ?>">
<link media="all" type="text/css" rel="stylesheet" <link media="all" type="text/css" rel="stylesheet"

View file

@ -1,62 +1,64 @@
<?php <?php
// 이 파일은 새로운 파일 생성시 반드시 포함되어야 함 // 이 파일은 새로운 파일 생성시 반드시 포함되어야 함
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
exit; // 개별 페이지 접근 불가
check_site_auth($is_member); check_site_auth($is_member);
$begin_time = get_microtime(); $begin_time = get_microtime();
if (!isset($g5['title'])) { if (!isset($g5['title'])) {
$g5['title'] = $config['cf_title']; $g5['title'] = $config['cf_title'];
$g5_head_title = $g5['title']; $g5_head_title = $g5['title'];
} } else {
else { $g5_head_title = $g5['title']; // 상태바에 표시될 제목
$g5_head_title = $g5['title']; // 상태바에 표시될 제목 $g5_head_title .= " | " . $config['cf_title'];
$g5_head_title .= " | ".$config['cf_title'];
} }
?> ?>
<!doctype html> <!doctype html>
<html lang="ko"> <html lang="ko">
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="mobile-web-app-capable" content="yes"> <meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-capable" content="yes">
<meta http-equiv="imagetoolbar" content="no"> <meta http-equiv="imagetoolbar" content="no">
<meta http-equiv="X-UA-Compatible" content="IE=Edge"> <meta http-equiv="X-UA-Compatible" content="IE=Edge">
<?php <?php
if($config['cf_add_meta']) if ($config['cf_add_meta'])
echo $config['cf_add_meta'].PHP_EOL; echo $config['cf_add_meta'] . PHP_EOL;
?> ?>
<title><?php echo $g5_head_title; ?></title> <title><?php echo $g5_head_title; ?></title>
<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css" type="text/css"> <link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.css" type="text/css">
<link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.layout.css" type="text/css"> <link rel="stylesheet" href="'.G5_ADMIN_URL.'/css/admin.layout.css" type="text/css">
<!--[if lte IE 8]> <!--[if lte IE 8]>
<script src="<?php echo G5_JS_URL ?>/html5.js"></script> <script src="<?php echo G5_JS_URL ?>/html5.js"></script>
<![endif]--> <![endif]-->
<script> <script>
// 자바스크립트에서 사용하는 전역변수 선언 // 자바스크립트에서 사용하는 전역변수 선언
var g5_url = "<?php echo G5_URL ?>"; var g5_url = "<?php echo G5_URL ?>";
var g5_bbs_url = "<?php echo G5_BBS_URL ?>"; var g5_bbs_url = "<?php echo G5_BBS_URL ?>";
var g5_is_member = "<?php echo isset($is_member)?$is_member:''; ?>"; 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_admin = "<?php echo isset($is_admin) ? $is_admin : ''; ?>";
var g5_is_mobile = "<?php echo G5_IS_MOBILE ?>"; var g5_is_mobile = "<?php echo G5_IS_MOBILE ?>";
var g5_bo_table = "<?php echo isset($bo_table)?$bo_table:''; ?>"; var g5_bo_table = "<?php echo isset($bo_table) ? $bo_table : ''; ?>";
var g5_sca = "<?php echo isset($sca)?$sca:''; ?>"; 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_editor = "<?php echo ($config['cf_editor'] && $board['bo_use_dhtml_editor']) ? $config['cf_editor'] : ''; ?>";
var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>"; var g5_cookie_domain = "<?php echo G5_COOKIE_DOMAIN ?>";
<?php if(defined('G5_IS_ADMIN')) { ?> <?php if (defined('G5_IS_ADMIN')) { ?>
var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>"; var g5_admin_url = "<?php echo G5_ADMIN_URL; ?>";
<?php } ?> <?php } ?>
</script> </script>
<script src="<?php echo G5_JS_URL ?>/jquery-1.8.3.min.js"></script> <script src="<?php echo G5_JS_URL ?>/jquery-1.8.3.min.js"></script>
<script src="<?php echo G5_JS_URL ?>/jquery.cookie.js"></script> <script src="<?php echo G5_JS_URL ?>/jquery.cookie.js"></script>
<script src="<?php echo G5_JS_URL ?>/common.js"></script> <script src="<?php echo G5_JS_URL ?>/common.js"></script>
<script src="<?php echo G5_JS_URL ?>/wrest.js?ver=<?php echo G5_JS_VER; ?>"></script> <script src="<?php echo G5_JS_URL ?>/wrest.js?ver=<?php echo G5_JS_VER; ?>"></script>
<?php <?php
if(!defined('G5_IS_ADMIN')) if (!defined('G5_IS_ADMIN'))
echo $config['cf_add_script']; echo $config['cf_add_script'];
?> ?>
</head> </head>
<body> <body>

View file

@ -2,8 +2,5 @@
include_once('./_common.php'); include_once('./_common.php');
goto_url('./site_config_form.php'); goto_url('./site_config_form.php');
?>
<?php include_once('./admin.tail.php');
include_once ('./admin.tail.php');
?>

View file

@ -9,13 +9,13 @@ auth_check($auth[$sub_menu], "d");
$mb = get_member($_POST['mb_id']); $mb = get_member($_POST['mb_id']);
if (!$mb['mb_id']) if (!$mb['mb_id'])
alert("회원자료가 존재하지 않습니다."); alert("회원자료가 존재하지 않습니다.");
else if ($member['mb_id'] == $mb['mb_id']) else if ($member['mb_id'] == $mb['mb_id'])
alert("로그인 중인 관리자는 삭제 할 수 없습니다."); alert("로그인 중인 관리자는 삭제 할 수 없습니다.");
else if (is_admin($mb['mb_id']) == "super") else if (is_admin($mb['mb_id']) == "super")
alert("최고 관리자는 삭제할 수 없습니다."); alert("최고 관리자는 삭제할 수 없습니다.");
else if ($mb['mb_level'] >= $member['mb_level']) else if ($mb['mb_level'] >= $member['mb_level'])
alert("자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다."); alert("자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.");
check_admin_token(); check_admin_token();
@ -23,7 +23,6 @@ check_admin_token();
member_delete($mb['mb_id']); member_delete($mb['mb_id']);
if ($url) if ($url)
goto_url("{$url}?$qstr&amp;w=u&amp;mb_id=$mb_id"); goto_url("{$url}?$qstr&amp;w=u&amp;mb_id=$mb_id");
else else
goto_url("./member_list.php?$qstr"); goto_url("./member_list.php?$qstr");
?>

View file

@ -4,278 +4,288 @@ include_once('./_common.php');
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if ($w == '') if ($w == '') {
{ $required_mb_id = 'required';
$required_mb_id = 'required'; $required_mb_id_class = 'required alnum_';
$required_mb_id_class = 'required alnum_'; $required_mb_password = 'required';
$required_mb_password = 'required'; $sound_only = '<strong class="sound_only">필수</strong>';
$sound_only = '<strong class="sound_only">필수</strong>';
$mb['mb_mailling'] = 1; $mb['mb_mailling'] = 1;
$mb['mb_open'] = 1; $mb['mb_open'] = 1;
$mb['mb_level'] = $config['cf_register_level']; $mb['mb_level'] = $config['cf_register_level'];
$html_title = '추가'; $html_title = '추가';
} } else if ($w == 'u') {
else if ($w == 'u') $mb = get_member($mb_id);
{ if (!$mb['mb_id'])
$mb = get_member($mb_id); alert('존재하지 않는 회원자료입니다.');
if (!$mb['mb_id'])
alert('존재하지 않는 회원자료입니다.');
if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.'); alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
$required_mb_id = 'readonly'; $required_mb_id = 'readonly';
$required_mb_password = ''; $required_mb_password = '';
$html_title = '수정'; $html_title = '수정';
$mb['mb_name'] = get_text($mb['mb_name']); $mb['mb_name'] = get_text($mb['mb_name']);
$mb['mb_nick'] = get_text($mb['mb_nick']); $mb['mb_nick'] = get_text($mb['mb_nick']);
$mb['mb_email'] = get_text($mb['mb_email']); $mb['mb_email'] = get_text($mb['mb_email']);
$mb['mb_homepage'] = get_text($mb['mb_homepage']); $mb['mb_homepage'] = get_text($mb['mb_homepage']);
$mb['mb_birth'] = get_text($mb['mb_birth']); $mb['mb_birth'] = get_text($mb['mb_birth']);
$mb['mb_tel'] = get_text($mb['mb_tel']); $mb['mb_tel'] = get_text($mb['mb_tel']);
$mb['mb_hp'] = get_text($mb['mb_hp']); $mb['mb_hp'] = get_text($mb['mb_hp']);
$mb['mb_addr1'] = get_text($mb['mb_addr1']); $mb['mb_addr1'] = get_text($mb['mb_addr1']);
$mb['mb_addr2'] = get_text($mb['mb_addr2']); $mb['mb_addr2'] = get_text($mb['mb_addr2']);
$mb['mb_addr3'] = get_text($mb['mb_addr3']); $mb['mb_addr3'] = get_text($mb['mb_addr3']);
$mb['mb_signature'] = get_text($mb['mb_signature']); $mb['mb_signature'] = get_text($mb['mb_signature']);
$mb['mb_recommend'] = get_text($mb['mb_recommend']); $mb['mb_recommend'] = get_text($mb['mb_recommend']);
$mb['mb_profile'] = get_text($mb['mb_profile']); $mb['mb_profile'] = get_text($mb['mb_profile']);
$mb['mb_1'] = get_text($mb['mb_1']); $mb['mb_1'] = get_text($mb['mb_1']);
$mb['mb_2'] = get_text($mb['mb_2']); $mb['mb_2'] = get_text($mb['mb_2']);
$mb['mb_3'] = get_text($mb['mb_3']); $mb['mb_3'] = get_text($mb['mb_3']);
$mb['mb_4'] = get_text($mb['mb_4']); $mb['mb_4'] = get_text($mb['mb_4']);
$mb['mb_5'] = get_text($mb['mb_5']); $mb['mb_5'] = get_text($mb['mb_5']);
$mb['mb_6'] = get_text($mb['mb_6']); $mb['mb_6'] = get_text($mb['mb_6']);
$mb['mb_7'] = get_text($mb['mb_7']); $mb['mb_7'] = get_text($mb['mb_7']);
$mb['mb_8'] = get_text($mb['mb_8']); $mb['mb_8'] = get_text($mb['mb_8']);
$mb['mb_9'] = get_text($mb['mb_9']); $mb['mb_9'] = get_text($mb['mb_9']);
$mb['mb_10'] = get_text($mb['mb_10']); $mb['mb_10'] = get_text($mb['mb_10']);
} } else
else alert('제대로 된 값이 넘어오지 않았습니다.');
alert('제대로 된 값이 넘어오지 않았습니다.');
// 본인확인방법 // 본인확인방법
switch($mb['mb_certify']) { switch ($mb['mb_certify']) {
case 'hp': case 'hp':
$mb_certify_case = '휴대폰'; $mb_certify_case = '휴대폰';
$mb_certify_val = 'hp'; $mb_certify_val = 'hp';
break; break;
case 'ipin': case 'ipin':
$mb_certify_case = '아이핀'; $mb_certify_case = '아이핀';
$mb_certify_val = 'ipin'; $mb_certify_val = 'ipin';
break; break;
case 'admin': case 'admin':
$mb_certify_case = '관리자 수정'; $mb_certify_case = '관리자 수정';
$mb_certify_val = 'admin'; $mb_certify_val = 'admin';
break; break;
default: default:
$mb_certify_case = ''; $mb_certify_case = '';
$mb_certify_val = 'admin'; $mb_certify_val = 'admin';
break; break;
} }
// 본인확인 // 본인확인
$mb_certify_yes = $mb['mb_certify'] ? 'checked="checked"' : ''; $mb_certify_yes = $mb['mb_certify'] ? 'checked="checked"' : '';
$mb_certify_no = !$mb['mb_certify'] ? 'checked="checked"' : ''; $mb_certify_no = !$mb['mb_certify'] ? 'checked="checked"' : '';
// 성인인증 // 성인인증
$mb_adult_yes = $mb['mb_adult'] ? 'checked="checked"' : ''; $mb_adult_yes = $mb['mb_adult'] ? 'checked="checked"' : '';
$mb_adult_no = !$mb['mb_adult'] ? 'checked="checked"' : ''; $mb_adult_no = !$mb['mb_adult'] ? 'checked="checked"' : '';
//메일수신 //메일수신
$mb_mailling_yes = $mb['mb_mailling'] ? 'checked="checked"' : ''; $mb_mailling_yes = $mb['mb_mailling'] ? 'checked="checked"' : '';
$mb_mailling_no = !$mb['mb_mailling'] ? 'checked="checked"' : ''; $mb_mailling_no = !$mb['mb_mailling'] ? 'checked="checked"' : '';
// SMS 수신 // SMS 수신
$mb_sms_yes = $mb['mb_sms'] ? 'checked="checked"' : ''; $mb_sms_yes = $mb['mb_sms'] ? 'checked="checked"' : '';
$mb_sms_no = !$mb['mb_sms'] ? 'checked="checked"' : ''; $mb_sms_no = !$mb['mb_sms'] ? 'checked="checked"' : '';
// 정보 공개 // 정보 공개
$mb_open_yes = $mb['mb_open'] ? 'checked="checked"' : ''; $mb_open_yes = $mb['mb_open'] ? 'checked="checked"' : '';
$mb_open_no = !$mb['mb_open'] ? 'checked="checked"' : ''; $mb_open_no = !$mb['mb_open'] ? 'checked="checked"' : '';
if (isset($mb['mb_certify'])) { if (isset($mb['mb_certify'])) {
// 날짜시간형이라면 drop 시킴 // 날짜시간형이라면 drop 시킴
if (preg_match("/-/", $mb['mb_certify'])) { if (preg_match("/-/", $mb['mb_certify'])) {
sql_query(" ALTER TABLE `{$g5['member_table']}` DROP `mb_certify` ", false); sql_query(" ALTER TABLE `{$g5['member_table']}` DROP `mb_certify` ", false);
} }
} else { } else {
sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_certify` TINYINT(4) NOT NULL DEFAULT '0' AFTER `mb_hp` ", false); sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_certify` TINYINT(4) NOT NULL DEFAULT '0' AFTER `mb_hp` ", false);
} }
if(isset($mb['mb_adult'])) { if (isset($mb['mb_adult'])) {
sql_query(" ALTER TABLE `{$g5['member_table']}` CHANGE `mb_adult` `mb_adult` TINYINT(4) NOT NULL DEFAULT '0' ", false); sql_query(" ALTER TABLE `{$g5['member_table']}` CHANGE `mb_adult` `mb_adult` TINYINT(4) NOT NULL DEFAULT '0' ", false);
} else { } else {
sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_adult` TINYINT NOT NULL DEFAULT '0' AFTER `mb_certify` ", false); sql_query(" ALTER TABLE `{$g5['member_table']}` ADD `mb_adult` TINYINT NOT NULL DEFAULT '0' AFTER `mb_certify` ", false);
} }
// 지번주소 필드추가 // 지번주소 필드추가
if(!isset($mb['mb_addr_jibeon'])) { if (!isset($mb['mb_addr_jibeon'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr_jibeon` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false); sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr_jibeon` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false);
} }
// 건물명필드추가 // 건물명필드추가
if(!isset($mb['mb_addr3'])) { if (!isset($mb['mb_addr3'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false); sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_addr3` varchar(255) NOT NULL DEFAULT '' AFTER `mb_addr2` ", false);
} }
// 중복가입 확인필드 추가 // 중복가입 확인필드 추가
if(!isset($mb['mb_dupinfo'])) { if (!isset($mb['mb_dupinfo'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_dupinfo` varchar(255) NOT NULL DEFAULT '' AFTER `mb_adult` ", false); sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_dupinfo` varchar(255) NOT NULL DEFAULT '' AFTER `mb_adult` ", false);
} }
// 이메일인증 체크 필드추가 // 이메일인증 체크 필드추가
if(!isset($mb['mb_email_certify2'])) { if (!isset($mb['mb_email_certify2'])) {
sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_email_certify2` varchar(255) NOT NULL DEFAULT '' AFTER `mb_email_certify` ", false); sql_query(" ALTER TABLE {$g5['member_table']} ADD `mb_email_certify2` varchar(255) NOT NULL DEFAULT '' AFTER `mb_email_certify` ", false);
} }
if ($mb['mb_intercept_date']) $g5['title'] = "차단된 "; if ($mb['mb_intercept_date'])
else $g5['title'] .= ""; $g5['title'] = "차단된 ";
$g5['title'] .= '회원 '.$html_title; else
$g5['title'] .= "";
$g5['title'] .= '회원 ' . $html_title;
include_once('./admin.head.php'); include_once('./admin.head.php');
// add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨 // add_javascript('js 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨
add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js add_javascript(G5_POSTCODE_JS, 0); //다음 주소 js
?> ?>
<form name="fmember" id="fmember" action="./member_form_update.php" onsubmit="return fmember_submit(this);" method="post" enctype="multipart/form-data"> <form name="fmember" id="fmember" action="./member_form_update.php" onsubmit="return fmember_submit(this);"
<input type="hidden" name="w" value="<?php echo $w ?>"> method="post" enctype="multipart/form-data">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="w" value="<?php echo $w ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="sst" value="<?php echo $sst ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="token" value=""> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="token" value="">
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?></caption> <caption><?php echo $g5['title']; ?></caption>
<colgroup> <colgroup>
<col class="grid_4"> <col class="grid_4">
<col> <col>
<col class="grid_4"> <col class="grid_4">
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="mb_id">아이디<?php echo $sound_only ?></label></th> <th scope="row"><label for="mb_id">아이디<?php echo $sound_only ?></label></th>
<td> <td>
<input type="text" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id" <?php echo $required_mb_id ?> class="frm_input <?php echo $required_mb_id_class ?>" size="15" minlength="3" maxlength="20"> <input type="text" name="mb_id" value="<?php echo $mb['mb_id'] ?>" id="mb_id" <?php echo $required_mb_id ?>
<?php if ($w=='u'){ ?><a href="./boardgroupmember_form.php?mb_id=<?php echo $mb['mb_id'] ?>">접근가능그룹보기</a><?php } ?> class="frm_input <?php echo $required_mb_id_class ?>" size="15" minlength="3" maxlength="20">
</td> <?php if ($w == 'u') { ?><a
<th scope="row"><label for="mb_password">비밀번호<?php echo $sound_only ?></label></th> href="./boardgroupmember_form.php?mb_id=<?php echo $mb['mb_id'] ?>">접근가능그룹보기</a><?php } ?>
<td><input type="password" name="mb_password" id="mb_password" <?php echo $required_mb_password ?> class="frm_input <?php echo $required_mb_password ?>" size="15" maxlength="20"></td> </td>
</tr> <th scope="row"><label for="mb_password">비밀번호<?php echo $sound_only ?></label></th>
<tr> <td><input type="password" name="mb_password" id="mb_password" <?php echo $required_mb_password ?>
<th scope="row"><label for="mb_name">닉네임<strong class="sound_only">필수</strong></label></th> class="frm_input <?php echo $required_mb_password ?>" size="15" maxlength="20"></td>
<td><input type="text" name="mb_name" value="<?php echo $mb['mb_name'] ?>" id="mb_name" required class="required frm_input" size="15" minlength="2" maxlength="20"></td> </tr>
<th scope="row"><label for="mb_level">회원 권한</label></th> <tr>
<td><?php echo get_member_level_select('mb_level', 1, $member['mb_level'], $mb['mb_level']) ?></td> <th scope="row"><label for="mb_name">닉네임<strong class="sound_only">필수</strong></label></th>
</tr> <td><input type="text" name="mb_name" value="<?php echo $mb['mb_name'] ?>" id="mb_name" required
<tr> class="required frm_input" size="15" minlength="2" maxlength="20"></td>
<th scope="row"><label for="mb_email">E-mail<strong class="sound_only">필수</strong></label></th> <th scope="row"><label for="mb_level">회원 권한</label></th>
<td><input type="text" name="mb_email" value="<?php echo $mb['mb_email'] ?>" id="mb_email" maxlength="100" required class="required frm_input email" size="30"></td> <td><?php echo get_member_level_select('mb_level', 1, $member['mb_level'], $mb['mb_level']) ?></td>
<th scope="row"><label for="mb_birth">생년<strong class="sound_only">필수</strong></label></th> </tr>
<td><input type="text" name="mb_birth" value="<?php echo $mb['mb_birth'] ?>" id="mb_birth" maxlength="100" class="frm_input" size="5"></td> <tr>
</tr> <th scope="row"><label for="mb_email">E-mail<strong class="sound_only">필수</strong></label></th>
<tr> <td><input type="text" name="mb_email" value="<?php echo $mb['mb_email'] ?>" id="mb_email" maxlength="100"
<th scope="row"><label for="mb_open">정보 공개</label></th> required class="required frm_input email" size="30"></td>
<td colspan="3"> <th scope="row"><label for="mb_birth">생년<strong class="sound_only">필수</strong></label></th>
<input type="radio" name="mb_open" value="1" id="mb_open_yes" <?php echo $mb_open_yes; ?>> <td><input type="text" name="mb_birth" value="<?php echo $mb['mb_birth'] ?>" id="mb_birth" maxlength="100"
<label for="mb_open_yes"></label> class="frm_input" size="5"></td>
<input type="radio" name="mb_open" value="0" id="mb_open_no" <?php echo $mb_open_no; ?>> </tr>
<label for="mb_open_no">아니오</label> <tr>
</td> <th scope="row"><label for="mb_open">정보 공개</label></th>
</tr> <td colspan="3">
<tr> <input type="radio" name="mb_open" value="1" id="mb_open_yes" <?php echo $mb_open_yes; ?>>
<th scope="row"><label for="mb_memo">메모</label></th> <label for="mb_open_yes"></label>
<td colspan="3"><textarea name="mb_memo" id="mb_memo"><?php echo $mb['mb_memo'] ?></textarea></td> <input type="radio" name="mb_open" value="0" id="mb_open_no" <?php echo $mb_open_no; ?>>
</tr> <label for="mb_open_no">아니오</label>
</td>
</tr>
<tr>
<th scope="row"><label for="mb_memo">메모</label></th>
<td colspan="3"><textarea name="mb_memo" id="mb_memo"><?php echo $mb['mb_memo'] ?></textarea></td>
</tr>
<?php if ($w == 'u') { ?> <?php if ($w == 'u') { ?>
<tr> <tr>
<th scope="row">회원가입일</th> <th scope="row">회원가입일</th>
<td><?php echo $mb['mb_datetime'] ?></td> <td><?php echo $mb['mb_datetime'] ?></td>
<th scope="row">최근접속일</th> <th scope="row">최근접속일</th>
<td><?php echo $mb['mb_today_login'] ?></td> <td><?php echo $mb['mb_today_login'] ?></td>
</tr> </tr>
<tr> <tr>
<th scope="row">IP</th> <th scope="row">IP</th>
<td colspan="3"><?php echo $mb['mb_ip'] ?></td> <td colspan="3"><?php echo $mb['mb_ip'] ?></td>
</tr> </tr>
<?php if ($config['cf_use_email_certify']) { ?> <?php if ($config['cf_use_email_certify']) { ?>
<tr> <tr>
<th scope="row">인증일시</th> <th scope="row">인증일시</th>
<td colspan="3"> <td colspan="3">
<?php if ($mb['mb_email_certify'] == '0000-00-00 00:00:00') { ?> <?php if ($mb['mb_email_certify'] == '0000-00-00 00:00:00') { ?>
<?php echo help('회원님이 메일을 수신할 수 없는 경우 등에 직접 인증처리를 하실 수 있습니다.') ?> <?php echo help('회원님이 메일을 수신할 수 없는 경우 등에 직접 인증처리를 하실 수 있습니다.') ?>
<input type="checkbox" name="passive_certify" id="passive_certify"> <input type="checkbox" name="passive_certify" id="passive_certify">
<label for="passive_certify">수동인증</label> <label for="passive_certify">수동인증</label>
<?php } else { ?> <?php } else { ?>
<?php echo $mb['mb_email_certify'] ?> <?php echo $mb['mb_email_certify'] ?>
<?php } ?> <?php } ?>
</td> </td>
</tr> </tr>
<?php } ?> <?php } ?>
<?php } ?> <?php } ?>
<?php if ($config['cf_use_recommend']) { // 추천인 사용 ?> <?php if ($config['cf_use_recommend']) { // 추천인 사용 ?>
<tr> <tr>
<th scope="row">추천인</th> <th scope="row">추천인</th>
<td colspan="3"><?php echo ($mb['mb_recommend'] ? get_text($mb['mb_recommend']) : '없음'); // 081022 : CSRF 보안 결함으로 인한 코드 수정 ?></td> <td colspan="3">
</tr> <?php echo ($mb['mb_recommend'] ? get_text($mb['mb_recommend']) : '없음'); // 081022 : CSRF 보안 결함으로 인한 코드 수정 ?>
<?php } ?> </td>
</tr>
<?php } ?>
<tr> <tr>
<th scope="row"><label for="mb_leave_date">탈퇴일자</label></th> <th scope="row"><label for="mb_leave_date">탈퇴일자</label></th>
<td> <td>
<input type="text" name="mb_leave_date" value="<?php echo $mb['mb_leave_date'] ?>" id="mb_leave_date" class="frm_input" maxlength="8"> <input type="text" name="mb_leave_date" value="<?php echo $mb['mb_leave_date'] ?>" id="mb_leave_date"
<input type="checkbox" value="<?php echo date("Ymd"); ?>" id="mb_leave_date_set_today" onclick="if (this.form.mb_leave_date.value==this.form.mb_leave_date.defaultValue) { class="frm_input" maxlength="8">
<input type="checkbox" value="<?php echo date("Ymd"); ?>" id="mb_leave_date_set_today"
onclick="if (this.form.mb_leave_date.value==this.form.mb_leave_date.defaultValue) {
this.form.mb_leave_date.value=this.value; } else { this.form.mb_leave_date.value=this.form.mb_leave_date.defaultValue; }"> this.form.mb_leave_date.value=this.value; } else { this.form.mb_leave_date.value=this.form.mb_leave_date.defaultValue; }">
<label for="mb_leave_date_set_today">탈퇴일을 오늘로 지정</label> <label for="mb_leave_date_set_today">탈퇴일을 오늘로 지정</label>
</td> </td>
<th scope="row">접근차단일자</th> <th scope="row">접근차단일자</th>
<td> <td>
<input type="text" name="mb_intercept_date" value="<?php echo $mb['mb_intercept_date'] ?>" id="mb_intercept_date" class="frm_input" maxlength="8"> <input type="text" name="mb_intercept_date" value="<?php echo $mb['mb_intercept_date'] ?>"
<input type="checkbox" value="<?php echo date("Ymd"); ?>" id="mb_intercept_date_set_today" onclick="if id="mb_intercept_date" class="frm_input" maxlength="8">
<input type="checkbox" value="<?php echo date("Ymd"); ?>" id="mb_intercept_date_set_today" onclick="if
(this.form.mb_intercept_date.value==this.form.mb_intercept_date.defaultValue) { this.form.mb_intercept_date.value=this.value; } else { (this.form.mb_intercept_date.value==this.form.mb_intercept_date.defaultValue) { this.form.mb_intercept_date.value=this.value; } else {
this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }"> this.form.mb_intercept_date.value=this.form.mb_intercept_date.defaultValue; }">
<label for="mb_intercept_date_set_today">접근차단일을 오늘로 지정</label> <label for="mb_intercept_date_set_today">접근차단일을 오늘로 지정</label>
</td> </td>
</tr> </tr>
<?php for ($i=1; $i<=10; $i++) { ?> <?php for ($i = 1; $i <= 10; $i++) { ?>
<tr style="display: none;"> <tr style="display: none;">
<th scope="row"><label for="mb_<?php echo $i ?>">여분 필드 <?php echo $i ?></label></th> <th scope="row"><label for="mb_<?php echo $i ?>">여분 필드 <?php echo $i ?></label></th>
<td colspan="3"><input type="text" name="mb_<?php echo $i ?>" value="<?php echo $mb['mb_'.$i] ?>" id="mb_<?php echo $i ?>" class="frm_input" size="30" maxlength="255"></td> <td colspan="3"><input type="text" name="mb_<?php echo $i ?>" value="<?php echo $mb['mb_' . $i] ?>"
</tr> id="mb_<?php echo $i ?>" class="frm_input" size="30" maxlength="255"></td>
<?php } ?> </tr>
<?php } ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_confirm01 btn_confirm"> <div class="btn_confirm01 btn_confirm">
<a href="./member_list.php?<?php echo $qstr ?>" class="btn ty2"><span class="material-icons">list</span></a> <a href="./member_list.php?<?php echo $qstr ?>" class="btn ty2"><span class="material-icons">list</span></a>
<div class="btn"> <div class="btn">
<span class="material-icons">save</span> <span class="material-icons">save</span>
<input type="submit" value="확인" class="btn_submit" accesskey='s'> <input type="submit" value="확인" class="btn_submit" accesskey='s'>
</div> </div>
</div> </div>
</form> </form>
<script> <script>
function fmember_submit(f) function fmember_submit(f) {
{ if (!f.mb_icon.value.match(/\.gif$/i) && f.mb_icon.value) {
if (!f.mb_icon.value.match(/\.gif$/i) && f.mb_icon.value) { alert('아이콘은 gif 파일만 가능합니다.');
alert('아이콘은 gif 파일만 가능합니다.'); return false;
return false; }
}
return true; return true;
} }
</script> </script>
<?php <?php

View file

@ -1,10 +1,10 @@
<?php <?php
$sub_menu = "200100"; $sub_menu = "200100";
include_once("./_common.php"); include_once("./_common.php");
include_once(G5_LIB_PATH."/register.lib.php"); include_once(G5_LIB_PATH . "/register.lib.php");
if ($w == 'u') if ($w == 'u')
check_demo(); check_demo();
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
@ -14,19 +14,19 @@ $mb_id = trim($_POST['mb_id']);
// 휴대폰번호 체크 // 휴대폰번호 체크
$mb_hp = hyphen_hp_number($_POST['mb_hp']); $mb_hp = hyphen_hp_number($_POST['mb_hp']);
if($mb_hp) { if ($mb_hp) {
$result = exist_mb_hp($mb_hp, $mb_id); $result = exist_mb_hp($mb_hp, $mb_id);
if ($result) if ($result)
alert($result); alert($result);
} }
// 인증정보처리 // 인증정보처리
if($_POST['mb_certify_case'] && $_POST['mb_certify']) { if ($_POST['mb_certify_case'] && $_POST['mb_certify']) {
$mb_certify = $_POST['mb_certify_case']; $mb_certify = $_POST['mb_certify_case'];
$mb_adult = $_POST['mb_adult']; $mb_adult = $_POST['mb_adult'];
} else { } else {
$mb_certify = ''; $mb_certify = '';
$mb_adult = 0; $mb_adult = 0;
} }
$_POST['mb_nick'] = $_POST['mb_name']; $_POST['mb_nick'] = $_POST['mb_name'];
@ -68,100 +68,95 @@ $sql_common = " mb_name = '{$_POST['mb_name']}',
mb_9 = '{$_POST['mb_9']}', mb_9 = '{$_POST['mb_9']}',
mb_10 = '{$_POST['mb_10']}' "; mb_10 = '{$_POST['mb_10']}' ";
if ($w == '') if ($w == '') {
{ $mb = get_member($mb_id);
$mb = get_member($mb_id); if ($mb['mb_id'])
if ($mb['mb_id']) alert('이미 존재하는 회원아이디입니다.\\n : ' . $mb['mb_id'] . '\\n이름 : ' . $mb['mb_name'] . '\\n닉네임 : ' . $mb['mb_nick'] . '\\n메일 : ' . $mb['mb_email']);
alert('이미 존재하는 회원아이디입니다.\\n : '.$mb['mb_id'].'\\n이름 : '.$mb['mb_name'].'\\n닉네임 : '.$mb['mb_nick'].'\\n메일 : '.$mb['mb_email']);
// 닉네임중복체크 // 닉네임중복체크
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' "; $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['mb_id']) if ($row['mb_id'])
alert('이미 존재하는 닉네임입니다.\\n : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']); alert('이미 존재하는 닉네임입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
// 이메일중복체크 // 이메일중복체크
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' "; $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['mb_id']) if ($row['mb_id'])
alert('이미 존재하는 이메일입니다.\\n : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']); alert('이미 존재하는 이메일입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
sql_query(" insert into {$g5['member_table']} set mb_id = '{$mb_id}', mb_password = '".get_encrypt_string($mb_password)."', mb_datetime = '".G5_TIME_YMDHIS."', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_email_certify = '".G5_TIME_YMDHIS."', {$sql_common} "); sql_query(" insert into {$g5['member_table']} set mb_id = '{$mb_id}', mb_password = '" . get_encrypt_string($mb_password) . "', mb_datetime = '" . G5_TIME_YMDHIS . "', mb_ip = '{$_SERVER['REMOTE_ADDR']}', mb_email_certify = '" . G5_TIME_YMDHIS . "', {$sql_common} ");
} } else if ($w == 'u') {
else if ($w == 'u') $mb = get_member($mb_id);
{ if (!$mb['mb_id'])
$mb = get_member($mb_id); alert('존재하지 않는 회원자료입니다.');
if (!$mb['mb_id'])
alert('존재하지 않는 회원자료입니다.');
if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level'])
alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.'); alert('자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.');
if ($_POST['mb_id'] == $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level']) if ($_POST['mb_id'] == $member['mb_id'] && $_POST['mb_level'] != $mb['mb_level'])
alert($mb['mb_id'].' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.'); alert($mb['mb_id'] . ' : 로그인 중인 관리자 레벨은 수정 할 수 없습니다.');
// 닉네임중복체크 // 닉네임중복체크
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' and mb_id <> '{$mb_id}' "; $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_nick = '{$_POST['mb_nick']}' and mb_id <> '{$mb_id}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['mb_id']) if ($row['mb_id'])
alert('이미 존재하는 닉네임입니다.\\n : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']); alert('이미 존재하는 닉네임입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
// 이메일중복체크 // 이메일중복체크
$sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' and mb_id <> '$mb_id' "; $sql = " select mb_id, mb_name, mb_nick, mb_email from {$g5['member_table']} where mb_email = '{$_POST['mb_email']}' and mb_id <> '$mb_id' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['mb_id']) if ($row['mb_id'])
alert('이미 존재하는 이메일입니다.\\n : '.$row['mb_id'].'\\n이름 : '.$row['mb_name'].'\\n닉네임 : '.$row['mb_nick'].'\\n메일 : '.$row['mb_email']); alert('이미 존재하는 이메일입니다.\\n : ' . $row['mb_id'] . '\\n이름 : ' . $row['mb_name'] . '\\n닉네임 : ' . $row['mb_nick'] . '\\n메일 : ' . $row['mb_email']);
$mb_dir = substr($mb_id,0,2); $mb_dir = substr($mb_id, 0, 2);
// 회원 아이콘 삭제 // 회원 아이콘 삭제
if ($del_mb_icon) if ($del_mb_icon)
@unlink(G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_id.'.gif'); @unlink(G5_DATA_PATH . '/member/' . $mb_dir . '/' . $mb_id . '.gif');
// 아이콘 업로드 // 아이콘 업로드
if (is_uploaded_file($_FILES['mb_icon']['tmp_name'])) { if (is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
if (!preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) { if (!preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
alert($_FILES['mb_icon']['name'] . '은(는) gif 파일이 아닙니다.'); alert($_FILES['mb_icon']['name'] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
@mkdir(G5_DATA_PATH.'/member/'.$mb_dir, G5_DIR_PERMISSION);
@chmod(G5_DATA_PATH.'/member/'.$mb_dir, G5_DIR_PERMISSION);
$dest_path = G5_DATA_PATH.'/member/'.$mb_dir.'/'.$mb_id.'.gif';
move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
@unlink($dest_path);
}
}
}
} }
if ($mb_password) if (preg_match("/(\.gif)$/i", $_FILES['mb_icon']['name'])) {
$sql_password = " , mb_password = '".get_encrypt_string($mb_password)."' "; @mkdir(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION);
else @chmod(G5_DATA_PATH . '/member/' . $mb_dir, G5_DIR_PERMISSION);
$sql_password = "";
if ($passive_certify) $dest_path = G5_DATA_PATH . '/member/' . $mb_dir . '/' . $mb_id . '.gif';
$sql_certify = " , mb_email_certify = '".G5_TIME_YMDHIS."' ";
else
$sql_certify = "";
$sql = " update {$g5['member_table']} move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config['cf_member_icon_width'] || $size[1] > $config['cf_member_icon_height']) {
@unlink($dest_path);
}
}
}
}
if ($mb_password)
$sql_password = " , mb_password = '" . get_encrypt_string($mb_password) . "' ";
else
$sql_password = "";
if ($passive_certify)
$sql_certify = " , mb_email_certify = '" . G5_TIME_YMDHIS . "' ";
else
$sql_certify = "";
$sql = " update {$g5['member_table']}
set {$sql_common} set {$sql_common}
{$sql_password} {$sql_password}
{$sql_certify} {$sql_certify}
where mb_id = '{$mb_id}' "; where mb_id = '{$mb_id}' ";
sql_query($sql); sql_query($sql);
} } else
else alert('제대로 된 값이 넘어오지 않았습니다.');
alert('제대로 된 값이 넘어오지 않았습니다.');
goto_url('./member_form.php?'.$qstr.'&amp;w=u&amp;mb_id='.$mb_id, false); goto_url('./member_form.php?' . $qstr . '&amp;w=u&amp;mb_id=' . $mb_id);
?>

View file

@ -8,31 +8,31 @@ $sql_common = " from {$g5['member_table']} ";
$sql_search = " where (1) "; $sql_search = " where (1) ";
if ($stx) { if ($stx) {
$sql_search .= " and ( "; $sql_search .= " and ( ";
switch ($sfl) { switch ($sfl) {
case 'mb_point' : case 'mb_point':
$sql_search .= " ({$sfl} >= '{$stx}') "; $sql_search .= " ({$sfl} >= '{$stx}') ";
break; break;
case 'mb_level' : case 'mb_level':
$sql_search .= " ({$sfl} = '{$stx}') "; $sql_search .= " ({$sfl} = '{$stx}') ";
break; break;
case 'mb_tel' : case 'mb_tel':
case 'mb_hp' : case 'mb_hp':
$sql_search .= " ({$sfl} like '%{$stx}') "; $sql_search .= " ({$sfl} like '%{$stx}') ";
break; break;
default : default:
$sql_search .= " ({$sfl} like '{$stx}%') "; $sql_search .= " ({$sfl} like '{$stx}%') ";
break; break;
} }
$sql_search .= " ) "; $sql_search .= " ) ";
} }
if ($is_admin != 'super') if ($is_admin != 'super')
$sql_search .= " and mb_level <= '{$member['mb_level']}' "; $sql_search .= " and mb_level <= '{$member['mb_level']}' ";
if (!$sst) { if (!$sst) {
$sst = "mb_datetime"; $sst = "mb_datetime";
$sod = "desc"; $sod = "desc";
} }
$sql_order = " order by {$sst} {$sod} "; $sql_order = " order by {$sst} {$sod} ";
@ -42,8 +42,9 @@ $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1)
$page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
// 탈퇴회원수 // 탈퇴회원수
@ -56,7 +57,7 @@ $sql = " select count(*) as cnt {$sql_common} {$sql_search} and mb_intercept_dat
$row = sql_fetch($sql); $row = sql_fetch($sql);
$intercept_count = $row['cnt']; $intercept_count = $row['cnt'];
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'" class="ov_listall">전체목록</a>'; $listall = '<a href="' . $_SERVER['SCRIPT_NAME'] . '" class="ov_listall">전체목록</a>';
$g5['title'] = '회원관리'; $g5['title'] = '회원관리';
include_once('./admin.head.php'); include_once('./admin.head.php');
@ -68,160 +69,164 @@ $colspan = 10;
?> ?>
<div class="local_ov01 local_ov"> <div class="local_ov01 local_ov">
<?php echo $listall ?> <?php echo $listall ?>
총회원수 <?php echo number_format($total_count) ?>명 중, 총회원수 <?php echo number_format($total_count) ?>명 중,
<a href="?sst=mb_intercept_date&amp;sod=desc&amp;sfl=<?php echo $sfl ?>&amp;stx=<?php echo $stx ?>">차단 <?php echo number_format($intercept_count) ?></a>명, <a href="?sst=mb_intercept_date&amp;sod=desc&amp;sfl=<?php echo $sfl ?>&amp;stx=<?php echo $stx ?>">차단
<a href="?sst=mb_leave_date&amp;sod=desc&amp;sfl=<?php echo $sfl ?>&amp;stx=<?php echo $stx ?>">탈퇴 <?php echo number_format($leave_count) ?></a>명 <?php echo number_format($intercept_count) ?></a>명,
<a href="?sst=mb_leave_date&amp;sod=desc&amp;sfl=<?php echo $sfl ?>&amp;stx=<?php echo $stx ?>">탈퇴
<?php echo number_format($leave_count) ?></a>명
</div> </div>
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p> <p>
회원자료 삭제 다른 회원이 기존 회원아이디를 사용하지 못하도록 회원아이디, 이름, 닉네임은 삭제하지 않고 영구 보관합니다. 회원자료 삭제 다른 회원이 기존 회원아이디를 사용하지 못하도록 회원아이디, 이름, 닉네임은 삭제하지 않고 영구 보관합니다.
</p> </p>
</div> </div>
<form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get"> <form id="fsearch" name="fsearch" class="local_sch01 local_sch" method="get">
<label for="sfl" class="sound_only">검색대상</label> <label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl"> <select name="sfl" id="sfl">
<option value="mb_id"<?php echo get_selected($_GET['sfl'], "mb_id"); ?>>회원아이디</option> <option value="mb_id" <?php echo get_selected($_GET['sfl'], "mb_id"); ?>>회원아이디</option>
<option value="mb_nick"<?php echo get_selected($_GET['sfl'], "mb_nick"); ?>>닉네임</option> <option value="mb_nick" <?php echo get_selected($_GET['sfl'], "mb_nick"); ?>>닉네임</option>
<option value="mb_level"<?php echo get_selected($_GET['sfl'], "mb_level"); ?>>권한</option> <option value="mb_level" <?php echo get_selected($_GET['sfl'], "mb_level"); ?>>권한</option>
<option value="mb_email"<?php echo get_selected($_GET['sfl'], "mb_email"); ?>>E-MAIL</option> <option value="mb_email" <?php echo get_selected($_GET['sfl'], "mb_email"); ?>>E-MAIL</option>
<option value="mb_ip"<?php echo get_selected($_GET['sfl'], "mb_ip"); ?>>IP</option> <option value="mb_ip" <?php echo get_selected($_GET['sfl'], "mb_ip"); ?>>IP</option>
<option value="mb_recommend"<?php echo get_selected($_GET['sfl'], "mb_recommend"); ?>>추천인</option> <option value="mb_recommend" <?php echo get_selected($_GET['sfl'], "mb_recommend"); ?>>추천인</option>
</select> </select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label> <label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input"> <input type="text" name="stx" value="<?php echo $stx ?>" id="stx" required class="required frm_input">
<input type="submit" class="btn_submit" value="검색"> <input type="submit" class="btn_submit" value="검색">
</form> </form>
<br /> <br />
<form name="fmemberlist" id="fmemberlist" action="./member_list_update.php" onsubmit="return fmemberlist_submit(this);" method="post"> <form name="fmemberlist" id="fmemberlist" action="./member_list_update.php" onsubmit="return fmemberlist_submit(this);"
<input type="hidden" name="sst" value="<?php echo $sst ?>"> method="post">
<input type="hidden" name="sod" value="<?php echo $sod ?>"> <input type="hidden" name="sst" value="<?php echo $sst ?>">
<input type="hidden" name="sfl" value="<?php echo $sfl ?>"> <input type="hidden" name="sod" value="<?php echo $sod ?>">
<input type="hidden" name="stx" value="<?php echo $stx ?>"> <input type="hidden" name="sfl" value="<?php echo $sfl ?>">
<input type="hidden" name="page" value="<?php echo $page ?>"> <input type="hidden" name="stx" value="<?php echo $stx ?>">
<input type="hidden" name="token" value=""> <input type="hidden" name="page" value="<?php echo $page ?>">
<input type="hidden" name="token" value="">
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th style="width:45px;"> <th style="width:45px;">
<input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)"> <input type="checkbox" name="chkall" value="1" id="chkall" onclick="check_all(this.form)">
</th> </th>
<th>아이디</a></th> <th>아이디</a></th>
<th>이름</a></th> <th>이름</a></th>
<th style="width:100px;">상태</th> <th style="width:100px;">상태</th>
<th style="width:100px;">권한</th> <th style="width:100px;">권한</th>
<th style="width:100px;">가입일</a></th> <th style="width:100px;">가입일</a></th>
<th style="width:100px;">최종접속</a></th> <th style="width:100px;">최종접속</a></th>
<th style="width:50px;">관리</th> <th style="width:50px;">관리</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$s_mod = '<a href="./member_form.php?'.$qstr.'&amp;w=u&amp;mb_id='.$row['mb_id'].'">수정</a>'; $s_mod = '<a href="./member_form.php?' . $qstr . '&amp;w=u&amp;mb_id=' . $row['mb_id'] . '">수정</a>';
$leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME); $leave_date = $row['mb_leave_date'] ? $row['mb_leave_date'] : date('Ymd', G5_SERVER_TIME);
$intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME); $intercept_date = $row['mb_intercept_date'] ? $row['mb_intercept_date'] : date('Ymd', G5_SERVER_TIME);
$mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']); $mb_nick = get_sideview($row['mb_id'], get_text($row['mb_nick']), $row['mb_email'], $row['mb_homepage']);
$mb_id = $row['mb_id']; $mb_id = $row['mb_id'];
$leave_msg = ''; $leave_msg = '';
$intercept_msg = ''; $intercept_msg = '';
$intercept_title = ''; $intercept_title = '';
if ($row['mb_leave_date']) { if ($row['mb_leave_date']) {
$mb_id = $mb_id; $mb_id = $mb_id;
$leave_msg = '<span class="mb_leave_msg">탈퇴함</span>'; $leave_msg = '<span class="mb_leave_msg">탈퇴함</span>';
} } else if ($row['mb_intercept_date']) {
else if ($row['mb_intercept_date']) { $mb_id = $mb_id;
$mb_id = $mb_id; $intercept_msg = '<span class="mb_intercept_msg">차단됨</span>';
$intercept_msg = '<span class="mb_intercept_msg">차단됨</span>'; $intercept_title = '차단해제';
$intercept_title = '차단해제'; }
} if ($intercept_title == '')
if ($intercept_title == '') $intercept_title = '차단하기';
$intercept_title = '차단하기'; $bg = 'bg' . ($i % 2);
$bg = 'bg'.($i%2); ?>
?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td> <td>
<input type="hidden" name="mb_id[<?php echo $i ?>]" value="<?php echo $row['mb_id'] ?>" id="mb_id_<?php echo $i ?>"> <input type="hidden" name="mb_id[<?php echo $i ?>]" value="<?php echo $row['mb_id'] ?>"
<input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>"> id="mb_id_<?php echo $i ?>">
</td> <input type="checkbox" name="chk[]" value="<?php echo $i ?>" id="chk_<?php echo $i ?>">
</td>
<td><?php echo $mb_id ?></td> <td><?php echo $mb_id ?></td>
<td><?php echo get_text($row['mb_name']); ?></td> <td><?php echo get_text($row['mb_name']); ?></td>
<td> <td>
<?php <?php
if ($leave_msg || $intercept_msg) echo $leave_msg.' '.$intercept_msg; if ($leave_msg || $intercept_msg)
else echo "정상"; echo $leave_msg . ' ' . $intercept_msg;
?> else
</td> echo "정상";
<td> ?>
<?php echo get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?> </td>
</td> <td>
<td><?php echo substr($row['mb_datetime'],2,8); ?></td> <?php echo get_member_level_select("mb_level[$i]", 1, $member['mb_level'], $row['mb_level']) ?>
<td><?php echo substr($row['mb_today_login'],2,8); ?></td> </td>
<td><?php echo $s_mod ?> <?php echo $s_grp ?></td> <td><?php echo substr($row['mb_datetime'], 2, 8); ?></td>
</tr> <td><?php echo substr($row['mb_today_login'], 2, 8); ?></td>
<td><?php echo $s_mod ?> <?php echo $s_grp ?></td>
</tr>
<?php <?php
} }
if ($i == 0) if ($i == 0)
echo "<tr><td colspan=\"".$colspan."\" class=\"empty_table\">자료가 없습니다.</td></tr>"; echo "<tr><td colspan=\"" . $colspan . "\" class=\"empty_table\">자료가 없습니다.</td></tr>";
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_confirm"> <div class="btn_confirm">
<div class="btn ty3"> <div class="btn ty3">
<span class="material-icons">build</span> <span class="material-icons">build</span>
<input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="선택수정" title="선택수정" onclick="document.pressed=this.value">
</div> </div>
<div class="btn ty2"> <div class="btn ty2">
<span class="material-icons">delete</span> <span class="material-icons">delete</span>
<input type="submit" name="act_button" value="완전삭제" title="완전삭제" onclick="document.pressed=this.value"> <input type="submit" name="act_button" value="완전삭제" title="완전삭제" onclick="document.pressed=this.value">
</div> </div>
<?php if ($is_admin == 'super') { ?> <?php if ($is_admin == 'super') { ?>
<a href="./member_form.php" title="회원추가" class="btn"><span class="material-icons">add</span></a> <a href="./member_form.php" title="회원추가" class="btn"><span class="material-icons">add</span></a>
<?php } ?> <?php } ?>
</div> </div>
</form> </form>
<?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, '?'.$qstr.'&amp;page='); ?> <?php echo get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page, $total_page, '?' . $qstr . '&amp;page='); ?>
<script> <script>
function fmemberlist_submit(f) function fmemberlist_submit(f) {
{ if (!is_checked("chk[]")) {
if (!is_checked("chk[]")) { alert(document.pressed + " 하실 항목을 하나 이상 선택하세요.");
alert(document.pressed+" 하실 항목을 하나 이상 선택하세요."); return false;
return false; }
}
if(document.pressed == "선택삭제") { if (document.pressed == "선택삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까?")) { if (!confirm("선택한 자료를 정말 삭제하시겠습니까?")) {
return false; return false;
} }
} }
if(document.pressed == "완전삭제") { if (document.pressed == "완전삭제") {
if(!confirm("선택한 자료를 정말 삭제하시겠습니까? 완전삭제시 복구는 불가능합니다.")) { if (!confirm("선택한 자료를 정말 삭제하시겠습니까? 완전삭제시 복구는 불가능합니다.")) {
return false; return false;
} }
} }
return true; return true;
} }
</script> </script>
<?php <?php
include_once ('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -9,29 +9,27 @@ auth_check($auth[$sub_menu], "d");
check_admin_token(); check_admin_token();
$msg = ""; $msg = "";
for ($i=0; $i<count($chk); $i++) for ($i = 0; $i < count($chk); $i++) {
{ // 실제 번호를 넘김
// 실제 번호를 넘김 $k = $_POST['chk'][$i];
$k = $_POST['chk'][$i];
$mb = get_member($_POST['mb_id'][$k]); $mb = get_member($_POST['mb_id'][$k]);
if (!$mb['mb_id']) { if (!$mb['mb_id']) {
$msg .= "{$mb['mb_id']} : 회원자료가 존재하지 않습니다.\\n"; $msg .= "{$mb['mb_id']} : 회원자료가 존재하지 않습니다.\\n";
} else if ($member['mb_id'] == $mb['mb_id']) { } else if ($member['mb_id'] == $mb['mb_id']) {
$msg .= "{$mb['mb_id']} : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n"; $msg .= "{$mb['mb_id']} : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n";
} else if (is_admin($mb['mb_id']) == "super") { } else if (is_admin($mb['mb_id']) == "super") {
$msg .= "{$mb['mb_id']} : 최고 관리자는 삭제할 수 없습니다.\\n"; $msg .= "{$mb['mb_id']} : 최고 관리자는 삭제할 수 없습니다.\\n";
} else if ($is_admin != "super" && $mb['mb_level'] >= $member['mb_level']) { } else if ($is_admin != "super" && $mb['mb_level'] >= $member['mb_level']) {
$msg .= "{$mb['mb_id']} : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n"; $msg .= "{$mb['mb_id']} : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n";
} else { } else {
// 회원자료 삭제 // 회원자료 삭제
member_delete($mb['mb_id']); member_delete($mb['mb_id']);
} }
} }
if ($msg) if ($msg)
echo "<script type='text/javascript'> alert('$msg'); </script>"; echo "<script type='text/javascript'> alert('$msg'); </script>";
goto_url("./member_list.php?$qstr"); goto_url("./member_list.php?$qstr");
?>

View file

@ -5,88 +5,84 @@ include_once('./_common.php');
check_demo(); check_demo();
if (!count($_POST['chk'])) { if (!count($_POST['chk'])) {
alert($_POST['act_button']." 하실 항목을 하나 이상 체크하세요."); alert($_POST['act_button'] . " 하실 항목을 하나 이상 체크하세요.");
} }
auth_check($auth[$sub_menu], 'w'); auth_check($auth[$sub_menu], 'w');
if ($_POST['act_button'] == "선택수정") { if ($_POST['act_button'] == "선택수정") {
for ($i=0; $i<count($_POST['chk']); $i++) for ($i = 0; $i < count($_POST['chk']); $i++) {
{ // 실제 번호를 넘김
// 실제 번호를 넘김 $k = $_POST['chk'][$i];
$k = $_POST['chk'][$i];
$mb = get_member($_POST['mb_id'][$k]); $mb = get_member($_POST['mb_id'][$k]);
if (!$mb['mb_id']) { if (!$mb['mb_id']) {
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n'; $msg .= $mb['mb_id'] . ' : 회원자료가 존재하지 않습니다.\\n';
} else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) { } else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) {
$msg .= $mb['mb_id'].' : 자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 자신보다 권한이 높거나 같은 회원은 수정할 수 없습니다.\\n';
} else if ($member['mb_id'] == $mb['mb_id']) { } else if ($member['mb_id'] == $mb['mb_id']) {
$msg .= $mb['mb_id'].' : 로그인 중인 관리자는 수정 할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 로그인 중인 관리자는 수정 할 수 없습니다.\\n';
} else { } else {
if($_POST['mb_certify'][$k]) if ($_POST['mb_certify'][$k])
$mb_adult = $_POST['mb_adult'][$k]; $mb_adult = $_POST['mb_adult'][$k];
else else
$mb_adult = 0; $mb_adult = 0;
$sql = " update {$g5['member_table']} $sql = " update {$g5['member_table']}
set mb_level = '{$_POST['mb_level'][$k]}' set mb_level = '{$_POST['mb_level'][$k]}'
where mb_id = '{$_POST['mb_id'][$k]}' "; where mb_id = '{$_POST['mb_id'][$k]}' ";
sql_query($sql); sql_query($sql);
}
} }
}
} else if ($_POST['act_button'] == "선택삭제") { } else if ($_POST['act_button'] == "선택삭제") {
for ($i=0; $i<count($_POST['chk']); $i++) for ($i = 0; $i < count($_POST['chk']); $i++) {
{ // 실제 번호를 넘김
// 실제 번호를 넘김 $k = $_POST['chk'][$i];
$k = $_POST['chk'][$i];
$mb = get_member($_POST['mb_id'][$k]); $mb = get_member($_POST['mb_id'][$k]);
if (!$mb['mb_id']) { if (!$mb['mb_id']) {
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n'; $msg .= $mb['mb_id'] . ' : 회원자료가 존재하지 않습니다.\\n';
} else if ($member['mb_id'] == $mb['mb_id']) { } else if ($member['mb_id'] == $mb['mb_id']) {
$msg .= $mb['mb_id'].' : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n';
} else if (is_admin($mb['mb_id']) == 'super') { } else if (is_admin($mb['mb_id']) == 'super') {
$msg .= $mb['mb_id'].' : 최고 관리자는 삭제할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 최고 관리자는 삭제할 수 없습니다.\\n';
} else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) { } else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) {
$msg .= $mb['mb_id'].' : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n';
} else { } else {
// 회원자료 삭제 // 회원자료 삭제
member_delete($mb['mb_id']); member_delete($mb['mb_id']);
}
} }
}else if ($_POST['act_button'] == "완전삭제") { }
} else if ($_POST['act_button'] == "완전삭제") {
for ($i=0; $i<count($_POST['chk']); $i++) for ($i = 0; $i < count($_POST['chk']); $i++) {
{ // 실제 번호를 넘김
// 실제 번호를 넘김 $k = $_POST['chk'][$i];
$k = $_POST['chk'][$i];
$mb = get_member($_POST['mb_id'][$k]); $mb = get_member($_POST['mb_id'][$k]);
if (!$mb['mb_id']) { if (!$mb['mb_id']) {
$msg .= $mb['mb_id'].' : 회원자료가 존재하지 않습니다.\\n'; $msg .= $mb['mb_id'] . ' : 회원자료가 존재하지 않습니다.\\n';
} else if ($member['mb_id'] == $mb['mb_id']) { } else if ($member['mb_id'] == $mb['mb_id']) {
$msg .= $mb['mb_id'].' : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 로그인 중인 관리자는 삭제 할 수 없습니다.\\n';
} else if (is_admin($mb['mb_id']) == 'super') { } else if (is_admin($mb['mb_id']) == 'super') {
$msg .= $mb['mb_id'].' : 최고 관리자는 삭제할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 최고 관리자는 삭제할 수 없습니다.\\n';
} else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) { } else if ($is_admin != 'super' && $mb['mb_level'] >= $member['mb_level']) {
$msg .= $mb['mb_id'].' : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n'; $msg .= $mb['mb_id'] . ' : 자신보다 권한이 높거나 같은 회원은 삭제할 수 없습니다.\\n';
} else { } else {
// 회원자료 삭제 // 회원자료 삭제
sql_query(" delete from {$g5['member_table']} where mb_id = '{$_POST['mb_id'][$k]}' "); sql_query(" delete from {$g5['member_table']} where mb_id = '{$_POST['mb_id'][$k]}' ");
}
} }
}
} }
if ($msg) if ($msg)
//echo '<script> alert("'.$msg.'"); </script>'; //echo '<script> alert("'.$msg.'"); </script>';
alert($msg); alert($msg);
goto_url('./member_list.php?'.$qstr); goto_url('./member_list.php?' . $qstr);
?>

View file

@ -3,141 +3,142 @@ $sub_menu = "100400";
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') if ($is_admin != 'super')
alert_close('최고관리자만 접근 가능합니다.'); alert_close('최고관리자만 접근 가능합니다.');
$g5['title'] = '메뉴 추가'; $g5['title'] = '메뉴 추가';
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
// 코드 // 코드
if($new == 'new' || !$code) { if ($new == 'new' || !$code) {
$code = base_convert(substr($code,0, 2), 36, 10); $code = base_convert(substr($code, 0, 2), 36, 10);
$code += 36; $code += 36;
$code = base_convert($code, 10, 36); $code = base_convert($code, 10, 36);
} }
?> ?>
<style> <style>
body{min-width:100%;} body {
min-width: 100%;
}
</style> </style>
<div id="menu_frm" class="new_win"> <div id="menu_frm" class="new_win">
<h1><?php echo $g5['title']; ?></h1> <h1><?php echo $g5['title']; ?></h1>
<form name="fmenuform" id="fmenuform" enctype="multipart/form-data"> <form name="fmenuform" id="fmenuform" enctype="multipart/form-data">
<div class="new_win_desc"> <div class="new_win_desc">
<label for="me_type">대상선택</label> <label for="me_type">대상선택</label>
<select name="me_type" id="me_type"> <select name="me_type" id="me_type">
<option value="">직접입력</option> <option value="">직접입력</option>
<option value="board">게시판</option> <option value="board">게시판</option>
<option value="content">페이지</option> <option value="content">페이지</option>
</select> </select>
</div> </div>
<div class="win-guide">구분선을 추가하실 경우, 메뉴 명에 <em>구분선</em>이라고 입력 추가 해주세요.</div> <div class="win-guide">구분선을 추가하실 경우, 메뉴 명에 <em>구분선</em>이라고 입력 추가 해주세요.</div>
<div id="menu_result"></div> <div id="menu_result"></div>
</form> </form>
</div> </div>
<script> <script>
$(function() { $(function () {
$("#menu_result").load( $("#menu_result").load(
"./menu_form_search.php" "./menu_form_search.php"
); );
$("#me_type").on("change", function() { $("#me_type").on("change", function () {
var type = $(this).val(); var type = $(this).val();
$("#menu_result").empty().load( $("#menu_result").empty().load(
"./menu_form_search.php", "./menu_form_search.php",
{ type : type } { type: type }
); );
}); });
$(document).on("click", "#add_manual", function() { $(document).on("click", "#add_manual", function () {
var me_name = $.trim($("#me_name").val()); var me_name = $.trim($("#me_name").val());
var me_link = $.trim($("#me_link").val()); var me_link = $.trim($("#me_link").val());
add_menu_list(me_name, me_link, "<?php echo $code; ?>"); add_menu_list(me_name, me_link, "<?php echo $code; ?>");
}); });
$(document).on("click", ".add_select", function() { $(document).on("click", ".add_select", function () {
var me_name = $.trim($(this).siblings("input[name='subject[]']").val()); var me_name = $.trim($(this).siblings("input[name='subject[]']").val());
var me_link = $.trim($(this).siblings("input[name='link[]']").val()); var me_link = $.trim($(this).siblings("input[name='link[]']").val());
add_menu_list(me_name, me_link, "<?php echo $code; ?>"); add_menu_list(me_name, me_link, "<?php echo $code; ?>");
}); });
}); });
function add_menu_list(name, link, code) function add_menu_list(name, link, code) {
{ var $menulist = $("#menulist", opener.document);
var $menulist = $("#menulist", opener.document); var ms = new Date().getTime();
var ms = new Date().getTime(); var sub_menu_class;
var sub_menu_class; <?php if ($new == 'new') { ?>
<?php if($new == 'new') { ?> sub_menu_class = " class=\"td_category\"";
sub_menu_class = " class=\"td_category\""; <?php } else { ?>
<?php } else { ?> sub_menu_class = " class=\"td_category sub_menu_class\"";
sub_menu_class = " class=\"td_category sub_menu_class\""; <?php } ?>
<?php } ?>
var list = ""; var list = "";
list += "<tr class=\"menu_list menu_group_<?php echo $code; ?>\" data-name='"+name+"'>"; list += "<tr class=\"menu_list menu_group_<?php echo $code; ?>\" data-name='" + name + "'>";
list += "<td"+sub_menu_class+">"; list += "<td" + sub_menu_class + ">";
list += " <input type=\"hidden\" name=\"code[]\" value=\"<?php echo $code; ?>\" />"; list += " <input type=\"hidden\" name=\"code[]\" value=\"<?php echo $code; ?>\" />";
list += " <input type=\"hidden\" name=\"me_level[]\" value=\"\" />"; list += " <input type=\"hidden\" name=\"me_level[]\" value=\"\" />";
list += " <input type=\"text\" name=\"me_name[]\" value=\""+name+"\" id=\"me_name_"+ms+"\" required class=\"required frm_input full_input\" />"; list += " <input type=\"text\" name=\"me_name[]\" value=\"" + name + "\" id=\"me_name_" + ms + "\" required class=\"required frm_input full_input\" />";
list += "</td>"; list += "</td>";
list += "<td></td>"; list += "<td></td>";
list += "<td>"; list += "<td>";
list += " <input type=\"text\" name=\"me_icon[]\" class=\"frm_input full_input\" />"; list += " <input type=\"text\" name=\"me_icon[]\" class=\"frm_input full_input\" />";
list += "</td>"; list += "</td>";
list += "<td>"; list += "<td>";
list += " <input type=\"text\" name=\"me_link[]\" value=\""+link+"\" class=\"frm_input full_input\" />"; list += " <input type=\"text\" name=\"me_link[]\" value=\"" + link + "\" class=\"frm_input full_input\" />";
list += "</td>"; list += "</td>";
list += "<td class=\"td_mng\">"; list += "<td class=\"td_mng\">";
list += " <select name=\"me_target[]\">"; list += " <select name=\"me_target[]\">";
list += " <option value=\"self\">현재창</option>"; list += " <option value=\"self\">현재창</option>";
list += " <option value=\"blank\">새창</option>"; list += " <option value=\"blank\">새창</option>";
list += " </select>"; list += " </select>";
list += "</td>"; list += "</td>";
list += "<td class=\"td_numsmall order\">"; list += "<td class=\"td_numsmall order\">";
list += " <input type=\"text\" name=\"me_order[]\" value=\"0\" required class=\"required frm_input\" size=\"5\">"; list += " <input type=\"text\" name=\"me_order[]\" value=\"0\" required class=\"required frm_input\" size=\"5\">";
list += "</td>"; list += "</td>";
list += "<td class=\"td_numsmall\">"; list += "<td class=\"td_numsmall\">";
list += " <input type=\"checkbox\" name=\"me_use[]\" value=\"1\" class=\"frm_input\" checked>"; list += " <input type=\"checkbox\" name=\"me_use[]\" value=\"1\" class=\"frm_input\" checked>";
list += "</td>"; list += "</td>";
list += "<td class=\"td_mngsmall\">"; list += "<td class=\"td_mngsmall\">";
list += " <button type=\"button\" class=\"btn_del_menu\"><span class=''><span class='material-icons'>delete</span></button>"; list += " <button type=\"button\" class=\"btn_del_menu\"><span class=''><span class='material-icons'>delete</span></button>";
list += "</td>"; list += "</td>";
list += "</tr>"; list += "</tr>";
var $menu_last = null; var $menu_last = null;
if(code) if (code)
$menu_last = $menulist.find("tr.menu_group_"+code+":last"); $menu_last = $menulist.find("tr.menu_group_" + code + ":last");
else else
$menu_last = $menulist.find("tr.menu_list:last"); $menu_last = $menulist.find("tr.menu_list:last");
if($menu_last.size() > 0) { if ($menu_last.size() > 0) {
$menu_last.after(list); $menu_last.after(list);
} else { } else {
if($menulist.find("#empty_menu_list").size() > 0) if ($menulist.find("#empty_menu_list").size() > 0)
$menulist.find("#empty_menu_list").remove(); $menulist.find("#empty_menu_list").remove();
$menulist.find("table tbody").append(list); $menulist.find("table tbody").append(list);
} }
$menulist.find("tr.menu_list").each(function(index) { $menulist.find("tr.menu_list").each(function (index) {
$(this).removeClass("bg0 bg1") $(this).removeClass("bg0 bg1")
.addClass("bg"+(index % 2)); .addClass("bg" + (index % 2));
}); });
window.close(); window.close();
} }
</script> </script>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?> ?>

View file

@ -2,110 +2,111 @@
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') if ($is_admin != 'super')
die('최고관리자만 접근 가능합니다.'); die('최고관리자만 접근 가능합니다.');
switch($type) { switch ($type) {
case 'group': case 'group':
$sql = " select gr_id as id, gr_subject as subject $sql = " select gr_id as id, gr_subject as subject
from {$g5['group_table']} from {$g5['group_table']}
order by gr_order, gr_id "; order by gr_order, gr_id ";
break; break;
case 'board': case 'board':
$sql = " select bo_table as id, bo_subject as subject $sql = " select bo_table as id, bo_subject as subject
from {$g5['board_table']} from {$g5['board_table']}
order by bo_order, bo_table "; order by bo_order, bo_table ";
break; break;
case 'content': case 'content':
$sql = " select co_id as id, co_subject as subject $sql = " select co_id as id, co_subject as subject
from {$g5['content_table']} from {$g5['content_table']}
order by co_id "; order by co_id ";
break; break;
default: default:
$sql = ''; $sql = '';
break; break;
} }
?> ?>
<?php <?php
if($sql) { if ($sql) {
$result = sql_query($sql); $result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
if($i == 0) { if ($i == 0) {
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<thead> <thead>
<tr> <tr>
<th scope="col">제목</th> <th scope="col">제목</th>
<th scope="col" style="width:80px;">선택</th> <th scope="col" style="width:80px;">선택</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php } <?php }
switch($type) { switch ($type) {
case 'group': case 'group':
$link = G5_BBS_URL.'/group.php?gr_id='.$row['id']; $link = G5_BBS_URL . '/group.php?gr_id=' . $row['id'];
break; break;
case 'board': case 'board':
$link = G5_BBS_URL.'/board.php?bo_table='.$row['id']; $link = G5_BBS_URL . '/board.php?bo_table=' . $row['id'];
break; break;
case 'content': case 'content':
$link = G5_BBS_URL.'/content.php?co_id='.$row['id']; $link = G5_BBS_URL . '/content.php?co_id=' . $row['id'];
break; break;
default: default:
$link = ''; $link = '';
break; break;
} }
?> ?>
<tr> <tr>
<td><?php echo $row['subject']; ?></td> <td><?php echo $row['subject']; ?></td>
<td class="td_mngsmall"> <td class="td_mngsmall">
<input type="hidden" name="subject[]" value="<?php echo preg_replace('/[\'\"]/', '', $row['subject']); ?>"> <input type="hidden" name="subject[]" value="<?php echo preg_replace('/[\'\"]/', '', $row['subject']); ?>">
<input type="hidden" name="link[]" value="<?php echo $link; ?>"> <input type="hidden" name="link[]" value="<?php echo $link; ?>">
<button type="button" class="add_select"><span class="sound_only"><?php echo $row['subject']; ?> </span>선택</button> <button type="button" class="add_select"><span class="sound_only"><?php echo $row['subject']; ?>
</td> </span>선택</button>
</tr> </td>
</tr>
<?php } ?> <?php } ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_win02 btn_win"> <div class="btn_win02 btn_win">
<button type="button" class="btn_cancel" onclick="window.close();">창닫기</button> <button type="button" class="btn_cancel" onclick="window.close();">창닫기</button>
</div> </div>
<?php } else { ?> <?php } else { ?>
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<colgroup> <colgroup>
<col style="width:100px;"> <col style="width:100px;">
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row"><label for="me_name">메뉴<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="me_name">메뉴<strong class="sound_only"> 필수</strong></label></th>
<td><input type="text" name="me_name" id="me_name" required class="frm_input required"></td> <td><input type="text" name="me_name" id="me_name" required class="frm_input required"></td>
</tr> </tr>
<tr> <tr>
<th scope="row"><label for="me_link">링크<strong class="sound_only"> 필수</strong></label></th> <th scope="row"><label for="me_link">링크<strong class="sound_only"> 필수</strong></label></th>
<td> <td>
<?php echo help('링크는 http://를 포함해서 입력해 주세요.'); ?> <?php echo help('링크는 http://를 포함해서 입력해 주세요.'); ?>
<input type="text" name="me_link" id="me_link" required class="frm_input full_input required"> <input type="text" name="me_link" id="me_link" required class="frm_input full_input required">
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_win02 btn_win"> <div class="btn_win02 btn_win">
<button type="button" id="add_manual" class="btn_submit">추가</button> <button type="button" id="add_manual" class="btn_submit">추가</button>
<button type="button" class="btn_cancel" onclick="window.close();">창닫기</button> <button type="button" class="btn_cancel" onclick="window.close();">창닫기</button>
</div> </div>
<?php } ?> <?php } ?>

View file

@ -2,7 +2,8 @@
$sub_menu = "100400"; $sub_menu = "100400";
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') alert('최고관리자만 접근 가능합니다.'); if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.');
$sql = " select * from {$g5['menu_table']} order by me_order*1, me_id "; $sql = " select * from {$g5['menu_table']} order by me_order*1, me_id ";
@ -14,177 +15,182 @@ $colspan = 8;
?> ?>
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p><strong>주의!</strong> 메뉴설정 작업 반드시 <strong>확인</strong> 누르셔야 저장됩니다.</p> <p><strong>주의!</strong> 메뉴설정 작업 반드시 <strong>확인</strong> 누르셔야 저장됩니다.</p>
</div> </div>
<div class="local_desc01 local_desc"> <div class="local_desc01 local_desc">
<p>아이콘 항목에 사용할 구글 아이콘 이름을 입력해주세요. ( ex. <span style="color:red">&lt;span class="material-icons"&gt;<strong>home</strong>&lt;/span&gt;</span> <strong>home</strong> 입력하기 )</p> <p>아이콘 항목에 사용할 구글 아이콘 이름을 입력해주세요. ( ex. <span style="color:red">&lt;span
class="material-icons"&gt;<strong>home</strong>&lt;/span&gt;</span> <strong>home</strong> 입력하기 )</p>
</div> </div>
<form name="fmenulist" id="fmenulist" method="post" action="./menu_list_update.php" onsubmit="return fmenulist_submit(this);" enctype="multipart/form-data"> <form name="fmenulist" id="fmenulist" method="post" action="./menu_list_update.php"
<input type="hidden" name="token" value=""> onsubmit="return fmenulist_submit(this);" enctype="multipart/form-data">
<input type="hidden" name="token" value="">
<div class="btn_confirm"> <div class="btn_confirm">
<a href="https://fonts.google.com/icons?icon.query=house&icon.set=Material+Icons" target="_blank" class="btn ty3" title="구글 아이콘 목록 보기"><span class="material-icons">app_registration</span></a> <a href="https://fonts.google.com/icons?icon.query=house&icon.set=Material+Icons" target="_blank" class="btn ty3"
<button type="button" onclick="return add_menu();" class="ty2"><span class="material-icons">add</span></button> title="구글 아이콘 목록 보기"><span class="material-icons">app_registration</span></a>
<div class="btn"> <button type="button" onclick="return add_menu();" class="ty2"><span class="material-icons">add</span></button>
<span class="material-icons">save</span> <div class="btn">
<input type="submit" value="저장" class="btn_submit" accesskey="s"> <span class="material-icons">save</span>
</div> <input type="submit" value="저장" class="btn_submit" accesskey="s">
</div> </div>
</div>
<div id="menulist" class="tbl_head01 tbl_wrap"> <div id="menulist" class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<colgroup> <colgroup>
<col style="width:140px;"> <col style="width:140px;">
<col style="width:50px;"> <col style="width:50px;">
<col style="width:150px;"> <col style="width:150px;">
<col> <col>
<col style="width:100px;"> <col style="width:100px;">
<col style="width:80px;"> <col style="width:80px;">
<col style="width:80px;"> <col style="width:80px;">
<col style="width:80px;"> <col style="width:80px;">
</colgroup> </colgroup>
<thead> <thead>
<tr> <tr>
<th scope="col">메뉴</th> <th scope="col">메뉴</th>
<th scope="col" colspan="2">아이콘</th> <th scope="col" colspan="2">아이콘</th>
<th scope="col">링크</th> <th scope="col">링크</th>
<th scope="col">새창</th> <th scope="col">새창</th>
<th scope="col">순서</th> <th scope="col">순서</th>
<th scope="col">사용</th> <th scope="col">사용</th>
<th scope="col">관리</th> <th scope="col">관리</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
$sub_menu_class = ''; $sub_menu_class = '';
if(strlen($row['me_code']) == 4) { if (strlen($row['me_code']) == 4) {
$sub_menu_class = ' sub_menu_class'; $sub_menu_class = ' sub_menu_class';
$sub_menu_info = '<span class="sound_only">'.$row['me_name'].'의 서브</span>'; $sub_menu_info = '<span class="sound_only">' . $row['me_name'] . '의 서브</span>';
$sub_menu_ico = '<span class="sub_menu_ico"></span>'; $sub_menu_ico = '<span class="sub_menu_ico"></span>';
} }
$search = array('"', "'"); $search = array('"', "'");
$replace = array('&#034;', '&#039;'); $replace = array('&#034;', '&#039;');
$me_name = str_replace($search, $replace, $row['me_name']); $me_name = str_replace($search, $replace, $row['me_name']);
?> ?>
<tr class="<?php echo $bg; ?> menu_list menu_group_<?php echo substr($row['me_code'], 0, 2); ?>" data-name="<?php echo $me_name; ?>"> <tr class="<?php echo $bg; ?> menu_list menu_group_<?php echo substr($row['me_code'], 0, 2); ?>"
data-name="<?php echo $me_name; ?>">
<td class="td_category<?php echo $sub_menu_class; ?>"> <td class="td_category<?php echo $sub_menu_class; ?>">
<input type="hidden" name="code[]" value="<?php echo substr($row['me_code'], 0, 2) ?>" /> <input type="hidden" name="code[]" value="<?php echo substr($row['me_code'], 0, 2) ?>" />
<input type="hidden" name="me_level[]" value="<?php echo $row['me_level'] ?>" /> <input type="hidden" name="me_level[]" value="<?php echo $row['me_level'] ?>" />
<input type="text" name="me_name[]" value="<?php echo $me_name; ?>" required class="required frm_input full_input" /> <input type="text" name="me_name[]" value="<?php echo $me_name; ?>" required
</td> class="required frm_input full_input" />
<td> </td>
<i class="material-icons"><?=$row['me_icon']?></i> <td>
</td> <i class="material-icons"><?= $row['me_icon'] ?></i>
<td class="txt-left"> </td>
<input type="text" name="me_icon[]" value="<?php echo get_text($row['me_icon']) ?>" class=" frm_input full_input" /> <td class="txt-left">
</td> <input type="text" name="me_icon[]" value="<?php echo get_text($row['me_icon']) ?>"
<td> class=" frm_input full_input" />
<input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>" class="frm_input full_input" /> </td>
</td> <td>
<td class="td_mng"> <input type="text" name="me_link[]" value="<?php echo $row['me_link'] ?>" id="me_link_<?php echo $i; ?>"
<select name="me_target[]" class=" frm_input full_input"> class="frm_input full_input" />
<option value="self"<?php echo get_selected($row['me_target'], 'self', true); ?>>현재창</option> </td>
<option value="blank"<?php echo get_selected($row['me_target'], 'blank', true); ?>>새창</option> <td class="td_mng">
</select> <select name="me_target[]" class=" frm_input full_input">
</td> <option value="self" <?php echo get_selected($row['me_target'], 'self', true); ?>>현재창</option>
<td class="td_num order"> <option value="blank" <?php echo get_selected($row['me_target'], 'blank', true); ?>>새창</option>
<input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>" class="frm_input full_input"> </select>
</td> </td>
<td class="td_num order">
<td class="td_mng"> <input type="text" name="me_order[]" value="<?php echo $row['me_order'] ?>" id="me_order_<?php echo $i; ?>"
<input type="checkbox" name="me_use[]" id="me_use_<?php echo $i; ?>" value="1" <?=$row['me_use']==1 ? "checked":"";?>> class="frm_input full_input">
</td> </td>
<td class="td_mng">
<button type="button" class="btn_del_menu"><span class='material-icons'>delete</span></button>
</td>
</tr>
<?php
}
if ($i==0) <td class="td_mng">
echo '<tr id="empty_menu_list"><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; <input type="checkbox" name="me_use[]" id="me_use_<?php echo $i; ?>" value="1" <?= $row['me_use'] == 1 ? "checked" : ""; ?>>
?> </td>
</tbody> <td class="td_mng">
</table> <button type="button" class="btn_del_menu"><span class='material-icons'>delete</span></button>
</div> </td>
</tr>
<?php
}
if ($i == 0)
echo '<tr id="empty_menu_list"><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
?>
</tbody>
</table>
</div>
</form> </form>
<script> <script>
$(function() { $(function () {
$(document).on("click", ".btn_add_submenu", function() { $(document).on("click", ".btn_add_submenu", function () {
var code = $(this).closest("tr").find("input[name='code[]']").val().substr(0, 2);
add_submenu(code);
});
$(document).on("click", ".btn_del_menu", function () {
if (!confirm("메뉴를 삭제하시겠습니까?"))
return false;
var $tr = $(this).closest("tr");
if ($tr.find("td.sub_menu_class").size() > 0) {
$tr.remove();
} else {
var code = $(this).closest("tr").find("input[name='code[]']").val().substr(0, 2); var code = $(this).closest("tr").find("input[name='code[]']").val().substr(0, 2);
add_submenu(code); $("tr.menu_group_" + code).remove();
}
if ($("#menulist tr.menu_list").size() < 1) {
var list = "<tr id=\"empty_menu_list\"><td colspan=\"<?php echo $colspan; ?>\" class=\"empty_table\">자료가 없습니다.</td></tr>\n";
$("#menulist table tbody").append(list);
} else {
$("#menulist tr.menu_list").each(function (index) {
$(this).removeClass("bg0 bg1")
.addClass("bg" + (index % 2));
});
}
}); });
});
$(document).on("click", ".btn_del_menu", function() { function add_menu() {
if(!confirm("메뉴를 삭제하시겠습니까?"))
return false;
var $tr = $(this).closest("tr");
if($tr.find("td.sub_menu_class").size() > 0) {
$tr.remove();
} else {
var code = $(this).closest("tr").find("input[name='code[]']").val().substr(0, 2);
$("tr.menu_group_"+code).remove();
}
if($("#menulist tr.menu_list").size() < 1) {
var list = "<tr id=\"empty_menu_list\"><td colspan=\"<?php echo $colspan; ?>\" class=\"empty_table\">자료가 없습니다.</td></tr>\n";
$("#menulist table tbody").append(list);
} else {
$("#menulist tr.menu_list").each(function(index) {
$(this).removeClass("bg0 bg1")
.addClass("bg"+(index % 2));
});
}
});
});
function add_menu()
{
var max_code = base_convert(0, 10, 36); var max_code = base_convert(0, 10, 36);
$("#menulist tr.menu_list").each(function() { $("#menulist tr.menu_list").each(function () {
var me_code = $(this).find("input[name='code[]']").val().substr(0, 2); var me_code = $(this).find("input[name='code[]']").val().substr(0, 2);
if(max_code < me_code) if (max_code < me_code)
max_code = me_code; max_code = me_code;
}); });
var url = "./menu_form.php?code="+max_code+"&new=new"; var url = "./menu_form.php?code=" + max_code + "&new=new";
window.open(url, "add_menu", "left=100,top=100,width=550,height=650,scrollbars=yes,resizable=yes"); window.open(url, "add_menu", "left=100,top=100,width=550,height=650,scrollbars=yes,resizable=yes");
return false; return false;
} }
function add_submenu(code) function add_submenu(code) {
{ var url = "./menu_form.php?code=" + code;
var url = "./menu_form.php?code="+code;
window.open(url, "add_menu", "left=100,top=100,width=550,height=650,scrollbars=yes,resizable=yes"); window.open(url, "add_menu", "left=100,top=100,width=550,height=650,scrollbars=yes,resizable=yes");
return false; return false;
} }
function base_convert(number, frombase, tobase) { function base_convert(number, frombase, tobase) {
// discuss at: http://phpjs.org/functions/base_convert/ // discuss at: http://phpjs.org/functions/base_convert/
// original by: Philippe Baumann // original by: Philippe Baumann
// improved by: Rafał Kukawski (http://blog.kukawski.pl) // improved by: Rafał Kukawski (http://blog.kukawski.pl)
// example 1: base_convert('A37334', 16, 2); // example 1: base_convert('A37334', 16, 2);
// returns 1: '101000110111001100110100' // returns 1: '101000110111001100110100'
return parseInt(number + '', frombase | 0) return parseInt(number + '', frombase | 0)
.toString(tobase | 0); .toString(tobase | 0);
} }
function fmenulist_submit(f) function fmenulist_submit(f) {
{
return true; return true;
} }
</script> </script>
<?php <?php
include_once ('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -5,7 +5,7 @@ include_once('./_common.php');
check_demo(); check_demo();
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
check_admin_token(); check_admin_token();
@ -17,45 +17,45 @@ $group_code = null;
$primary_code = null; $primary_code = null;
$count = count($_POST['code']); $count = count($_POST['code']);
for ($i=0; $i<$count; $i++) { for ($i = 0; $i < $count; $i++) {
$_POST = array_map_deep('trim', $_POST); $_POST = array_map_deep('trim', $_POST);
$code = $_POST['code'][$i]; $code = $_POST['code'][$i];
$me_name = $_POST['me_name'][$i]; $me_name = $_POST['me_name'][$i];
$me_link = $_POST['me_link'][$i]; $me_link = $_POST['me_link'][$i];
if(!$code || !$me_name) if (!$code || !$me_name)
continue; continue;
$sub_code = ''; $sub_code = '';
if($group_code == $code) { if ($group_code == $code) {
$sql = " select MAX(SUBSTRING(me_code,3,2)) as max_me_code $sql = " select MAX(SUBSTRING(me_code,3,2)) as max_me_code
from {$g5['menu_table']} from {$g5['menu_table']}
where SUBSTRING(me_code,1,2) = '$primary_code' "; where SUBSTRING(me_code,1,2) = '$primary_code' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$sub_code = base_convert($row['max_me_code'], 36, 10); $sub_code = base_convert($row['max_me_code'], 36, 10);
$sub_code += 36; $sub_code += 36;
$sub_code = base_convert($sub_code, 10, 36); $sub_code = base_convert($sub_code, 10, 36);
$me_code = $primary_code.$sub_code; $me_code = $primary_code . $sub_code;
} else { } else {
$sql = " select MAX(SUBSTRING(me_code,1,2)) as max_me_code $sql = " select MAX(SUBSTRING(me_code,1,2)) as max_me_code
from {$g5['menu_table']} from {$g5['menu_table']}
where LENGTH(me_code) = '2' "; where LENGTH(me_code) = '2' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$me_code = base_convert($row['max_me_code'], 36, 10); $me_code = base_convert($row['max_me_code'], 36, 10);
$me_code += 36; $me_code += 36;
$me_code = base_convert($me_code, 10, 36); $me_code = base_convert($me_code, 10, 36);
$group_code = $code; $group_code = $code;
$primary_code = $me_code; $primary_code = $me_code;
} }
// 메뉴 등록 // 메뉴 등록
$sql = " insert into {$g5['menu_table']} $sql = " insert into {$g5['menu_table']}
set me_code = '{$me_code}', set me_code = '{$me_code}',
me_icon = '{$_POST['me_icon'][$i]}', me_icon = '{$_POST['me_icon'][$i]}',
me_name = '{$me_name}', me_name = '{$me_name}',
@ -63,8 +63,7 @@ for ($i=0; $i<$count; $i++) {
me_target = '{$_POST['me_target'][$i]}', me_target = '{$_POST['me_target'][$i]}',
me_order = '{$_POST['me_order'][$i]}', me_order = '{$_POST['me_order'][$i]}',
me_use = '{$_POST['me_use'][$i]}' "; me_use = '{$_POST['me_use'][$i]}' ";
sql_query($sql); sql_query($sql);
} }
goto_url('./menu_list.php'); goto_url('./menu_list.php');
?>

View file

@ -3,8 +3,5 @@ $sub_menu = "100500";
include_once('./_common.php'); include_once('./_common.php');
check_demo(); check_demo();
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
phpinfo(); phpinfo();
?>

View file

@ -1,59 +1,61 @@
<?php <?php
$sub_menu = "900100"; $sub_menu = "900200";
include_once("./_common.php"); include_once("./_common.php");
if ($is_admin != "super") if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", G5_URL); alert("최고관리자만 접근 가능합니다.", G5_URL);
$g5['title'] = "세션파일 일괄삭제"; $g5['title'] = "세션파일 일괄삭제";
include_once("./admin.head.php"); include_once("./admin.head.php");
?> ?>
<div class="local_desc02 local_desc"> <div class="local_desc02 local_desc">
<p> <p>
완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오. 완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.
</p> </p>
</div> </div>
<?php <?php
flush();
$list_tag_st = "";
$list_tag_end = "";
if (!$dir = @opendir(G5_DATA_PATH . '/session')) {
echo "<p>세션 디렉토리를 열지못했습니다.</p>";
} else {
$list_tag_st = "<ul>\n<li>완료됨</li>\n";
$list_tag_end = "</ul>\n";
}
$cnt = 0;
echo $list_tag_st;
while ($file = readdir($dir)) {
if (!strstr($file, 'sess_'))
continue;
if (strpos($file, 'sess_') != 0)
continue;
$session_file = G5_DATA_PATH . '/session/' . $file;
if (!$atime = @fileatime($session_file)) {
continue;
}
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++;
$return = unlink($session_file);
//echo "<script>document.getElementById('ct').innerHTML += '{$session_file}<br/>';</script>\n";
echo "<li>{$session_file}</li>\n";
flush(); flush();
$list_tag_st = ""; if ($cnt % 10 == 0)
$list_tag_end = ""; //echo "<script>document.getElementById('ct').innerHTML = '';</script>\n";
if (!$dir=@opendir(G5_DATA_PATH.'/session')) { echo "\n";
echo "<p>세션 디렉토리를 열지못했습니다.</p>"; }
} else { }
$list_tag_st = "<ul>\n<li>완료됨</li>\n"; echo $list_tag_end;
$list_tag_end = "</ul>\n"; echo '<div class="local_desc01 local_desc"><p><strong>세션데이터 ' . $cnt . '건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>' . PHP_EOL;
}
$cnt=0;
echo $list_tag_st;
while($file=readdir($dir)) {
if (!strstr($file,'sess_')) continue;
if (strpos($file,'sess_')!=0) continue;
$session_file = G5_DATA_PATH.'/session/'.$file;
if (!$atime=@fileatime($session_file)) {
continue;
}
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++;
$return = unlink($session_file);
//echo "<script>document.getElementById('ct').innerHTML += '{$session_file}<br/>';</script>\n";
echo "<li>{$session_file}</li>\n";
flush();
if ($cnt%10==0)
//echo "<script>document.getElementById('ct').innerHTML = '';</script>\n";
echo "\n";
}
}
echo $list_tag_end;
echo '<div class="local_desc01 local_desc"><p><strong>세션데이터 '.$cnt.'건 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL;
?> ?>
<?php <?php

View file

@ -3,66 +3,66 @@ $sub_menu = '100920';
include_once('./_common.php'); include_once('./_common.php');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.', G5_URL); alert('최고관리자만 접근 가능합니다.', G5_URL);
$g5['title'] = '썸네일 일괄삭제'; $g5['title'] = '썸네일 일괄삭제';
include_once('./admin.head.php'); include_once('./admin.head.php');
?> ?>
<div class="local_desc02 local_desc"> <div class="local_desc02 local_desc">
<p> <p>
완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오. 완료 메세지가 나오기 전에 프로그램의 실행을 중지하지 마십시오.
</p> </p>
</div> </div>
<?php <?php
$directory = array(); $directory = array();
$dl = array('file', 'editor'); $dl = array('file', 'editor');
foreach($dl as $val) { foreach ($dl as $val) {
if($handle = opendir(G5_DATA_PATH.'/'.$val)) { if ($handle = opendir(G5_DATA_PATH . '/' . $val)) {
while(false !== ($entry = readdir($handle))) { while (false !== ($entry = readdir($handle))) {
if($entry == '.' || $entry == '..') if ($entry == '.' || $entry == '..')
continue; continue;
$path = G5_DATA_PATH.'/'.$val.'/'.$entry; $path = G5_DATA_PATH . '/' . $val . '/' . $entry;
if(is_dir($path)) if (is_dir($path))
$directory[] = $path; $directory[] = $path;
}
} }
}
} }
flush(); flush();
if (empty($directory)) { if (empty($directory)) {
echo '<p>썸네일디렉토리를 열지못했습니다.</p>'; echo '<p>썸네일디렉토리를 열지못했습니다.</p>';
} }
$cnt=0; $cnt = 0;
echo '<ul>'.PHP_EOL; echo '<ul>' . PHP_EOL;
foreach($directory as $dir) { foreach ($directory as $dir) {
$files = glob($dir.'/thumb-*'); $files = glob($dir . '/thumb-*');
if (is_array($files)) { if (is_array($files)) {
foreach($files as $thumbnail) { foreach ($files as $thumbnail) {
$cnt++; $cnt++;
@unlink($thumbnail); @unlink($thumbnail);
echo '<li>'.$thumbnail.'</li>'.PHP_EOL; echo '<li>' . $thumbnail . '</li>' . PHP_EOL;
flush(); flush();
if ($cnt%10==0) if ($cnt % 10 == 0)
echo PHP_EOL; echo PHP_EOL;
}
} }
}
} }
echo '<li>완료됨</li></ul>'.PHP_EOL; echo '<li>완료됨</li></ul>' . PHP_EOL;
echo '<div class="local_desc01 local_desc"><p><strong>썸네일 '.$cnt.'건의 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>'.PHP_EOL; echo '<div class="local_desc01 local_desc"><p><strong>썸네일 ' . $cnt . '건의 삭제 완료됐습니다.</strong><br>프로그램의 실행을 끝마치셔도 좋습니다.</p></div>' . PHP_EOL;
?> ?>
<?php <?php
include_once('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -6,10 +6,10 @@ include_once(G5_EDITOR_LIB);
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
$g5['title'] = '메인 편집'; $g5['title'] = '메인 편집';
include_once ('./admin.head.php'); include_once('./admin.head.php');
// -- 내용관리의 기능을 통해 메뉴와 메인 내용을 가져온다. // -- 내용관리의 기능을 통해 메뉴와 메인 내용을 가져온다.
// -- 메인 정보 가져오기 // -- 메인 정보 가져오기
@ -20,45 +20,44 @@ $main_co = sql_fetch($sql);
?> ?>
<form name="fviewerform" id="fviewerform" method="post" onsubmit="return fviewerform_submit(this);" enctype="multipart/form-data"> <form name="fviewerform" id="fviewerform" method="post" onsubmit="return fviewerform_submit(this);"
<input type="hidden" name="token" value="" id="token"> enctype="multipart/form-data">
<div class="btn_confirm"> <input type="hidden" name="token" value="" id="token">
<div class="btn"> <div class="btn_confirm">
<span class="material-icons">save</span> <div class="btn">
<input type="submit" value="저장" class="btn_submit" accesskey="s"> <span class="material-icons">save</span>
</div> <input type="submit" value="저장" class="btn_submit" accesskey="s">
</div> </div>
</div>
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<colgroup> <colgroup>
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<td> <td>
<?php echo help('메인영역에 들어갈 내용을 자유롭게 작성해 주시길 바랍니다.') ?> <?php echo help('메인영역에 들어갈 내용을 자유롭게 작성해 주시길 바랍니다.') ?>
<?php echo editor_html('main_content', get_text($main_co['co_content'], 0)); ?> <?php echo editor_html('main_content', get_text($main_co['co_content'], 0)); ?>
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
</form> </form>
<script> <script>
function fviewerform_submit(f) function fviewerform_submit(f) {
{ f.action = "./viewer_form_update.php";
f.action = "./viewer_form_update.php";
<?php echo get_editor_js('main_content'); ?> <?php echo get_editor_js('main_content'); ?>
return true; return true;
} }
</script> </script>
<?php <?php
include_once ('./admin.tail.php'); include_once('./admin.tail.php');
?> ?>

View file

@ -8,22 +8,20 @@ $sql_common = " co_html = '1',
// -- 메인 정보 가져오기 // -- 메인 정보 가져오기
$sql = " select co_id from {$g5['content_table']} where co_id = 'site_main' "; $sql = " select co_id from {$g5['content_table']} where co_id = 'site_main' ";
$main_co = sql_fetch($sql); $main_co = sql_fetch($sql);
if(!$main_co['co_id']) { if (!$main_co['co_id']) {
// Insert // Insert
$sql = " insert {$g5['content_table']} $sql = " insert {$g5['content_table']}
set co_id = 'site_main', set co_id = 'site_main',
co_content = '{$main_content}', co_content = '{$main_content}',
{$sql_common} "; {$sql_common} ";
sql_query($sql); sql_query($sql);
} else { } else {
// Update // Update
$sql = " update {$g5['content_table']} $sql = " update {$g5['content_table']}
set co_content = '{$main_content}', set co_content = '{$main_content}',
{$sql_common} {$sql_common}
where co_id = 'site_main' "; where co_id = 'site_main' ";
sql_query($sql); sql_query($sql);
} }
goto_url('./viewer_form.php');
goto_url('./viewer_form.php', false);
?>

View file

@ -1,57 +1,71 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; if (!defined('_GNUBOARD_'))
exit;
include_once(G5_LIB_PATH.'/visit.lib.php'); include_once(G5_LIB_PATH . '/visit.lib.php');
include_once('./admin.head.php'); include_once('./admin.head.php');
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php'); include_once(G5_PLUGIN_PATH . '/jquery-ui/datepicker.php');
if (empty($fr_date) || ! preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $fr_date) ) $fr_date = G5_TIME_YMD; if (empty($fr_date) || !preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $fr_date))
if (empty($to_date) || ! preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $to_date) ) $to_date = G5_TIME_YMD; $fr_date = G5_TIME_YMD;
if (empty($to_date) || !preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/", $to_date))
$to_date = G5_TIME_YMD;
$file_data = basename($_SERVER['PHP_SELF']); $file_data = basename($_SERVER['PHP_SELF']);
$qstr = "fr_date=".$fr_date."&amp;to_date=".$to_date; $qstr = "fr_date=" . $fr_date . "&amp;to_date=" . $to_date;
$query_string = $qstr ? '?'.$qstr : ''; $query_string = $qstr ? '?' . $qstr : '';
?> ?>
<form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get"> <form name="fsearch" id="fsearch" class="local_sch01 local_sch" method="get">
<div class="sch_last"> <div class="sch_last">
<strong>기간별검색</strong>&nbsp;&nbsp; <strong>기간별검색</strong>&nbsp;&nbsp;
<input type="text" name="fr_date" value="<?php echo $fr_date ?>" id="fr_date" class="frm_input" size="11" maxlength="10"> <input type="text" name="fr_date" value="<?php echo $fr_date ?>" id="fr_date" class="frm_input" size="11"
<label for="fr_date" class="sound_only">시작일</label> maxlength="10">
~ <label for="fr_date" class="sound_only">시작일</label>
<input type="text" name="to_date" value="<?php echo $to_date ?>" id="to_date" class="frm_input" size="11" maxlength="10"> ~
<label for="to_date" class="sound_only">종료일</label> <input type="text" name="to_date" value="<?php echo $to_date ?>" id="to_date" class="frm_input" size="11"
<input type="submit" value="검색" class="btn_submit"> maxlength="10">
</div> <label for="to_date" class="sound_only">종료일</label>
<input type="submit" value="검색" class="btn_submit">
</div>
</form> </form>
<br /> <br />
<ul class="anchor"> <ul class="anchor">
<li <?=$file_data == 'visit_list.php' ? "class='on'": ""?>><a href="./visit_list.php<?php echo $query_string ?>">접속자</a></li> <li <?= $file_data == 'visit_list.php' ? "class='on'" : "" ?>><a href="./visit_list.php<?php echo $query_string ?>">접속자</a>
<li <?=$file_data == 'visit_domain.php' ? "class='on'": ""?>><a href="./visit_domain.php<?php echo $query_string ?>">도메인</a></li> </li>
<li <?=$file_data == 'visit_browser.php' ? "class='on'": ""?>><a href="./visit_browser.php<?php echo $query_string ?>">브라우저</a></li> <li <?= $file_data == 'visit_domain.php' ? "class='on'" : "" ?>><a
<li <?=$file_data == 'visit_os.php' ? "class='on'": ""?>><a href="./visit_os.php<?php echo $query_string ?>">운영체제</a></li> href="./visit_domain.php<?php echo $query_string ?>">도메인</a></li>
<?php if(version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) { ?> <li <?= $file_data == 'visit_browser.php' ? "class='on'" : "" ?>><a
<li <?=$file_data == 'visit_device.php' ? "class='on'": ""?>><a href="./visit_device.php<?php echo $query_string ?>">접속기기</a></li> href="./visit_browser.php<?php echo $query_string ?>">브라우저</a></li>
<?php } ?> <li <?= $file_data == 'visit_os.php' ? "class='on'" : "" ?>><a href="./visit_os.php<?php echo $query_string ?>">운영체제</a>
<li <?=$file_data == 'visit_hour.php' ? "class='on'": ""?>><a href="./visit_hour.php<?php echo $query_string ?>">시간</a></li> </li>
<li <?=$file_data == 'visit_week.php' ? "class='on'": ""?>><a href="./visit_week.php<?php echo $query_string ?>">요일</a></li> <?php if (version_compare(phpversion(), '5.3.0', '>=') && defined('G5_BROWSCAP_USE') && G5_BROWSCAP_USE) { ?>
<li <?=$file_data == 'visit_date.php' ? "class='on'": ""?>><a href="./visit_date.php<?php echo $query_string ?>">일</a></li> <li <?= $file_data == 'visit_device.php' ? "class='on'" : "" ?>><a
<li <?=$file_data == 'visit_month.php' ? "class='on'": ""?>><a href="./visit_month.php<?php echo $query_string ?>">월</a></li> href="./visit_device.php<?php echo $query_string ?>">접속기기</a></li>
<li <?=$file_data == 'visit_year.php' ? "class='on'": ""?>><a href="./visit_year.php<?php echo $query_string ?>">년</a></li> <?php } ?>
<li <?= $file_data == 'visit_hour.php' ? "class='on'" : "" ?>><a href="./visit_hour.php<?php echo $query_string ?>">시간</a>
</li>
<li <?= $file_data == 'visit_week.php' ? "class='on'" : "" ?>><a href="./visit_week.php<?php echo $query_string ?>">요일</a>
</li>
<li <?= $file_data == 'visit_date.php' ? "class='on'" : "" ?>><a href="./visit_date.php<?php echo $query_string ?>">일</a>
</li>
<li <?= $file_data == 'visit_month.php' ? "class='on'" : "" ?>><a href="./visit_month.php<?php echo $query_string ?>">월</a>
</li>
<li <?= $file_data == 'visit_year.php' ? "class='on'" : "" ?>><a href="./visit_year.php<?php echo $query_string ?>">년</a>
</li>
</ul> </ul>
<script> <script>
$(function(){ $(function () {
$("#fr_date, #to_date").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" }); $("#fr_date, #to_date").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" });
}); });
function fvisit_submit(act) function fvisit_submit(act) {
{ var f = document.fvisit;
var f = document.fvisit; f.action = act;
f.action = act; f.submit();
f.submit(); }
}
</script> </script>

View file

@ -14,82 +14,83 @@ $sum_count = 0;
$sql = " select * from {$g5['visit_table']} $sql = " select * from {$g5['visit_table']}
where vi_date between '{$fr_date}' and '{$to_date}' "; where vi_date between '{$fr_date}' and '{$to_date}' ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row=sql_fetch_array($result)) { while ($row = sql_fetch_array($result)) {
$s = $row['vi_browser']; $s = $row['vi_browser'];
if(!$s) if (!$s)
$s = get_brow($row['vi_agent']); $s = get_brow($row['vi_agent']);
$arr[$s]++; $arr[$s]++;
if ($arr[$s] > $max) $max = $arr[$s]; if ($arr[$s] > $max)
$max = $arr[$s];
$sum_count++; $sum_count++;
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">순위</th> <th scope="col">순위</th>
<th scope="col">브라우저</th> <th scope="col">브라우저</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3">합계</td> <td colspan="3">합계</td>
<td><strong><?php echo $sum_count ?></strong></td> <td><strong><?php echo $sum_count ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
arsort($arr); arsort($arr);
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $arr[$key]; $count = $arr[$key];
if ($save_count != $count) { if ($save_count != $count) {
$i++; $i++;
$no = $i; $no = $i;
$save_count = $count; $save_count = $count;
} else { } else {
$no = ""; $no = "";
} }
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_num"><?php echo $no ?></td> <td class="td_num"><?php echo $no ?></td>
<td class="td_category td_category1"><?php echo $key ?></td> <td class="td_category td_category1"><?php echo $key ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo $count ?></td> <td class="td_numbig"><?php echo $count ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -16,69 +16,72 @@ $sql = " select vs_date, vs_count as cnt
where vs_date between '{$fr_date}' and '{$to_date}' where vs_date between '{$fr_date}' and '{$to_date}'
order by vs_date desc "; order by vs_date desc ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$arr[$row['vs_date']] = $row['cnt']; $arr[$row['vs_date']] = $row['cnt'];
if ($row['cnt'] > $max) $max = $row['cnt']; if ($row['cnt'] > $max)
$max = $row['cnt'];
$sum_count += $row['cnt']; $sum_count += $row['cnt'];
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">--</th> <th scope="col">--</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="2">합계</td> <td colspan="2">합계</td>
<td><strong><?php echo number_format($sum_count) ?></strong></td> <td><strong><?php echo number_format($sum_count) ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $value; $count = $value;
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><a href="./visit_list.php?fr_date=<?php echo $key ?>&amp;to_date=<?php echo $key ?>"><?php echo $key ?></a></td> <td class="td_category"><a
<td> href="./visit_list.php?fr_date=<?php echo $key ?>&amp;to_date=<?php echo $key ?>"><?php echo $key ?></a>
<div class="visit_bar"> </td>
<td>
<div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo number_format($value) ?></td> <td class="td_numbig"><?php echo number_format($value) ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
$i++; $i++;
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -11,112 +11,112 @@ include_once('./admin.head.php');
$sql = " select min(vi_date) as min_date from {$g5['visit_table']} "; $sql = " select min(vi_date) as min_date from {$g5['visit_table']} ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$min_year = (int)substr($row['min_date'], 0, 4); $min_year = (int) substr($row['min_date'], 0, 4);
$now_year = (int)substr(G5_TIME_YMD, 0, 4); $now_year = (int) substr(G5_TIME_YMD, 0, 4);
?> ?>
<div class="local_ov01 local_ov"> <div class="local_ov01 local_ov">
접속자 로그를 삭제할 년도와 방법을 선택해주십시오. 접속자 로그를 삭제할 년도와 방법을 선택해주십시오.
</div> </div>
<form name="fvisitdelete" class="local_sch02 local_sch" method="post" action="./visit_delete_update.php" onsubmit="return form_submit(this);"> <form name="fvisitdelete" class="local_sch02 local_sch" method="post" action="./visit_delete_update.php"
onsubmit="return form_submit(this);">
<div class="tbl_frm01 tbl_wrap"> <div class="tbl_frm01 tbl_wrap">
<table> <table>
<caption></caption> <caption></caption>
<colgroup> <colgroup>
<col style="width: 130px;"> <col style="width: 130px;">
<col> <col>
</colgroup> </colgroup>
<tbody> <tbody>
<tr> <tr>
<th scope="row">일자선택</th> <th scope="row">일자선택</th>
<td> <td>
<select name="year" id="year"> <select name="year" id="year">
<option value="">년도선택</option> <option value="">년도선택</option>
<?php <?php
for($year=$min_year; $year<=$now_year; $year++) { for ($year = $min_year; $year <= $now_year; $year++) {
?> ?>
<option value="<?php echo $year; ?>"><?php echo $year; ?></option> <option value="<?php echo $year; ?>"><?php echo $year; ?></option>
<?php <?php
} }
?> ?>
</select> </select>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
<select name="month" id="month"> <select name="month" id="month">
<option value="">월선택</option> <option value="">월선택</option>
<?php <?php
for($i=1; $i<=12; $i++) { for ($i = 1; $i <= 12; $i++) {
?> ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option> <option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php <?php
} }
?> ?>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">삭제방법선택</th> <th scope="row">삭제방법선택</th>
<td> <td>
<select name="method" id="method"> <select name="method" id="method">
<option value="before">선택년월 이전 자료삭제</option> <option value="before">선택년월 이전 자료삭제</option>
<option value="specific">선택년월의 자료삭제</option> <option value="specific">선택년월의 자료삭제</option>
</select> </select>
</td> </td>
</tr> </tr>
<tr> <tr>
<th scope="row">관리자 비밀번호</th> <th scope="row">관리자 비밀번호</th>
<td> <td>
<input type="password" name="pass" id="pass" class="frm_input required"> <input type="password" name="pass" id="pass" class="frm_input required">
</td> </td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
</div> </div>
<div class="btn_confirm01 btn_confirm"> <div class="btn_confirm01 btn_confirm">
<div class="btn"> <div class="btn">
<span class="material-icons">save</span> <span class="material-icons">save</span>
<input type="submit" value="확인" class="btn_submit" accesskey="s"> <input type="submit" value="확인" class="btn_submit" accesskey="s">
</div> </div>
</div> </div>
</form> </form>
<script> <script>
function form_submit(f) function form_submit(f) {
{ var year = $("#year").val();
var year = $("#year").val(); var month = $("#month").val();
var month = $("#month").val(); var method = $("#method").val();
var method = $("#method").val(); var pass = $("#pass").val();
var pass = $("#pass").val();
if(!year) { if (!year) {
alert("년도를 선택해 주십시오."); alert("년도를 선택해 주십시오.");
return false; return false;
} }
if(!month) { if (!month) {
alert("월을 선택해 주십시오."); alert("월을 선택해 주십시오.");
return false; return false;
} }
if(!pass) { if (!pass) {
alert("관리자 비밀번호를 입력해 주십시오."); alert("관리자 비밀번호를 입력해 주십시오.");
return false; return false;
} }
var msg = year+""+month+""; var msg = year + "" + month + "";
if(method == "before") if (method == "before")
msg += " 이전"; msg += " 이전";
else else
msg += ""; msg += "";
msg += " 자료를 삭제하시겠습니까?"; msg += " 자료를 삭제하시겠습니까?";
return confirm(msg); return confirm(msg);
} }
</script> </script>
<?php <?php

View file

@ -7,39 +7,39 @@ check_demo();
auth_check($auth[$sub_menu], 'd'); auth_check($auth[$sub_menu], 'd');
if ($is_admin != 'super') if ($is_admin != 'super')
alert('최고관리자만 접근 가능합니다.'); alert('최고관리자만 접근 가능합니다.');
$year = preg_replace('/[^0-9]/', '', $_POST['year']); $year = preg_replace('/[^0-9]/', '', $_POST['year']);
$month = preg_replace('/[^0-9]/', '', $_POST['month']); $month = preg_replace('/[^0-9]/', '', $_POST['month']);
$method = $_POST['method']; $method = $_POST['method'];
$pass = trim($_POST['pass']); $pass = trim($_POST['pass']);
if(!$pass) if (!$pass)
alert('관리자 비밀번호를 입력해 주십시오.'); alert('관리자 비밀번호를 입력해 주십시오.');
// 관리자 비밀번호 비교 // 관리자 비밀번호 비교
$admin = get_admin('super'); $admin = get_admin('super');
if(!check_password($pass, $admin['mb_password'])) if (!check_password($pass, $admin['mb_password']))
alert('관리자 비밀번호가 일치하지 않습니다.'); alert('관리자 비밀번호가 일치하지 않습니다.');
if(!$year) if (!$year)
alert('년도를 선택해 주십시오.'); alert('년도를 선택해 주십시오.');
if(!$month) if (!$month)
alert('월을 선택해 주십시오.'); alert('월을 선택해 주십시오.');
// 로그삭제 query // 로그삭제 query
$del_date = $year.'-'.str_pad($month, 2, '0', STR_PAD_LEFT); $del_date = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT);
switch($method) { switch ($method) {
case 'before': case 'before':
$sql_common = " where substring(vi_date, 1, 7) < '{$del_date}' "; $sql_common = " where substring(vi_date, 1, 7) < '{$del_date}' ";
break; break;
case 'specific': case 'specific':
$sql_common = " where substring(vi_date, 1, 7) = '{$del_date}' "; $sql_common = " where substring(vi_date, 1, 7) = '{$del_date}' ";
break; break;
default: default:
alert('올바른 방법으로 이용해 주십시오.'); alert('올바른 방법으로 이용해 주십시오.');
break; break;
} }
// 총 로그수 // 총 로그수
@ -56,5 +56,5 @@ $sql = " select count(*) as cnt from {$g5['visit_table']} ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$total_count2 = $row['cnt']; $total_count2 = $row['cnt'];
alert('총 '.number_format($total_count).'건 중 '.number_format($total_count - $total_count2).'건 삭제 완료', './visit_delete.php'); alert('총 ' . number_format($total_count) . '건 중 ' . number_format($total_count - $total_count2) . '건 삭제 완료', './visit_delete.php');
?> ?>

View file

@ -14,86 +14,87 @@ $sum_count = 0;
$sql = " select * from {$g5['visit_table']} $sql = " select * from {$g5['visit_table']}
where vi_date between '{$fr_date}' and '{$to_date}' "; where vi_date between '{$fr_date}' and '{$to_date}' ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row=sql_fetch_array($result)) { while ($row = sql_fetch_array($result)) {
$s = $row['vi_device']; $s = $row['vi_device'];
if(!$s) if (!$s)
$s = '기타'; $s = '기타';
$arr[$s]++; $arr[$s]++;
if ($arr[$s] > $max) $max = $arr[$s]; if ($arr[$s] > $max)
$max = $arr[$s];
$sum_count++; $sum_count++;
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">순위</th> <th scope="col">순위</th>
<th scope="col">접속기기</th> <th scope="col">접속기기</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3">합계</td> <td colspan="3">합계</td>
<td><strong><?php echo $sum_count ?></strong></td> <td><strong><?php echo $sum_count ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
arsort($arr); arsort($arr);
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $arr[$key]; $count = $arr[$key];
if ($save_count != $count) { if ($save_count != $count) {
$i++; $i++;
$no = $i; $no = $i;
$save_count = $count; $save_count = $count;
} else { } else {
$no = ''; $no = '';
} }
if (!$key) { if (!$key) {
$key = '기타'; $key = '기타';
} }
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_num"><?php echo $no ?></td> <td class="td_num"><?php echo $no ?></td>
<td class="td_category td_category1"><?php echo $key ?></td> <td class="td_category td_category1"><?php echo $key ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo $count ?></td> <td class="td_numbig"><?php echo $count ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -14,89 +14,90 @@ $sum_count = 0;
$sql = " select * from {$g5['visit_table']} $sql = " select * from {$g5['visit_table']}
where vi_date between '{$fr_date}' and '{$to_date}' "; where vi_date between '{$fr_date}' and '{$to_date}' ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row=sql_fetch_array($result)) { while ($row = sql_fetch_array($result)) {
$str = $row['vi_referer']; $str = $row['vi_referer'];
preg_match("/^http[s]*:\/\/([\.\-\_0-9a-zA-Z]*)\//", $str, $match); preg_match("/^http[s]*:\/\/([\.\-\_0-9a-zA-Z]*)\//", $str, $match);
$s = $match[1]; $s = $match[1];
$s = preg_replace("/^(www\.|search\.|dirsearch\.|dir\.search\.|dir\.|kr\.search\.|myhome\.)(.*)/", "\\2", $s); $s = preg_replace("/^(www\.|search\.|dirsearch\.|dir\.search\.|dir\.|kr\.search\.|myhome\.)(.*)/", "\\2", $s);
$arr[$s]++; $arr[$s]++;
if ($arr[$s] > $max) $max = $arr[$s]; if ($arr[$s] > $max)
$max = $arr[$s];
$sum_count++; $sum_count++;
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">순위</th> <th scope="col">순위</th>
<th scope="col">접속 도메인</th> <th scope="col">접속 도메인</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3">합계</td> <td colspan="3">합계</td>
<td><strong><?php echo $sum_count ?></strong></td> <td><strong><?php echo $sum_count ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
arsort($arr); arsort($arr);
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $arr[$key]; $count = $arr[$key];
if ($save_count != $count) { if ($save_count != $count) {
$i++; $i++;
$no = $i; $no = $i;
$save_count = $count; $save_count = $count;
} else { } else {
$no = ''; $no = '';
} }
if (!$key) { if (!$key) {
$link = ''; $link = '';
$link2 = ''; $link2 = '';
$key = '직접'; $key = '직접';
} else { } else {
$link = '<a href="./visit_list.php?'.$qstr.'&amp;domain='.$key.'">'; $link = '<a href="./visit_list.php?' . $qstr . '&amp;domain=' . $key . '">';
$link2 = '</a>'; $link2 = '</a>';
} }
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_num"><?php echo $no ?></td> <td class="td_num"><?php echo $no ?></td>
<td class="td_category"><?php echo $link ?><?php echo $key ?><?php echo $link2 ?></td> <td class="td_category"><?php echo $link ?><?php echo $key ?><?php echo $link2 ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo $count ?></td> <td class="td_numbig"><?php echo $count ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -17,64 +17,65 @@ $sql = " select SUBSTRING(vi_time,1,2) as vi_hour, count(vi_id) as cnt
group by vi_hour group by vi_hour
order by vi_hour "; order by vi_hour ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$arr[$row['vi_hour']] = $row['cnt']; $arr[$row['vi_hour']] = $row['cnt'];
if ($row['cnt'] > $max) $max = $row['cnt']; if ($row['cnt'] > $max)
$max = $row['cnt'];
$sum_count += $row['cnt']; $sum_count += $row['cnt'];
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">시간</th> <th scope="col">시간</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="2">합계</td> <td colspan="2">합계</td>
<td><strong><?php echo number_format($sum_count) ?></strong></td> <td><strong><?php echo number_format($sum_count) ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$k = 0; $k = 0;
if ($i) { if ($i) {
for ($i=0; $i<24; $i++) { for ($i = 0; $i < 24; $i++) {
$hour = sprintf("%02d", $i); $hour = sprintf("%02d", $i);
$count = (int)$arr[$hour]; $count = (int) $arr[$hour];
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><?php echo $hour ?></td> <td class="td_category"><?php echo $hour ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo number_format($count) ?></td> <td class="td_numbig"><?php echo number_format($count) ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -12,7 +12,7 @@ $colspan = 6;
$sql_common = " from {$g5['visit_table']} "; $sql_common = " from {$g5['visit_table']} ";
$sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' "; $sql_search = " where vi_date between '{$fr_date}' and '{$to_date}' ";
if (isset($domain)) if (isset($domain))
$sql_search .= " and vi_referer like '%{$domain}%' "; $sql_search .= " and vi_referer like '%{$domain}%' ";
$sql = " select count(*) as cnt $sql = " select count(*) as cnt
{$sql_common} {$sql_common}
@ -21,8 +21,9 @@ $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1)
$page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select * $sql = " select *
@ -34,28 +35,28 @@ $result = sql_query($sql);
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">IP</th> <th scope="col">IP</th>
<th scope="col">접속 경로</th> <th scope="col">접속 경로</th>
<th scope="col">브라우저</th> <th scope="col">브라우저</th>
<th scope="col">OS</th> <th scope="col">OS</th>
<th scope="col">접속기기</th> <th scope="col">접속기기</th>
<th scope="col">일시</th> <th scope="col">일시</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$brow = $row['vi_browser']; $brow = $row['vi_browser'];
if(!$brow) if (!$brow)
$brow = get_brow($row['vi_agent']); $brow = get_brow($row['vi_agent']);
$os = $row['vi_os']; $os = $row['vi_os'];
if(!$os) if (!$os)
$os = get_os($row['vi_agent']); $os = get_os($row['vi_agent']);
$device = $row['vi_device']; $device = $row['vi_device'];
@ -65,50 +66,54 @@ $result = sql_query($sql);
$title = ''; $title = '';
if ($row['vi_referer']) { if ($row['vi_referer']) {
$referer = get_text(cut_str($row['vi_referer'], 255, '')); $referer = get_text(cut_str($row['vi_referer'], 255, ''));
$referer = urldecode($referer); $referer = urldecode($referer);
if (!is_utf8($referer)) { if (!is_utf8($referer)) {
$referer = iconv_utf8($referer); $referer = iconv_utf8($referer);
} }
$title = str_replace(array('<', '>', '&'), array("&lt;", "&gt;", "&amp;"), $referer); $title = str_replace(array('<', '>', '&'), array("&lt;", "&gt;", "&amp;"), $referer);
$link = '<a href="'.$row['vi_referer'].'" target="_blank">'; $link = '<a href="' . $row['vi_referer'] . '" target="_blank">';
$link = str_replace('&', "&amp;", $link); $link = str_replace('&', "&amp;", $link);
$link2 = '</a>'; $link2 = '</a>';
} }
if ($is_admin == 'super') if ($is_admin == 'super')
$ip = $row['vi_ip']; $ip = $row['vi_ip'];
else else
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']); $ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']);
if ($brow == '기타') { $brow = '<span title="'.get_text($row['vi_agent']).'">'.$brow.'</span>'; } if ($brow == '기타') {
if ($os == '기타') { $os = '<span title="'.get_text($row['vi_agent']).'">'.$os.'</span>'; } $brow = '<span title="' . get_text($row['vi_agent']) . '">' . $brow . '</span>';
}
if ($os == '기타') {
$os = '<span title="' . get_text($row['vi_agent']) . '">' . $os . '</span>';
}
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><?php echo $ip ?></td> <td class="td_category"><?php echo $ip ?></td>
<td><?php echo $link ?><?php echo $title ?><?php echo $link2 ?></td> <td><?php echo $link ?><?php echo $title ?><?php echo $link2 ?></td>
<td class="td_category td_category1"><?php echo $brow ?></td> <td class="td_category td_category1"><?php echo $brow ?></td>
<td class="td_category td_category3"><?php echo $os ?></td> <td class="td_category td_category3"><?php echo $os ?></td>
<td class="td_category td_category2"><?php echo $device; ?></td> <td class="td_category td_category2"><?php echo $device; ?></td>
<td class="td_datetime"><?php echo $row['vi_date'] ?> <?php echo $row['vi_time'] ?></td> <td class="td_datetime"><?php echo $row['vi_date'] ?> <?php echo $row['vi_time'] ?></td>
</tr> </tr>
<?php <?php
} }
if ($i == 0) if ($i == 0)
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없거나 관리자에 의해 삭제되었습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없거나 관리자에 의해 삭제되었습니다.</td></tr>';
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php
if (isset($domain)) if (isset($domain))
$qstr .= "&amp;domain=$domain"; $qstr .= "&amp;domain=$domain";
$qstr .= "&amp;page="; $qstr .= "&amp;page=";
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr"); $pagelist = get_paging($config['cf_write_pages'], $page, $total_page, "{$_SERVER['SCRIPT_NAME']}?$qstr");

View file

@ -17,72 +17,75 @@ $sql = " select SUBSTRING(vs_date,1,7) as vs_month, SUM(vs_count) as cnt
group by vs_month group by vs_month
order by vs_month desc "; order by vs_month desc ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$arr[$row['vs_month']] = $row['cnt']; $arr[$row['vs_month']] = $row['cnt'];
if ($row['cnt'] > $max) $max = $row['cnt']; if ($row['cnt'] > $max)
$max = $row['cnt'];
$sum_count += $row['cnt']; $sum_count += $row['cnt'];
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">-</th> <th scope="col">-</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="2">합계</td> <td colspan="2">합계</td>
<td><strong><?php echo number_format($sum_count) ?></strong></td> <td><strong><?php echo number_format($sum_count) ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $value; $count = $value;
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><a href="./visit_date.php?fr_date=<?php echo $key ?>-01&amp;to_date=<?php echo $key ?>-31"><?php echo $key ?></a></td> <td class="td_category"><a
<td> href="./visit_date.php?fr_date=<?php echo $key ?>-01&amp;to_date=<?php echo $key ?>-31"><?php echo $key ?></a>
<div class="visit_bar"> </td>
<td>
<div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo number_format($value) ?></td> <td class="td_numbig"><?php echo number_format($value) ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
$i++; $i++;
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -14,86 +14,87 @@ $sum_count = 0;
$sql = " select * from {$g5['visit_table']} $sql = " select * from {$g5['visit_table']}
where vi_date between '{$fr_date}' and '{$to_date}' "; where vi_date between '{$fr_date}' and '{$to_date}' ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row=sql_fetch_array($result)) { while ($row = sql_fetch_array($result)) {
$s = $row['vi_os']; $s = $row['vi_os'];
if(!$s) if (!$s)
$s = get_os($row['vi_agent']); $s = get_os($row['vi_agent']);
$arr[$s]++; $arr[$s]++;
if ($arr[$s] > $max) $max = $arr[$s]; if ($arr[$s] > $max)
$max = $arr[$s];
$sum_count++; $sum_count++;
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">순위</th> <th scope="col">순위</th>
<th scope="col">OS</th> <th scope="col">OS</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="3">합계</td> <td colspan="3">합계</td>
<td><strong><?php echo $sum_count ?></strong></td> <td><strong><?php echo $sum_count ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
arsort($arr); arsort($arr);
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $arr[$key]; $count = $arr[$key];
if ($save_count != $count) { if ($save_count != $count) {
$i++; $i++;
$no = $i; $no = $i;
$save_count = $count; $save_count = $count;
} else { } else {
$no = ''; $no = '';
} }
if (!$key) { if (!$key) {
$key = 'Unknown'; $key = 'Unknown';
} }
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_num"><?php echo $no ?></td> <td class="td_num"><?php echo $no ?></td>
<td class="td_category"><?php echo $key ?></td> <td class="td_category"><?php echo $key ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo $count ?></td> <td class="td_numbig"><?php echo $count ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -1,81 +1,82 @@
<?php <?php
$sub_menu = '200810'; $sub_menu = '200810';
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_PATH.'/lib/visit.lib.php'); include_once(G5_PATH . '/lib/visit.lib.php');
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
$g5['title'] = '접속자검색'; $g5['title'] = '접속자검색';
include_once('./admin.head.php'); include_once('./admin.head.php');
include_once(G5_PLUGIN_PATH.'/jquery-ui/datepicker.php'); include_once(G5_PLUGIN_PATH . '/jquery-ui/datepicker.php');
$colspan = 6; $colspan = 6;
$listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처음으로 (초기화용도) $listall = '<a href="' . $_SERVER['SCRIPT_NAME'] . '">처음</a>'; //페이지 처음으로 (초기화용도)
?> ?>
<div class="local_sch local_sch01"> <div class="local_sch local_sch01">
<form name="fvisit" method="get" onsubmit="return fvisit_submit(this);"> <form name="fvisit" method="get" onsubmit="return fvisit_submit(this);">
<?=$listall?> <?= $listall ?>
<label for="sch_sort" class="sound_only">검색분류</label> <label for="sch_sort" class="sound_only">검색분류</label>
<select name="sfl" id="sch_sort" class="search_sort"> <select name="sfl" id="sch_sort" class="search_sort">
<option value="vi_ip"<?php echo get_selected($sfl, 'vi_ip'); ?>>IP</option> <option value="vi_ip" <?php echo get_selected($sfl, 'vi_ip'); ?>>IP</option>
<option value="vi_referer"<?php echo get_selected($sfl, 'vi_referer'); ?>>접속경로</option> <option value="vi_referer" <?php echo get_selected($sfl, 'vi_referer'); ?>>접속경로</option>
<option value="vi_date"<?php echo get_selected($sfl, 'vi_date'); ?>>날짜</option> <option value="vi_date" <?php echo get_selected($sfl, 'vi_date'); ?>>날짜</option>
</select> </select>
<label for="sch_word" class="sound_only">검색어</label> <label for="sch_word" class="sound_only">검색어</label>
<input type="text" name="stx" size="20" value="<?php echo stripslashes($stx); ?>" id="sch_word" class="frm_input"> <input type="text" name="stx" size="20" value="<?php echo stripslashes($stx); ?>" id="sch_word" class="frm_input">
<input type="submit" value="검색" class="btn_submit"> <input type="submit" value="검색" class="btn_submit">
</form> </form>
</div> </div>
<div class="tbl_wrap tbl_head01"> <div class="tbl_wrap tbl_head01">
<table> <table>
<thead> <thead>
<tr> <tr>
<th scope="col">IP</th> <th scope="col">IP</th>
<th scope="col">접속 경로</th> <th scope="col">접속 경로</th>
<th scope="col">브라우저</th> <th scope="col">브라우저</th>
<th scope="col">OS</th> <th scope="col">OS</th>
<th scope="col">접속기기</th> <th scope="col">접속기기</th>
<th scope="col">일시</th> <th scope="col">일시</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<?php <?php
$sql_common = " from {$g5['visit_table']} "; $sql_common = " from {$g5['visit_table']} ";
if ($sfl) { if ($sfl) {
if($sfl=='vi_ip' || $sfl=='vi_date'){ if ($sfl == 'vi_ip' || $sfl == 'vi_date') {
$sql_search = " where {$sfl} like '{$stx}%' "; $sql_search = " where {$sfl} like '{$stx}%' ";
}else{ } else {
$sql_search = " where {$sfl} like '%{$stx}%' "; $sql_search = " where {$sfl} like '%{$stx}%' ";
} }
} }
$sql = " select count(*) as cnt $sql = " select count(*) as cnt
{$sql_common} {$sql_common}
{$sql_search} "; {$sql_search} ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
$total_count = $row['cnt']; $total_count = $row['cnt'];
$rows = $config['cf_page_rows']; $rows = $config['cf_page_rows'];
$total_page = ceil($total_count / $rows); // 전체 페이지 계산 $total_page = ceil($total_count / $rows); // 전체 페이지 계산
if ($page < 1) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지) if ($page < 1)
$from_record = ($page - 1) * $rows; // 시작 열을 구함 $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$sql = " select *
$sql = " select *
{$sql_common} {$sql_common}
{$sql_search} {$sql_search}
order by vi_id desc order by vi_id desc
limit {$from_record}, {$rows} "; limit {$from_record}, {$rows} ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$brow = $row['vi_browser']; $brow = $row['vi_browser'];
if(!$brow) if (!$brow)
$brow = get_brow($row['vi_agent']); $brow = get_brow($row['vi_agent']);
$os = $row['vi_os']; $os = $row['vi_os'];
if(!$os) if (!$os)
$os = get_os($row['vi_agent']); $os = get_os($row['vi_agent']);
$device = $row['vi_device']; $device = $row['vi_device'];
@ -84,64 +85,68 @@ $listall = '<a href="'.$_SERVER['SCRIPT_NAME'].'">처음</a>'; //페이지 처
$title = ""; $title = "";
if ($row['vi_referer']) { if ($row['vi_referer']) {
$referer = get_text(cut_str($row['vi_referer'], 255, "")); $referer = get_text(cut_str($row['vi_referer'], 255, ""));
$referer = urldecode($referer); $referer = urldecode($referer);
if (!is_utf8($referer)) { if (!is_utf8($referer)) {
$referer = iconv('euc-kr', 'utf-8', $referer); $referer = iconv('euc-kr', 'utf-8', $referer);
} }
$title = str_replace(array("<", ">"), array("&lt;", "&gt;"), $referer); $title = str_replace(array("<", ">"), array("&lt;", "&gt;"), $referer);
$link = '<a href="'.$row['vi_referer'].'" target="_blank" title="'.$title.'">'; $link = '<a href="' . $row['vi_referer'] . '" target="_blank" title="' . $title . '">';
} }
if ($is_admin == 'super') if ($is_admin == 'super')
$ip = $row['vi_ip']; $ip = $row['vi_ip'];
else else
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']); $ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['vi_ip']);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_id"><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?sfl=vi_ip&amp;stx=<?php echo $ip; ?>"><?php echo $ip; ?></a></td> <td class="td_id"><a
<td><?php echo $link.$title; ?></a></td> href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?sfl=vi_ip&amp;stx=<?php echo $ip; ?>"><?php echo $ip; ?></a>
<td class="td_idsmall td_category1"><?php echo $brow; ?></td> </td>
<td class="td_idsmall td_category3"><?php echo $os; ?></td> <td><?php echo $link . $title; ?></a></td>
<td class="td_idsmall td_category2"><?php echo $device; ?></td> <td class="td_idsmall td_category1"><?php echo $brow; ?></td>
<td class="td_datetime"><a href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?sfl=vi_date&amp;stx=<?php echo $row['vi_date']; ?>"><?php echo $row['vi_date']; ?></a> <?php echo $row['vi_time']; ?></td> <td class="td_idsmall td_category3"><?php echo $os; ?></td>
</tr> <td class="td_idsmall td_category2"><?php echo $device; ?></td>
<?php } ?> <td class="td_datetime"><a
<?php if ($i == 0) echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; ?> href="<?php echo $_SERVER['SCRIPT_NAME']; ?>?sfl=vi_date&amp;stx=<?php echo $row['vi_date']; ?>"><?php echo $row['vi_date']; ?></a>
<?php echo $row['vi_time']; ?></td>
</tr>
<?php } ?>
<?php if ($i == 0)
echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>'; ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php
$pagelist = get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'].'?'.$qstr.'&amp;domain='.$domain.'&amp;page='); $pagelist = get_paging($config['cf_write_pages'], $page, $total_page, $_SERVER['SCRIPT_NAME'] . '?' . $qstr . '&amp;domain=' . $domain . '&amp;page=');
if ($pagelist) { if ($pagelist) {
echo $pagelist; echo $pagelist;
} }
?> ?>
<script> <script>
$(function(){ $(function () {
$("#sch_sort").change(function(){ // select #sch_sort의 옵션이 바뀔때 $("#sch_sort").change(function () { // select #sch_sort의 옵션이 바뀔때
if($(this).val()=="vi_date"){ // 해당 value 값이 vi_date이면 if ($(this).val() == "vi_date") { // 해당 value 값이 vi_date이면
$("#sch_word").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" }); // datepicker 실행 $("#sch_word").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" }); // datepicker 실행
}else{ // 아니라면 } else { // 아니라면
$("#sch_word").datepicker("destroy"); // datepicker 미실행 $("#sch_word").datepicker("destroy"); // datepicker 미실행
} }
}); });
if($("#sch_sort option:selected").val()=="vi_date"){ // select #sch_sort 의 옵션중 selected 된것의 값이 vi_date라면 if ($("#sch_sort option:selected").val() == "vi_date") { // select #sch_sort 의 옵션중 selected 된것의 값이 vi_date라면
$("#sch_word").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" }); // datepicker 실행 $("#sch_word").datepicker({ changeMonth: true, changeYear: true, dateFormat: "yy-mm-dd", showButtonPanel: true, yearRange: "c-99:c+99", maxDate: "+0d" }); // datepicker 실행
} }
}); });
function fvisit_submit(f) function fvisit_submit(f) {
{
return true; return true;
} }
</script> </script>
<?php <?php

View file

@ -8,7 +8,7 @@ $g5['title'] = '요일별 접속자집계';
include_once('./visit.sub.php'); include_once('./visit.sub.php');
$colspan = 4; $colspan = 4;
$weekday = array ('월', '화', '수', '목', '금', '토', '일'); $weekday = array('월', '화', '수', '목', '금', '토', '일');
$sum_count = 0; $sum_count = 0;
$sql = " select WEEKDAY(vs_date) as weekday_date, SUM(vs_count) as cnt $sql = " select WEEKDAY(vs_date) as weekday_date, SUM(vs_count) as cnt
@ -17,63 +17,63 @@ $sql = " select WEEKDAY(vs_date) as weekday_date, SUM(vs_count) as cnt
group by weekday_date group by weekday_date
order by weekday_date "; order by weekday_date ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$arr[$row['weekday_date']] = $row['cnt']; $arr[$row['weekday_date']] = $row['cnt'];
$sum_count += $row['cnt']; $sum_count += $row['cnt'];
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col">요일</th> <th scope="col">요일</th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="2">합계</td> <td colspan="2">합계</td>
<td><strong><?php echo $sum_count ?></strong></td> <td><strong><?php echo $sum_count ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$k = 0; $k = 0;
if ($i) { if ($i) {
for ($i=0; $i<7; $i++) { for ($i = 0; $i < 7; $i++) {
$count = (int)$arr[$i]; $count = (int) $arr[$i];
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><?php echo $weekday[$i] ?></td> <td class="td_category"><?php echo $weekday[$i] ?></td>
<td> <td>
<div class="visit_bar"> <div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo $count ?></td> <td class="td_numbig"><?php echo $count ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -17,68 +17,71 @@ $sql = " select SUBSTRING(vs_date,1,4) as vs_year, SUM(vs_count) as cnt
group by vs_year group by vs_year
order by vs_year desc "; order by vs_year desc ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$arr[$row['vs_year']] = $row['cnt']; $arr[$row['vs_year']] = $row['cnt'];
if ($row['cnt'] > $max) $max = $row['cnt']; if ($row['cnt'] > $max)
$max = $row['cnt'];
$sum_count += $row['cnt']; $sum_count += $row['cnt'];
} }
?> ?>
<div class="tbl_head01 tbl_wrap"> <div class="tbl_head01 tbl_wrap">
<table> <table>
<caption><?php echo $g5['title']; ?> 목록</caption> <caption><?php echo $g5['title']; ?> 목록</caption>
<thead> <thead>
<tr> <tr>
<th scope="col"></th> <th scope="col"></th>
<th scope="col">그래프</th> <th scope="col">그래프</th>
<th scope="col">접속자수</th> <th scope="col">접속자수</th>
<th scope="col">비율(%)</th> <th scope="col">비율(%)</th>
</tr> </tr>
</thead> </thead>
<tfoot> <tfoot>
<tr> <tr>
<td colspan="2">합계</td> <td colspan="2">합계</td>
<td><strong><?php echo number_format($sum_count) ?></strong></td> <td><strong><?php echo number_format($sum_count) ?></strong></td>
<td>100%</td> <td>100%</td>
</tr> </tr>
</tfoot> </tfoot>
<tbody> <tbody>
<?php <?php
$i = 0; $i = 0;
$k = 0; $k = 0;
$save_count = -1; $save_count = -1;
$tot_count = 0; $tot_count = 0;
if (count($arr)) { if (count($arr)) {
foreach ($arr as $key=>$value) { foreach ($arr as $key => $value) {
$count = $value; $count = $value;
$rate = ($count / $sum_count * 100); $rate = ($count / $sum_count * 100);
$s_rate = number_format($rate, 1); $s_rate = number_format($rate, 1);
$bg = 'bg'.($i%2); $bg = 'bg' . ($i % 2);
?> ?>
<tr class="<?php echo $bg; ?>"> <tr class="<?php echo $bg; ?>">
<td class="td_category"><a href="./visit_month.php?fr_date=<?php echo $key ?>-01-01&amp;to_date=<?php echo $key ?>-12-31"><?php echo $key ?></a></td> <td class="td_category"><a
<td> href="./visit_month.php?fr_date=<?php echo $key ?>-01-01&amp;to_date=<?php echo $key ?>-12-31"><?php echo $key ?></a>
<div class="visit_bar"> </td>
<td>
<div class="visit_bar">
<span style="width:<?php echo $s_rate ?>%"></span> <span style="width:<?php echo $s_rate ?>%"></span>
</div> </div>
</td> </td>
<td class="td_numbig"><?php echo number_format($value) ?></td> <td class="td_numbig"><?php echo number_format($value) ?></td>
<td class="td_num"><?php echo $s_rate ?></td> <td class="td_num"><?php echo $s_rate ?></td>
</tr> </tr>
<?php <?php
} }
} else { } else {
echo '<tr><td colspan="'.$colspan.'" class="empty_table">자료가 없습니다.</td></tr>'; echo '<tr><td colspan="' . $colspan . '" class="empty_table">자료가 없습니다.</td></tr>';
} }
?> ?>
</tbody> </tbody>
</table> </table>
</div> </div>
<?php <?php

View file

@ -7,50 +7,50 @@ check_demo();
auth_check($auth[$sub_menu], 'r'); auth_check($auth[$sub_menu], 'r');
// http://www.jqplot.com/ // http://www.jqplot.com/
add_stylesheet('<link rel="stylesheet" href="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.css">', 0); add_stylesheet('<link rel="stylesheet" href="' . G5_PLUGIN_URL . '/jqplot/jquery.jqplot.css">', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jquery.jqplot.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/jquery.jqplot.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/plugins/jqplot.canvasTextRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/plugins/jqplot.categoryAxisRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/plugins/jqplot.pointLabels.min.js"></script>', 0);
add_javascript('<!--[if lt IE 9]><script src="'.G5_PLUGIN_URL.'/jqplot/excanvas.js"></script><![endif]-->', 0); add_javascript('<!--[if lt IE 9]><script src="' . G5_PLUGIN_URL . '/jqplot/excanvas.js"></script><![endif]-->', 0);
if (!($graph == 'line' || $graph == 'bar')) if (!($graph == 'line' || $graph == 'bar'))
$graph = 'line'; $graph = 'line';
if ($graph == 'bar') { if ($graph == 'bar') {
// 바 타입으로 사용하는 코드입니다. // 바 타입으로 사용하는 코드입니다.
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.barRenderer.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/jqplot.barRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/jqplot.categoryAxisRenderer.min.js"></script>', 0);
add_javascript('<script src="'.G5_PLUGIN_URL.'/jqplot/jqplot.pointLabels.min.js"></script>', 0); add_javascript('<script src="' . G5_PLUGIN_URL . '/jqplot/jqplot.pointLabels.min.js"></script>', 0);
} }
$g5['title'] = '글,댓글 현황'; $g5['title'] = '글,댓글 현황';
include_once ('./admin.head.php'); include_once('./admin.head.php');
$period_array = array( $period_array = array(
'오늘'=>array('시간', 0), '오늘' => array('시간', 0),
'어제'=>array('시간', 0), '어제' => array('시간', 0),
'7일전'=>array('일', 7), '7일전' => array('일', 7),
'14일전'=>array('일', 14), '14일전' => array('일', 14),
'30일전'=>array('일', 30), '30일전' => array('일', 30),
'3개월전'=>array('주', 90), '3개월전' => array('주', 90),
'6개월전'=>array('주', 180), '6개월전' => array('주', 180),
'1년전'=>array('월', 365), '1년전' => array('월', 365),
'2년전'=>array('월', 365*2), '2년전' => array('월', 365 * 2),
'3년전'=>array('월', 365*3), '3년전' => array('월', 365 * 3),
'5년전'=>array('년', 365*5), '5년전' => array('년', 365 * 5),
'10년전'=>array('년', 365*10), '10년전' => array('년', 365 * 10),
); );
$is_period = false; $is_period = false;
foreach($period_array as $key=>$value) { foreach ($period_array as $key => $value) {
if ($key == $period) { if ($key == $period) {
$is_period = true; $is_period = true;
break; break;
} }
} }
if (!$is_period) if (!$is_period)
$period = '오늘'; $period = '오늘';
$day = $period_array[$period][0]; $day = $period_array[$period][0];
@ -58,153 +58,151 @@ $today = date('Y-m-d', G5_SERVER_TIME);
$yesterday = date('Y-m-d', G5_SERVER_TIME - 86400); $yesterday = date('Y-m-d', G5_SERVER_TIME - 86400);
if ($period == '오늘') { if ($period == '오늘') {
$from = $today; $from = $today;
$to = $from; $to = $from;
} else if ($period == '어제') { } else if ($period == '어제') {
$from = $yesterday; $from = $yesterday;
$to = $from; $to = $from;
} else if ($period == '내일') { } else if ($period == '내일') {
$from = date('Y-m-d', G5_SERVER_TIME + (86400 * 2)); $from = date('Y-m-d', G5_SERVER_TIME + (86400 * 2));
$to = $from; $to = $from;
} else { } else {
$from = date('Y-m-d', G5_SERVER_TIME - (86400 * $period_array[$period][1])); $from = date('Y-m-d', G5_SERVER_TIME - (86400 * $period_array[$period][1]));
$to = $yesterday; $to = $yesterday;
} }
$sql_bo_table = ''; $sql_bo_table = '';
if ($bo_table) if ($bo_table)
$sql_bo_table = "and bo_table = '$bo_table'"; $sql_bo_table = "and bo_table = '$bo_table'";
switch ($day) { switch ($day) {
case '시간' : case '시간':
$sql = " select substr(bn_datetime,6,8) as hours, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by hours order by bn_datetime "; $sql = " select substr(bn_datetime,6,8) as hours, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by hours order by bn_datetime ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
// 월-일 시간 // 월-일 시간
$line1[] = "['".substr($row['hours'],0,8)."',".$row['wcount'].']'; $line1[] = "['" . substr($row['hours'], 0, 8) . "'," . $row['wcount'] . ']';
$line2[] = "['".substr($row['hours'],0,8)."',".$row['ccount'].']'; $line2[] = "['" . substr($row['hours'], 0, 8) . "'," . $row['ccount'] . ']';
} }
break; break;
case '일' : case '일':
$sql = " select substr(bn_datetime,1,10) as days, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by days order by bn_datetime "; $sql = " select substr(bn_datetime,1,10) as days, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by days order by bn_datetime ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
// 월-일 // 월-일
$line1[] = "['".substr($row['days'],5,5)."',".$row['wcount'].']'; $line1[] = "['" . substr($row['days'], 5, 5) . "'," . $row['wcount'] . ']';
$line2[] = "['".substr($row['days'],5,5)."',".$row['ccount'].']'; $line2[] = "['" . substr($row['days'], 5, 5) . "'," . $row['ccount'] . ']';
} }
break; break;
case '주' : case '주':
$sql = " select concat(substr(bn_datetime,1,4), '-', weekofyear(bn_datetime)) as weeks, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by weeks order by bn_datetime "; $sql = " select concat(substr(bn_datetime,1,4), '-', weekofyear(bn_datetime)) as weeks, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by weeks order by bn_datetime ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
// 올해의 몇주로 보여주면 바로 확인이 안되므로 주를 날짜로 바꾼다. // 올해의 몇주로 보여주면 바로 확인이 안되므로 주를 날짜로 바꾼다.
// 년-월-일 // 년-월-일
list($lyear, $lweek) = explode('-', $row['weeks']); list($lyear, $lweek) = explode('-', $row['weeks']);
$date = date('y-m-d', strtotime($lyear.'W'.str_pad($lweek, 2, '0', STR_PAD_LEFT))); $date = date('y-m-d', strtotime($lyear . 'W' . str_pad($lweek, 2, '0', STR_PAD_LEFT)));
$line1[] = "['".$date."',".$row['wcount'].']'; $line1[] = "['" . $date . "'," . $row['wcount'] . ']';
$line2[] = "['".$date."',".$row['ccount'].']'; $line2[] = "['" . $date . "'," . $row['ccount'] . ']';
} }
break; break;
case '월' : case '월':
$sql = " select substr(bn_datetime,1,7) as months, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by months order by bn_datetime "; $sql = " select substr(bn_datetime,1,7) as months, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by months order by bn_datetime ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
// 년-월 // 년-월
$line1[] = "['".substr($row['months'],2,5)."',".$row['wcount'].']'; $line1[] = "['" . substr($row['months'], 2, 5) . "'," . $row['wcount'] . ']';
$line2[] = "['".substr($row['months'],2,5)."',".$row['ccount'].']'; $line2[] = "['" . substr($row['months'], 2, 5) . "'," . $row['ccount'] . ']';
} }
break; break;
case '년' : case '년':
$sql = " select substr(bn_datetime,1,4) as years, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by years order by bn_datetime "; $sql = " select substr(bn_datetime,1,4) as years, sum(if(wr_id=wr_parent,1,0)) as wcount, sum(if(wr_id=wr_parent,0,1)) as ccount from {$g5['board_new_table']} where substr(bn_datetime,1,10) between '$from' and '$to' {$sql_bo_table} group by years order by bn_datetime ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
// 년(4자리) // 년(4자리)
$line1[] = "['".substr($row['years'],0,4)."',".$row['wcount'].']'; $line1[] = "['" . substr($row['years'], 0, 4) . "'," . $row['wcount'] . ']';
$line2[] = "['".substr($row['years'],0,4)."',".$row['ccount'].']'; $line2[] = "['" . substr($row['years'], 0, 4) . "'," . $row['ccount'] . ']';
} }
break; break;
} }
?> ?>
<div id="wr_cont"> <div id="wr_cont">
<form> <form>
<select name="bo_table"> <select name="bo_table">
<option value="">전체게시판</a> <option value="">전체게시판</a>
<?php <?php
$sql = " select bo_table, bo_subject from {$g5['board_table']} order by bo_count_write desc "; $sql = " select bo_table, bo_subject from {$g5['board_table']} order by bo_count_write desc ";
$result = sql_query($sql); $result = sql_query($sql);
for($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
echo "<option value=\"{$row['bo_table']}\""; echo "<option value=\"{$row['bo_table']}\"";
if ($bo_table == $row['bo_table']) if ($bo_table == $row['bo_table'])
echo ' selected="selected"'; echo ' selected="selected"';
echo ">{$row['bo_subject']}</option>\n"; echo ">{$row['bo_subject']}</option>\n";
} }
?> ?>
</select> </select>
<select name="period"> <select name="period">
<?php <?php
foreach($period_array as $key=>$value) { foreach ($period_array as $key => $value) {
echo "<option value=\"{$key}\""; echo "<option value=\"{$key}\"";
if ($key == $period) if ($key == $period)
echo " selected=\"selected\""; echo " selected=\"selected\"";
echo ">{$key}</option>\n"; echo ">{$key}</option>\n";
} }
?> ?>
</select> </select>
<select name="graph"> <select name="graph">
<option value="line" <?php echo ($graph == 'line' ? 'selected="selected"' : ''); ?>>선그래프</option> <option value="line" <?php echo ($graph == 'line' ? 'selected="selected"' : ''); ?>>선그래프</option>
<option value="bar" <?php echo ($graph == 'bar' ? 'selected="selected"' : ''); ?>>막대그래프</option> <option value="bar" <?php echo ($graph == 'bar' ? 'selected="selected"' : ''); ?>>막대그래프</option>
</select> </select>
<input type="submit" class="btn_submit" value="확인"> <input type="submit" class="btn_submit" value="확인">
</form> </form>
<ul id="grp_color"> <ul id="grp_color">
<li><span></span> </li> <li><span></span> </li>
<li class="color2"><span></span>댓글 </li> <li class="color2"><span></span>댓글 </li>
</ul> </ul>
</div> </div>
<br> <br>
<div id="chart_wr"> <div id="chart_wr">
<?php <?php
if (empty($line1) || empty($line2)) { if (empty($line1) || empty($line2)) {
echo "<h5>그래프를 만들 데이터가 없습니다.</h5>\n"; echo "<h5>그래프를 만들 데이터가 없습니다.</h5>\n";
} else { } else {
?> ?>
<div id="chart1" style="height:500px; width:100%;"></div> <div id="chart1" style="height:500px; width:100%;"></div>
<div> <div>
<script> <script>
$(document).ready(function(){ $(document).ready(function () {
var line1 = [<?php echo implode($line1, ','); ?>]; var line1 = [<?php echo implode($line1, ','); ?>];
var line2 = [<?php echo implode($line2, ','); ?>]; var line2 = [<?php echo implode($line2, ','); ?>];
var plot1 = $.jqplot ('chart1', [line1, line2], { var plot1 = $.jqplot('chart1', [line1, line2], {
seriesDefaults: { seriesDefaults: {
<?php if ($graph == 'bar') { ?> <?php if ($graph == 'bar') { ?>
renderer:$.jqplot.BarRenderer, renderer: $.jqplot.BarRenderer,
<?php } ?> <?php } ?>
pointLabels: { show: true } pointLabels: { show: true }
}, },
axes:{ axes: {
xaxis: { xaxis: {
renderer: $.jqplot.CategoryAxisRenderer, renderer: $.jqplot.CategoryAxisRenderer,
label: '<?php echo $day; ?>', label: '<?php echo $day; ?>',
pad:0, pad: 0,
max:23 max: 23
}, },
yaxis: { yaxis: {
label: '글수', label: '글수',
min: 0 min: 0
} }
} }
});
}); });
}); </script>
</script> <?php
<?php }
}
?>
<?php include_once('./admin.tail.php');
include_once ('./admin.tail.php'); ?>
?>

View file

@ -1,3 +1,2 @@
<?php <?php
include_once('../common.php'); include_once('../common.php');
?>

View file

@ -1,4 +1,4 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
include_once(G5_PATH.'/_head.php'); exit; // 개별 페이지 접근 불가
?> include_once(G5_PATH . '/_head.php');

View file

@ -1,4 +1,4 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
include_once(G5_PATH.'/head.sub.php'); exit; // 개별 페이지 접근 불가
?> include_once(G5_PATH . '/head.sub.php');

View file

@ -1,4 +1,4 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
include_once(G5_PATH.'/_tail.php'); exit; // 개별 페이지 접근 불가
?> include_once(G5_PATH . '/_tail.php');

View file

@ -1,4 +1,4 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
include_once(G5_PATH.'/tail.sub.php'); exit; // 개별 페이지 접근 불가
?> include_once(G5_PATH . '/tail.sub.php');

View file

@ -1,20 +1,20 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
if (!$is_member) die('0'); if (!$is_member)
die('0');
$uid = trim($_REQUEST['uid']); $uid = trim($_REQUEST['uid']);
$subject = trim($_REQUEST['subject']); $subject = trim($_REQUEST['subject']);
$content = trim($_REQUEST['content']); $content = trim($_REQUEST['content']);
if ($subject && $content) { if ($subject && $content) {
$sql = " select count(*) as cnt from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_subject = '$subject' and as_content = '$content' "; $sql = " select count(*) as cnt from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_subject = '$subject' and as_content = '$content' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if (!$row['cnt']) { if (!$row['cnt']) {
$sql = " insert into {$g5['autosave_table']} set mb_id = '{$member['mb_id']}', as_uid = '{$uid}', as_subject = '$subject', as_content = '$content', as_datetime = '".G5_TIME_YMDHIS."' on duplicate key update as_subject = '$subject', as_content = '$content', as_datetime = '".G5_TIME_YMDHIS."' "; $sql = " insert into {$g5['autosave_table']} set mb_id = '{$member['mb_id']}', as_uid = '{$uid}', as_subject = '$subject', as_content = '$content', as_datetime = '" . G5_TIME_YMDHIS . "' on duplicate key update as_subject = '$subject', as_content = '$content', as_datetime = '" . G5_TIME_YMDHIS . "' ";
$result = sql_query($sql, false); $result = sql_query($sql, false);
echo autosave_count($member['mb_id']); echo autosave_count($member['mb_id']);
} }
} }
?>

View file

@ -1,15 +1,15 @@
<?php <?php
include_once("./_common.php"); include_once("./_common.php");
if (!$is_member) die("0"); if (!$is_member)
die("0");
$as_id = (int)$_REQUEST['as_id']; $as_id = (int) $_REQUEST['as_id'];
$sql = " delete from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_id = {$as_id} "; $sql = " delete from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_id = {$as_id} ";
$result = sql_query($sql); $result = sql_query($sql);
if (!$result) { if (!$result) {
echo "-1"; echo "-1";
} }
echo autosave_count($member['mb_id']); echo autosave_count($member['mb_id']);
?>

View file

@ -1,21 +1,21 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
if (!$is_member) die(''); if (!$is_member)
die('');
$sql = " select as_id, as_uid, as_subject, as_datetime from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' order by as_id desc "; $sql = " select as_id, as_uid, as_subject, as_datetime from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' order by as_id desc ";
$result = sql_query($sql); $result = sql_query($sql);
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n"; echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n";
echo "<list>\n"; echo "<list>\n";
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$subject = htmlspecialchars(utf8_strcut($row['as_subject'], 25), ENT_QUOTES); $subject = htmlspecialchars(utf8_strcut($row['as_subject'], 25), ENT_QUOTES);
$datetime = substr($row['as_datetime'],2,14); $datetime = substr($row['as_datetime'], 2, 14);
echo "<item>\n"; echo "<item>\n";
echo "<id>{$row['as_id']}</id>\n"; echo "<id>{$row['as_id']}</id>\n";
echo "<uid>{$row['as_uid']}</uid>\n"; echo "<uid>{$row['as_uid']}</uid>\n";
echo "<subject><![CDATA[{$subject}]]></subject>\n"; echo "<subject><![CDATA[{$subject}]]></subject>\n";
echo "<datetime>{$datetime}</datetime>\n"; echo "<datetime>{$datetime}</datetime>\n";
echo "</item>\n"; echo "</item>\n";
} }
echo "</list>"; echo "</list>";
?>

View file

@ -1,9 +1,10 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
if (!$is_member) die(''); if (!$is_member)
die('');
$as_id = (int)$_REQUEST['as_id']; $as_id = (int) $_REQUEST['as_id'];
$sql = " select as_subject, as_content from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_id = {$as_id} "; $sql = " select as_subject, as_content from {$g5['autosave_table']} where mb_id = '{$member['mb_id']}' and as_id = {$as_id} ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
@ -15,4 +16,3 @@ echo "<item>\n";
echo "<subject><![CDATA[{$subject}]]></subject>\n"; echo "<subject><![CDATA[{$subject}]]></subject>\n";
echo "<content><![CDATA[{$content}]]></content>\n"; echo "<content><![CDATA[{$content}]]></content>\n";
echo "</item>\n"; echo "</item>\n";
?>

View file

@ -1,6 +1,6 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/json.lib.php'); include_once(G5_LIB_PATH . '/json.lib.php');
$ss_name = 'ss_comment_token'; $ss_name = 'ss_comment_token';
@ -10,5 +10,4 @@ $token = _token();
set_session($ss_name, $token); set_session($ss_name, $token);
die(json_encode(array('token'=>$token))); die(json_encode(array('token' => $token)));
?>

View file

@ -7,25 +7,24 @@ $content = strip_tags($_POST['content']);
//$filter = explode(",", strtolower(trim($config['cf_filter']))); //$filter = explode(",", strtolower(trim($config['cf_filter'])));
// strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.) // strtolower 에 의한 한글 변형으로 아래 코드로 대체 (곱슬최씨님이 알려 주셨습니다.)
$filter = explode(",", trim($config['cf_filter'])); $filter = explode(",", trim($config['cf_filter']));
for ($i=0; $i<count($filter); $i++) { for ($i = 0; $i < count($filter); $i++) {
$str = $filter[$i]; $str = $filter[$i];
// 제목 필터링 (찾으면 중지) // 제목 필터링 (찾으면 중지)
$subj = ""; $subj = "";
$pos = stripos($subject, $str); $pos = stripos($subject, $str);
if ($pos !== false) { if ($pos !== false) {
$subj = $str; $subj = $str;
break; break;
} }
// 내용 필터링 (찾으면 중지) // 내용 필터링 (찾으면 중지)
$cont = ""; $cont = "";
$pos = stripos($content, $str); $pos = stripos($content, $str);
if ($pos !== false) { if ($pos !== false) {
$cont = $str; $cont = $str;
break; break;
} }
} }
die("{\"subject\":\"$subj\",\"content\":\"$cont\"}"); die("{\"subject\":\"$subj\",\"content\":\"$cont\"}");
?>

View file

@ -1,16 +1,19 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php'); include_once(G5_LIB_PATH . '/register.lib.php');
$mb_email = trim($_POST['reg_mb_email']); $mb_email = trim($_POST['reg_mb_email']);
$mb_id = trim($_POST['reg_mb_id']); $mb_id = trim($_POST['reg_mb_id']);
set_session('ss_check_mb_email', ''); set_session('ss_check_mb_email', '');
if ($msg = empty_mb_email($mb_email)) die($msg); if ($msg = empty_mb_email($mb_email))
if ($msg = valid_mb_email($mb_email)) die($msg); die($msg);
if ($msg = prohibit_mb_email($mb_email)) die($msg); if ($msg = valid_mb_email($mb_email))
if ($msg = exist_mb_email($mb_email, $mb_id)) die($msg); die($msg);
if ($msg = prohibit_mb_email($mb_email))
die($msg);
if ($msg = exist_mb_email($mb_email, $mb_id))
die($msg);
set_session('ss_check_mb_email', $mb_email); set_session('ss_check_mb_email', $mb_email);
?>

View file

@ -1,10 +1,10 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php'); include_once(G5_LIB_PATH . '/register.lib.php');
$mb_hp = trim($_POST['reg_mb_hp']); $mb_hp = trim($_POST['reg_mb_hp']);
$mb_id = trim($_POST['reg_mb_id']); $mb_id = trim($_POST['reg_mb_id']);
if ($msg = valid_mb_hp($mb_hp)) die($msg); if ($msg = valid_mb_hp($mb_hp))
die($msg);
//if ($msg = exist_mb_hp($mb_hp, $mb_id)) die($msg); //if ($msg = exist_mb_hp($mb_hp, $mb_id)) die($msg);
?>

View file

@ -1,16 +1,20 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php'); include_once(G5_LIB_PATH . '/register.lib.php');
$mb_id = trim($_POST['reg_mb_id']); $mb_id = trim($_POST['reg_mb_id']);
set_session('ss_check_mb_id', ''); set_session('ss_check_mb_id', '');
if ($msg = empty_mb_id($mb_id)) die($msg); if ($msg = empty_mb_id($mb_id))
if ($msg = valid_mb_id($mb_id)) die($msg); die($msg);
if ($msg = count_mb_id($mb_id)) die($msg); if ($msg = valid_mb_id($mb_id))
if ($msg = exist_mb_id($mb_id)) die($msg); die($msg);
if ($msg = reserve_mb_id($mb_id)) die($msg); if ($msg = count_mb_id($mb_id))
die($msg);
if ($msg = exist_mb_id($mb_id))
die($msg);
if ($msg = reserve_mb_id($mb_id))
die($msg);
set_session('ss_check_mb_id', $mb_id); set_session('ss_check_mb_id', $mb_id);
?>

View file

@ -1,17 +1,21 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_LIB_PATH.'/register.lib.php'); include_once(G5_LIB_PATH . '/register.lib.php');
$mb_nick = trim($_POST['reg_mb_nick']); $mb_nick = trim($_POST['reg_mb_nick']);
$mb_id = trim($_POST['reg_mb_id']); $mb_id = trim($_POST['reg_mb_id']);
set_session('ss_check_mb_nick', ''); set_session('ss_check_mb_nick', '');
if ($msg = empty_mb_nick($mb_nick)) die($msg); if ($msg = empty_mb_nick($mb_nick))
if ($msg = valid_mb_nick($mb_nick)) die($msg); die($msg);
if ($msg = count_mb_nick($mb_nick)) die($msg); if ($msg = valid_mb_nick($mb_nick))
if ($msg = exist_mb_nick($mb_nick, $mb_id)) die($msg); die($msg);
if ($msg = reserve_mb_nick($mb_nick)) die($msg); if ($msg = count_mb_nick($mb_nick))
die($msg);
if ($msg = exist_mb_nick($mb_nick, $mb_id))
die($msg);
if ($msg = reserve_mb_nick($mb_nick))
die($msg);
set_session('ss_check_mb_nick', $mb_nick); set_session('ss_check_mb_nick', $mb_nick);
?>

View file

@ -1,13 +1,12 @@
<?php <?php
include_once("./_common.php"); include_once("./_common.php");
include_once(G5_LIB_PATH."/register.lib.php"); include_once(G5_LIB_PATH . "/register.lib.php");
$mb_recommend = trim($_POST["reg_mb_recommend"]); $mb_recommend = trim($_POST["reg_mb_recommend"]);
if ($msg = valid_mb_id($mb_recommend)) { if ($msg = valid_mb_id($mb_recommend)) {
die("추천인의 아이디는 영문자, 숫자, _ 만 입력하세요."); die("추천인의 아이디는 영문자, 숫자, _ 만 입력하세요.");
} }
if (!($msg = exist_mb_id($mb_recommend))) { if (!($msg = exist_mb_id($mb_recommend))) {
die("입력하신 추천인은 존재하지 않는 아이디 입니다."); die("입력하신 추천인은 존재하지 않는 아이디 입니다.");
} }
?>

View file

@ -4,12 +4,12 @@ global $lo_url;
include_once('./_common.php'); include_once('./_common.php');
if($error) { if ($error) {
$g5['title'] = "오류안내 페이지"; $g5['title'] = "오류안내 페이지";
} else { } else {
$g5['title'] = "결과안내 페이지"; $g5['title'] = "결과안내 페이지";
} }
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
// 필수 입력입니다. // 필수 입력입니다.
// 양쪽 공백 없애기 // 양쪽 공백 없애기
// 필수 (선택 혹은 입력)입니다. // 필수 (선택 혹은 입력)입니다.
@ -31,83 +31,84 @@ include_once(G5_PATH.'/head.sub.php');
$msg2 = str_replace("\\n", "<br>", $msg); $msg2 = str_replace("\\n", "<br>", $msg);
$url = clean_xss_tags($url); $url = clean_xss_tags($url);
if (!$url) $url = clean_xss_tags($_SERVER['HTTP_REFERER']); if (!$url)
$url = clean_xss_tags($_SERVER['HTTP_REFERER']);
$url = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", $url); $url = preg_replace("/[\<\>\'\"\\\'\\\"\(\)]/", "", $url);
// url 체크 // url 체크
check_url_host($url); check_url_host($url);
if($error) { if ($error) {
$header2 = "다음 항목에 오류가 있습니다."; $header2 = "다음 항목에 오류가 있습니다.";
} else { } else {
$header2 = "다음 내용을 확인해 주세요."; $header2 = "다음 내용을 확인해 주세요.";
} }
?> ?>
<script> <script>
alert("<?php echo strip_tags($msg); ?>"); alert("<?php echo strip_tags($msg); ?>");
//document.location.href = "<?php echo $url; ?>"; //document.location.href = "<?php echo $url; ?>";
<?php if ($url) { ?> <?php if ($url) { ?>
document.location.replace("<?php echo str_replace('&amp;', '&', $url); ?>"); document.location.replace("<?php echo str_replace('&amp;', '&', $url); ?>");
<?php } else { ?> <?php } else { ?>
//alert('history.back();'); //alert('history.back();');
history.back(); history.back();
<?php } ?> <?php } ?>
</script> </script>
<noscript> <noscript>
<div id="validation_check"> <div id="validation_check">
<h1><?php echo $header2 ?></h1> <h1><?php echo $header2 ?></h1>
<p class="cbg"> <p class="cbg">
<?php echo $msg2 ?> <?php echo $msg2 ?>
</p> </p>
<?php if($post) { ?> <?php if ($post) { ?>
<form method="post" action="<?php echo $url ?>"> <form method="post" action="<?php echo $url ?>">
<?php <?php
foreach($_POST as $key => $value) { foreach ($_POST as $key => $value) {
if(strlen($value) < 1) if (strlen($value) < 1)
continue; continue;
if(preg_match("/pass|pwd|capt|url/", $key)) if (preg_match("/pass|pwd|capt|url/", $key))
continue; continue;
?> ?>
<input type="hidden" name="<?php echo $key ?>" value="<?php echo $value ?>"> <input type="hidden" name="<?php echo $key ?>" value="<?php echo $value ?>">
<?php <?php
} }
?> ?>
<input type="submit" value="돌아가기"> <input type="submit" value="돌아가기">
</form> </form>
<?php } else { ?> <?php } else { ?>
<div class="btn_confirm"> <div class="btn_confirm">
<a href="<?php echo $url ?>">돌아가기</a> <a href="<?php echo $url ?>">돌아가기</a>
</div> </div>
<?php } ?> <?php } ?>
<?php /* <?php /*
<article id="validation_check"> <article id="validation_check">
<header> <header>
<hgroup> <hgroup>
<!-- <h1>회원가입 정보 입력 확인</h1> --> <!-- 수행 중이던 작업 내용 --> <!-- <h1>회원가입 정보 입력 확인</h1> --> <!-- 수행 중이던 작업 내용 -->
<h1><?php echo $header ?></h1> <!-- 수행 중이던 작업 내용 --> <h1><?php echo $header ?></h1> <!-- 수행 중이던 작업 내용 -->
<h2><?php echo $header2 ?></h2> <h2><?php echo $header2 ?></h2>
</hgroup> </hgroup>
</header> </header>
<p> <p>
<!-- <strong>항목</strong> 오류내역 --> <!-- <strong>항목</strong> 오류내역 -->
<!-- <!--
<strong>이름</strong> 필수 입력입니다. 한글만 입력할 있습니다.<br> <strong>이름</strong> 필수 입력입니다. 한글만 입력할 있습니다.<br>
<strong>이메일</strong> 올바르게 입력하지 않았습니다.<br> <strong>이메일</strong> 올바르게 입력하지 않았습니다.<br>
--> -->
<?php echo $msg2 ?> <?php echo $msg2 ?>
</p> </p>
<a href="<?php echo $url ?>">돌아가기</a> <a href="<?php echo $url ?>">돌아가기</a>
</article> </article>
*/ ?> */ ?>
</div> </div>
</noscript> </noscript>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?> ?>

View file

@ -1,54 +1,54 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
$msg2 = str_replace("\\n", "<br>", $msg); $msg2 = str_replace("\\n", "<br>", $msg);
if($error) { if ($error) {
$header2 = "다음 항목에 오류가 있습니다."; $header2 = "다음 항목에 오류가 있습니다.";
$msg3 = "새창을 닫으시고 이전 작업을 다시 시도해 주세요."; $msg3 = "새창을 닫으시고 이전 작업을 다시 시도해 주세요.";
} else { } else {
$header2 = "다음 내용을 확인해 주세요."; $header2 = "다음 내용을 확인해 주세요.";
$msg3 = "새창을 닫으신 후 서비스를 이용해 주세요."; $msg3 = "새창을 닫으신 후 서비스를 이용해 주세요.";
} }
?> ?>
<script> <script>
alert("<?php echo $msg; ?>"); alert("<?php echo $msg; ?>");
window.close(); window.close();
</script> </script>
<noscript> <noscript>
<div id="validation_check"> <div id="validation_check">
<h1><?php echo $header2 ?></h1> <h1><?php echo $header2 ?></h1>
<p class="cbg"> <p class="cbg">
<?php echo $msg2 ?> <?php echo $msg2 ?>
</p> </p>
<p class="cbg"> <p class="cbg">
<?php echo $msg3 ?> <?php echo $msg3 ?>
</p> </p>
</div> </div>
<?php /* <?php /*
<article id="validation_check"> <article id="validation_check">
<header> <header>
<hgroup> <hgroup>
<!-- <h1>회원가입 정보 입력 확인</h1> --> <!-- 수행 중이던 작업 내용 --> <!-- <h1>회원가입 정보 입력 확인</h1> --> <!-- 수행 중이던 작업 내용 -->
<h1><?php echo $header ?></h1> <!-- 수행 중이던 작업 내용 --> <h1><?php echo $header ?></h1> <!-- 수행 중이던 작업 내용 -->
<h2><?php echo $header2 ?></h2> <h2><?php echo $header2 ?></h2>
</hgroup> </hgroup>
</header> </header>
<p> <p>
<!-- <strong>항목</strong> 오류내역 --> <!-- <strong>항목</strong> 오류내역 -->
<!-- <!--
<strong>이름</strong> 필수 입력입니다. 한글만 입력할 있습니다.<br> <strong>이름</strong> 필수 입력입니다. 한글만 입력할 있습니다.<br>
<strong>이메일</strong> 올바르게 입력하지 않았습니다.<br> <strong>이메일</strong> 올바르게 입력하지 않았습니다.<br>
--> -->
<?php echo $msg2 ?> <?php echo $msg2 ?>
</p> </p>
<p> <p>
<?php echo $msg3 ?> <?php echo $msg3 ?>
</p> </p>
</article> </article>
@ -57,5 +57,5 @@ window.close();
</noscript> </noscript>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?> ?>

View file

@ -2,246 +2,242 @@
include_once('./_common.php'); include_once('./_common.php');
if (!$board['bo_table']) { if (!$board['bo_table']) {
goto_url(G5_URL); goto_url(G5_URL);
} }
check_device($board['bo_device']); check_device($board['bo_device']);
if (isset($write['wr_is_comment']) && $write['wr_is_comment']) { if (isset($write['wr_is_comment']) && $write['wr_is_comment']) {
goto_url('./board.php?bo_table='.$bo_table.'&amp;wr_id='.$write['wr_parent'].'#c_'.$wr_id); goto_url('./board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $write['wr_parent'] . '#c_' . $wr_id);
} }
if (!$bo_table) { if (!$bo_table) {
$msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요."; $msg = "bo_table 값이 넘어오지 않았습니다.\\n\\nboard.php?bo_table=code 와 같은 방식으로 넘겨 주세요.";
alert($msg); alert($msg);
} }
// wr_id 값이 있으면 글읽기 // wr_id 값이 있으면 글읽기
if (isset($wr_id) && $wr_id) { if (isset($wr_id) && $wr_id) {
// 글이 없을 경우 해당 게시판 목록으로 이동 // 글이 없을 경우 해당 게시판 목록으로 이동
if (!$write['wr_id']) { if (!$write['wr_id']) {
$msg = '글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.'; $msg = '글이 존재하지 않습니다.\\n\\n글이 삭제되었거나 이동된 경우입니다.';
alert($msg, './board.php?bo_table='.$bo_table); alert($msg, './board.php?bo_table=' . $bo_table);
} }
// 그룹접근 사용 // 그룹접근 사용
if (isset($group['gr_use_access']) && $group['gr_use_access']) { if (isset($group['gr_use_access']) && $group['gr_use_access']) {
if ($is_guest) { if ($is_guest) {
$msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오."; $msg = "비회원은 이 게시판에 접근할 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.";
alert($msg, './login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr)); alert($msg, './login.php?wr_id=' . $wr_id . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id . $qstr));
} }
// 그룹관리자 이상이라면 통과 // 그룹관리자 이상이라면 통과
if ($is_admin == "super" || $is_admin == "group") { if ($is_admin == "super" || $is_admin == "group") {
; ;
} else { } else {
// 그룹접근 // 그룹접근
$sql = " select count(*) as cnt from {$g5['group_member_table']} where gr_id = '{$board['gr_id']}' and mb_id = '{$member['mb_id']}' "; $sql = " select count(*) as cnt from {$g5['group_member_table']} where gr_id = '{$board['gr_id']}' and mb_id = '{$member['mb_id']}' ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if (!$row['cnt']) { if (!$row['cnt']) {
alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", G5_URL); alert("접근 권한이 없으므로 글읽기가 불가합니다.\\n\\n궁금하신 사항은 관리자에게 문의 바랍니다.", G5_URL);
} }
} }
} }
// 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면 // 로그인된 회원의 권한이 설정된 읽기 권한보다 작다면
if ($member['mb_level'] < $board['bo_read_level']) { if ($member['mb_level'] < $board['bo_read_level']) {
if ($is_member) if ($is_member)
alert('글을 읽을 권한이 없습니다.', G5_URL); alert('글을 읽을 권한이 없습니다.', G5_URL);
else else
alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr)); alert('글을 읽을 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id=' . $wr_id . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id . $qstr));
} }
// 본인확인을 사용한다면 // 본인확인을 사용한다면
if ($config['cf_cert_use'] && !$is_admin) { if ($config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능 // 인증된 회원만 가능
if ($board['bo_use_cert'] != '' && $is_guest) { if ($board['bo_use_cert'] != '' && $is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr)); alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id=' . $wr_id . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id . $qstr));
} }
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) { if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL); alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) { if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL); alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') { if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL); alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) { if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL); alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
} }
} }
// 자신의 글이거나 관리자라면 통과 // 자신의 글이거나 관리자라면 통과
if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) { if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) {
; ;
} else { } else {
// 비밀글이라면 // 비밀글이라면
if (strstr($write['wr_option'], "secret")) if (strstr($write['wr_option'], "secret")) {
{ // 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우
// 회원이 비밀글을 올리고 관리자가 답변글을 올렸을 경우 // 회원이 관리자가 올린 답변글을 바로 볼 수 없던 오류를 수정
// 회원이 관리자가 올린 답변글을 바로 볼 수 없던 오류를 수정 $is_owner = false;
$is_owner = false; if ($write['wr_reply'] && $member['mb_id']) {
if ($write['wr_reply'] && $member['mb_id']) $sql = " select mb_id from {$write_table}
{
$sql = " select mb_id from {$write_table}
where wr_num = '{$write['wr_num']}' where wr_num = '{$write['wr_num']}'
and wr_reply = '' and wr_reply = ''
and wr_is_comment = 0 "; and wr_is_comment = 0 ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['mb_id'] == $member['mb_id']) if ($row['mb_id'] == $member['mb_id'])
$is_owner = true; $is_owner = true;
} }
$ss_name = 'ss_secret_'.$bo_table.'_'.$write['wr_num']; $ss_name = 'ss_secret_' . $bo_table . '_' . $write['wr_num'];
if (!$is_owner) if (!$is_owner) {
{ //$ss_name = "ss_secret_{$bo_table}_{$wr_id}";
//$ss_name = "ss_secret_{$bo_table}_{$wr_id}"; // 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 비밀번호를 묻지 않습니다.
// 한번 읽은 게시물의 번호는 세션에 저장되어 있고 같은 게시물을 읽을 경우는 다시 비밀번호를 묻지 않습니다. // 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면
// 이 게시물이 저장된 게시물이 아니면서 관리자가 아니라면 //if ("$bo_table|$write['wr_num']" != get_session("ss_secret"))
//if ("$bo_table|$write['wr_num']" != get_session("ss_secret")) if (!get_session($ss_name))
if (!get_session($ss_name)) goto_url('./password.php?w=s&amp;bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id . $qstr);
goto_url('./password.php?w=s&amp;bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr); }
}
set_session($ss_name, TRUE); set_session($ss_name, TRUE);
} }
} }
// 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음 // 한번 읽은글은 브라우저를 닫기전까지는 카운트를 증가시키지 않음
$ss_name = 'ss_view_'.$bo_table.'_'.$wr_id; $ss_name = 'ss_view_' . $bo_table . '_' . $wr_id;
if (!get_session($ss_name)) if (!get_session($ss_name)) {
{ sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
sql_query(" update {$write_table} set wr_hit = wr_hit + 1 where wr_id = '{$wr_id}' ");
// 자신의 글이면 통과 // 자신의 글이면 통과
if ($write['mb_id'] && $write['mb_id'] == $member['mb_id']) { if ($write['mb_id'] && $write['mb_id'] == $member['mb_id']) {
; ;
} else if ($is_guest && $board['bo_read_level'] == 1 && $write['wr_ip'] == $_SERVER['REMOTE_ADDR']) { } else if ($is_guest && $board['bo_read_level'] == 1 && $write['wr_ip'] == $_SERVER['REMOTE_ADDR']) {
// 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과 // 비회원이면서 읽기레벨이 1이고 등록된 아이피가 같다면 자신의 글이므로 통과
; ;
} else { } else {
// 글읽기 포인트가 설정되어 있다면 // 글읽기 포인트가 설정되어 있다면
if ($config['cf_use_point'] && $board['bo_read_point'] && $member['mb_point'] + $board['bo_read_point'] < 0) if ($config['cf_use_point'] && $board['bo_read_point'] && $member['mb_point'] + $board['bo_read_point'] < 0)
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 글읽기('.number_format($board['bo_read_point']).')가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.'); alert('보유하신 포인트(' . number_format($member['mb_point']) . ')가 없거나 모자라서 글읽기(' . number_format($board['bo_read_point']) . ')가 불가합니다.\\n\\n포인트를 모으신 후 다시 글읽기 해 주십시오.');
insert_point($member['mb_id'], $board['bo_read_point'], ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$wr_id.' 글읽기', $bo_table, $wr_id, '읽기'); insert_point($member['mb_id'], $board['bo_read_point'], ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']) . ' ' . $wr_id . ' 글읽기', $bo_table, $wr_id, '읽기');
} }
set_session($ss_name, TRUE); set_session($ss_name, TRUE);
} }
$g5['title'] = strip_tags(conv_subject($write['wr_subject'], 255))." > ".((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']); $g5['title'] = strip_tags(conv_subject($write['wr_subject'], 255)) . " > " . ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']);
} else { } else {
if ($member['mb_level'] < $board['bo_list_level']) { if ($member['mb_level'] < $board['bo_list_level']) {
if ($member['mb_id']) if ($member['mb_id'])
alert('목록을 볼 권한이 없습니다.', G5_URL); alert('목록을 볼 권한이 없습니다.', G5_URL);
else else
alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?'.$qstr.'&url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.($qstr?'&amp;':''))); alert('목록을 볼 권한이 없습니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?' . $qstr . '&url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . ($qstr ? '&amp;' : '')));
} }
// 본인확인을 사용한다면 // 본인확인을 사용한다면
if ($config['cf_cert_use'] && !$is_admin) { if ($config['cf_cert_use'] && !$is_admin) {
// 인증된 회원만 가능 // 인증된 회원만 가능
if ($board['bo_use_cert'] != '' && $is_guest) { if ($board['bo_use_cert'] != '' && $is_guest) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id='.$wr_id.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id.$qstr)); alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원이시라면 로그인 후 이용해 보십시오.', './login.php?wr_id=' . $wr_id . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id . $qstr));
} }
if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) { if ($board['bo_use_cert'] == 'cert' && !$member['mb_certify']) {
alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL); alert('이 게시판은 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 본인확인을 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) { if ($board['bo_use_cert'] == 'adult' && !$member['mb_adult']) {
alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL); alert('이 게시판은 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 본인확인을 다시 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') { if ($board['bo_use_cert'] == 'hp-cert' && $member['mb_certify'] != 'hp') {
alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL); alert('이 게시판은 휴대폰 본인확인 하신 회원님만 글읽기가 가능합니다.\\n\\n회원정보 수정에서 휴대폰 본인확인을 해주시기 바랍니다.', G5_URL);
} }
if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) { if ($board['bo_use_cert'] == 'hp-adult' && (!$member['mb_adult'] || $member['mb_certify'] != 'hp')) {
alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL); alert('이 게시판은 휴대폰 본인확인으로 성인인증 된 회원님만 글읽기가 가능합니다.\\n\\n현재 성인인데 글읽기가 안된다면 회원정보 수정에서 휴대폰 본인확인을 다시 해주시기 바랍니다.', G5_URL);
} }
} }
if (!isset($page) || (isset($page) && $page == 0)) $page = 1; if (!isset($page) || (isset($page) && $page == 0))
$page = 1;
$g5['title'] = ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']).' '.$page.' 페이지'; $g5['title'] = ((G5_IS_MOBILE && $board['bo_mobile_subject']) ? $board['bo_mobile_subject'] : $board['bo_subject']) . ' ' . $page . ' 페이지';
} }
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
$width = $board['bo_table_width']; $width = $board['bo_table_width'];
if ($width <= 100) if ($width <= 100)
$width .= '%'; $width .= '%';
else else
$width .='px'; $width .= 'px';
// IP보이기 사용 여부 // IP보이기 사용 여부
$ip = ""; $ip = "";
$is_ip_view = $board['bo_use_ip_view']; $is_ip_view = $board['bo_use_ip_view'];
if ($is_admin) { if ($is_admin) {
$is_ip_view = true; $is_ip_view = true;
if (array_key_exists('wr_ip', $write)) { if (array_key_exists('wr_ip', $write)) {
$ip = $write['wr_ip']; $ip = $write['wr_ip'];
} }
} else { } else {
// 관리자가 아니라면 IP 주소를 감춘후 보여줍니다. // 관리자가 아니라면 IP 주소를 감춘후 보여줍니다.
if (isset($write['wr_ip'])) { if (isset($write['wr_ip'])) {
$ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $write['wr_ip']); $ip = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $write['wr_ip']);
} }
} }
// 분류 사용 // 분류 사용
$is_category = false; $is_category = false;
$category_name = ''; $category_name = '';
if ($board['bo_use_category']) { if ($board['bo_use_category']) {
$is_category = true; $is_category = true;
if (array_key_exists('ca_name', $write)) { if (array_key_exists('ca_name', $write)) {
$category_name = $write['ca_name']; // 분류명 $category_name = $write['ca_name']; // 분류명
} }
} }
// 추천 사용 // 추천 사용
$is_good = false; $is_good = false;
if ($board['bo_use_good']) if ($board['bo_use_good'])
$is_good = true; $is_good = true;
// 비추천 사용 // 비추천 사용
$is_nogood = false; $is_nogood = false;
if ($board['bo_use_nogood']) if ($board['bo_use_nogood'])
$is_nogood = true; $is_nogood = true;
$admin_href = ""; $admin_href = "";
// 최고관리자 또는 그룹관리자라면 // 최고관리자 또는 그룹관리자라면
if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id'])) if ($member['mb_id'] && ($is_admin == 'super' || $group['gr_admin'] == $member['mb_id']))
$admin_href = G5_ADMIN_URL.'/board_form.php?w=u&amp;bo_table='.$bo_table; $admin_href = G5_ADMIN_URL . '/board_form.php?w=u&amp;bo_table=' . $bo_table;
include_once(G5_BBS_PATH.'/board_head.php'); include_once(G5_BBS_PATH . '/board_head.php');
// 게시물 아이디가 있다면 게시물 보기를 INCLUDE // 게시물 아이디가 있다면 게시물 보기를 INCLUDE
if (isset($wr_id) && $wr_id) { if (isset($wr_id) && $wr_id) {
include_once(G5_BBS_PATH.'/view.php'); include_once(G5_BBS_PATH . '/view.php');
} }
// 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임 // 전체목록보이기 사용이 "예" 또는 wr_id 값이 없다면 목록을 보임
//if ($board['bo_use_list_view'] || empty($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)) { if ($member['mb_level'] >= $board['bo_list_level'] && $board['bo_use_list_view'] || empty($wr_id)) {
if($board['bo_type'] == 'mmb') if ($board['bo_type'] == 'mmb')
include_once (G5_BBS_PATH.'/list.mmb.php'); include_once(G5_BBS_PATH . '/list.mmb.php');
else else
include_once (G5_BBS_PATH.'/list.php'); include_once(G5_BBS_PATH . '/list.php');
} }
include_once(G5_BBS_PATH.'/board_tail.php'); include_once(G5_BBS_PATH . '/board_tail.php');
echo "\n<!-- 사용스킨 : ".(G5_IS_MOBILE ? $board['bo_mobile_skin'] : $board['bo_skin'])." -->\n"; echo "\n<!-- 사용스킨 : " . (G5_IS_MOBILE ? $board['bo_mobile_skin'] : $board['bo_skin']) . " -->\n";
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?>

View file

@ -1,6 +1,6 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
exit; // 개별 페이지 접근 불가
include_once(G5_BBS_PATH.'/_head.php'); include_once(G5_BBS_PATH . '/_head.php');
@include ($board['bo_include_head']); @include($board['bo_include_head']);
?>

View file

@ -3,19 +3,18 @@ include_once('./_common.php');
$count = count($_POST['chk_wr_id']); $count = count($_POST['chk_wr_id']);
if(!$count) { if (!$count) {
alert($_POST['btn_submit'].' 하실 항목을 하나 이상 선택하세요.'); alert($_POST['btn_submit'] . ' 하실 항목을 하나 이상 선택하세요.');
} }
if($_POST['btn_submit'] == '선택삭제') { if ($_POST['btn_submit'] == '선택삭제') {
include './delete_all.php'; include './delete_all.php';
} else if($_POST['btn_submit'] == '선택복사') { } else if ($_POST['btn_submit'] == '선택복사') {
$sw = 'copy'; $sw = 'copy';
include './move.php'; include './move.php';
} else if($_POST['btn_submit'] == '선택이동') { } else if ($_POST['btn_submit'] == '선택이동') {
$sw = 'move'; $sw = 'move';
include './move.php'; include './move.php';
} else { } else {
alert('올바른 방법으로 이용해 주세요.'); alert('올바른 방법으로 이용해 주세요.');
} }
?>

View file

@ -1,6 +1,6 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
exit; // 개별 페이지 접근 불가
@include ($board['bo_include_tail']); @include($board['bo_include_tail']);
include_once(G5_BBS_PATH.'/_tail.php'); include_once(G5_BBS_PATH . '/_tail.php');
?>

View file

@ -121,7 +121,8 @@ if ($profile['ad_use_rank']) {
<option value=""><?= $config['cf_side_title'] ?>선택</option> <option value=""><?= $config['cf_side_title'] ?>선택</option>
<?php for ($i = 0; $i < count($ch_si); $i++) { ?> <?php for ($i = 0; $i < count($ch_si); $i++) { ?>
<option value="<?= $ch_si[$i]['id'] ?>" <?php echo get_selected($_GET['s_side'], $ch_si[$i]['id']); ?>> <option value="<?= $ch_si[$i]['id'] ?>" <?php echo get_selected($_GET['s_side'], $ch_si[$i]['id']); ?>>
<?= $ch_si[$i]['name'] ?></option> <?= $ch_si[$i]['name'] ?>
</option>
<?php } ?> <?php } ?>
</select> </select>
<?php } ?> <?php } ?>
@ -132,7 +133,8 @@ if ($profile['ad_use_rank']) {
<option value=""><?= $config['cf_class_title'] ?>선택</option> <option value=""><?= $config['cf_class_title'] ?>선택</option>
<?php for ($i = 0; $i < count($ch_cl); $i++) { ?> <?php for ($i = 0; $i < count($ch_cl); $i++) { ?>
<option value="<?= $ch_cl[$i]['id'] ?>" <?php echo get_selected($_GET['s_class'], $ch_cl[$i]['id']); ?>> <option value="<?= $ch_cl[$i]['id'] ?>" <?php echo get_selected($_GET['s_class'], $ch_cl[$i]['id']); ?>>
<?= $ch_cl[$i]['name'] ?></option> <?= $ch_cl[$i]['name'] ?>
</option>
<?php } ?> <?php } ?>
</select> </select>
<?php } ?> <?php } ?>
@ -247,7 +249,8 @@ if ($profile['ad_use_rank']) {
<option value=""><?= $config['cf_side_title'] ?>선택</option> <option value=""><?= $config['cf_side_title'] ?>선택</option>
<?php for ($k = 0; $k < count($ch_si); $k++) { ?> <?php for ($k = 0; $k < count($ch_si); $k++) { ?>
<option value="<?= $ch_si[$k]['id'] ?>" <?php echo get_selected($row['ch_side'], $ch_si[$k]['id']); ?>> <option value="<?= $ch_si[$k]['id'] ?>" <?php echo get_selected($row['ch_side'], $ch_si[$k]['id']); ?>>
<?= $ch_si[$k]['name'] ?></option> <?= $ch_si[$k]['name'] ?>
</option>
<?php } ?> <?php } ?>
</select> </select>
</td> </td>
@ -258,7 +261,8 @@ if ($profile['ad_use_rank']) {
<option value=""><?= $config['cf_class_title'] ?>선택</option> <option value=""><?= $config['cf_class_title'] ?>선택</option>
<?php for ($k = 0; $k < count($ch_cl); $k++) { ?> <?php for ($k = 0; $k < count($ch_cl); $k++) { ?>
<option value="<?= $ch_cl[$k]['id'] ?>" <?php echo get_selected($row['ch_class'], $ch_cl[$k]['id']); ?>> <option value="<?= $ch_cl[$k]['id'] ?>" <?php echo get_selected($row['ch_class'], $ch_cl[$k]['id']); ?>>
<?= $ch_cl[$k]['name'] ?></option> <?= $ch_cl[$k]['name'] ?>
</option>
<?php } ?> <?php } ?>
</select> </select>
</td> </td>

View file

@ -1,6 +1,6 @@
<?php <?php
include_once('./_common.php'); include_once('./_common.php');
include_once(G5_PATH.'/head.sub.php'); include_once(G5_PATH . '/head.sub.php');
$url1 = clean_xss_tags($url1); $url1 = clean_xss_tags($url1);
$url2 = clean_xss_tags($url2); $url2 = clean_xss_tags($url2);
@ -13,32 +13,30 @@ check_url_host($url3);
?> ?>
<script> <script>
var conf = "<?php echo strip_tags($msg); ?>"; var conf = "<?php echo strip_tags($msg); ?>";
if (confirm(conf)) { if (confirm(conf)) {
document.location.replace("<?php echo $url1; ?>"); document.location.replace("<?php echo $url1; ?>");
} else { } else {
document.location.replace("<?php echo $url2; ?>"); document.location.replace("<?php echo $url2; ?>");
} }
</script> </script>
<noscript> <noscript>
<article id="confirm_check"> <article id="confirm_check">
<header> <header>
<hgroup> <hgroup>
<h1><?php echo $header; ?></h1> <!-- 수행 중이던 작업 내용 --> <h1><?php echo $header; ?></h1> <!-- 수행 중이던 작업 내용 -->
<h2>아래 내용을 확인해 주세요.</h2> <h2>아래 내용을 확인해 주세요.</h2>
</hgroup> </hgroup>
</header> </header>
<p> <p>
<?php echo $msg; ?> <?php echo $msg; ?>
</p> </p>
<a href="<?php echo $url1; ?>">확인</a> <a href="<?php echo $url1; ?>">확인</a>
<a href="<?php echo $url2; ?>">취소</a><br><br> <a href="<?php echo $url2; ?>">취소</a><br><br>
<a href="<?php echo $url3; ?>">돌아가기</a> <a href="<?php echo $url3; ?>">돌아가기</a>
</article> </article>
</noscript> </noscript>
<?php <?php
include_once(G5_PATH.'/tail.sub.php'); include_once(G5_PATH . '/tail.sub.php');
?>

View file

@ -2,8 +2,8 @@
include_once('./_common.php'); include_once('./_common.php');
//dbconfig파일에 $g5['content_table'] 배열변수가 있는지 체크 //dbconfig파일에 $g5['content_table'] 배열변수가 있는지 체크
if( !isset($g5['content_table']) ){ if (!isset($g5['content_table'])) {
die('<meta charset="utf-8">관리자 모드에서 게시판관리->내용 관리를 먼저 확인해 주세요.'); die('<meta charset="utf-8">관리자 모드에서 게시판관리->내용 관리를 먼저 확인해 주세요.');
} }
@ -12,15 +12,15 @@ if( !isset($g5['content_table']) ){
$sql = " select * from {$g5['content_table']} where co_id = '$co_id' "; $sql = " select * from {$g5['content_table']} where co_id = '$co_id' ";
$co = sql_fetch($sql); $co = sql_fetch($sql);
if (!$co['co_id']) if (!$co['co_id'])
alert('등록된 내용이 없습니다.'); alert('등록된 내용이 없습니다.');
$g5['title'] = $co['co_subject']; $g5['title'] = $co['co_subject'];
if (is_include_path_check($co['co_include_head'])) if (is_include_path_check($co['co_include_head']))
@include_once($co['co_include_head']); @include_once($co['co_include_head']);
else else
include_once('./_head.php'); include_once('./_head.php');
$str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use']); $str = conv_content($co['co_content'], $co['co_html'], $co['co_tag_filter_use']);
@ -57,34 +57,33 @@ $dst[] = $default['de_admin_info_email'];
$str = preg_replace($src, $dst, $str); $str = preg_replace($src, $dst, $str);
// 스킨경로 // 스킨경로
if(trim($co['co_skin']) == '') if (trim($co['co_skin']) == '')
$co['co_skin'] = 'basic'; $co['co_skin'] = 'basic';
$content_skin_path = get_skin_path('content', $co['co_skin']); $content_skin_path = get_skin_path('content', $co['co_skin']);
$content_skin_url = get_skin_url('content', $co['co_skin']); $content_skin_url = get_skin_url('content', $co['co_skin']);
$skin_file = $content_skin_path.'/content.skin.php'; $skin_file = $content_skin_path . '/content.skin.php';
if ($is_admin) if ($is_admin)
echo '<div class="ctt_admin"><a href="'.G5_ADMIN_URL.'/contentform.php?w=u&amp;co_id='.$co_id.'" class="ui-btn admin">내용 수정</a></div>'; echo '<div class="ctt_admin"><a href="' . G5_ADMIN_URL . '/contentform.php?w=u&amp;co_id=' . $co_id . '" class="ui-btn admin">내용 수정</a></div>';
?> ?>
<?php <?php
if(is_file($skin_file)) { if (is_file($skin_file)) {
$himg = G5_DATA_PATH.'/content/'.$co_id.'_h'; $himg = G5_DATA_PATH . '/content/' . $co_id . '_h';
if (file_exists($himg)) // 상단 이미지 if (file_exists($himg)) // 상단 이미지
echo '<div id="ctt_himg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_h" alt=""></div>'; echo '<div id="ctt_himg" class="ctt_img"><img src="' . G5_DATA_URL . '/content/' . $co_id . '_h" alt=""></div>';
include($skin_file); include($skin_file);
$timg = G5_DATA_PATH.'/content/'.$co_id.'_t'; $timg = G5_DATA_PATH . '/content/' . $co_id . '_t';
if (file_exists($timg)) // 하단 이미지 if (file_exists($timg)) // 하단 이미지
echo '<div id="ctt_timg" class="ctt_img"><img src="'.G5_DATA_URL.'/content/'.$co_id.'_t" alt=""></div>'; echo '<div id="ctt_timg" class="ctt_img"><img src="' . G5_DATA_URL . '/content/' . $co_id . '_t" alt=""></div>';
} else { } else {
echo '<p>'.str_replace(G5_PATH.'/', '', $skin_file).'이 존재하지 않습니다.</p>'; echo '<p>' . str_replace(G5_PATH . '/', '', $skin_file) . '이 존재하지 않습니다.</p>';
} }
if (is_include_path_check($co['co_include_tail'])) if (is_include_path_check($co['co_include_tail']))
@include_once($co['co_include_tail']); @include_once($co['co_include_tail']);
else else
include_once('./_tail.php'); include_once('./_tail.php');
?>

View file

@ -11,28 +11,27 @@ $sql = " select a.mb_id, b.mb_nick, b.mb_name, b.mb_email, b.mb_homepage, b.mb_o
where a.mb_id <> '{$config['cf_admin']}' where a.mb_id <> '{$config['cf_admin']}'
order by a.lo_datetime desc "; order by a.lo_datetime desc ";
$result = sql_query($sql); $result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) { for ($i = 0; $row = sql_fetch_array($result); $i++) {
$row['lo_url'] = get_text($row['lo_url']); $row['lo_url'] = get_text($row['lo_url']);
$list[$i] = $row; $list[$i] = $row;
if ($row['mb_id']) { if ($row['mb_id']) {
$list[$i]['name'] = get_sideview($row['mb_id'], cut_str($row['mb_nick'], $config['cf_cut_name']), $row['mb_email'], $row['mb_homepage']); $list[$i]['name'] = get_sideview($row['mb_id'], cut_str($row['mb_nick'], $config['cf_cut_name']), $row['mb_email'], $row['mb_homepage']);
} else {
$ip_member = sql_fetch("select mb_name, mb_id from {$g5['member_table']} where mb_login_ip = '{$row['lo_ip']}' OR mb_ip = '{$row['lo_ip']}'");
if ($ip_member['mb_id']) {
$list[$i]['name'] = $ip_member['mb_name'];
} else { } else {
$ip_member = sql_fetch("select mb_name, mb_id from {$g5['member_table']} where mb_login_ip = '{$row['lo_ip']}' OR mb_ip = '{$row['lo_ip']}'"); if ($is_admin)
if($ip_member['mb_id']) { $list[$i]['name'] = $row['lo_ip'];
$list[$i]['name'] = $ip_member['mb_name']; else
} else { $list[$i]['name'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['lo_ip']);
if ($is_admin)
$list[$i]['name'] = $row['lo_ip'];
else
$list[$i]['name'] = preg_replace("/([0-9]+).([0-9]+).([0-9]+).([0-9]+)/", G5_IP_DISPLAY, $row['lo_ip']);
}
} }
}
$list[$i]['num'] = sprintf('%03d',$i+1); $list[$i]['num'] = sprintf('%03d', $i + 1);
} }
include_once($connect_skin_path.'/current_connect.skin.php'); include_once($connect_skin_path . '/current_connect.skin.php');
include_once('./_tail.php'); include_once('./_tail.php');
?>

View file

@ -1,69 +1,68 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
exit; // 개별 페이지 접근 불가
// 최고관리자일 때만 실행 // 최고관리자일 때만 실행
if($config['cf_admin'] != $member['mb_id'] || $is_admin != 'super') if ($config['cf_admin'] != $member['mb_id'] || $is_admin != 'super')
return; return;
// 실행일 비교 // 실행일 비교
if(isset($config['cf_optimize_date']) && $config['cf_optimize_date'] >= G5_TIME_YMD) if (isset($config['cf_optimize_date']) && $config['cf_optimize_date'] >= G5_TIME_YMD)
return; return;
// 설정일이 지난 접속자로그 삭제 // 설정일이 지난 접속자로그 삭제
if($config['cf_visit_del'] > 0) { if ($config['cf_visit_del'] > 0) {
$tmp_before_date = date("Y-m-d", G5_SERVER_TIME - ($config['cf_visit_del'] * 86400)); $tmp_before_date = date("Y-m-d", G5_SERVER_TIME - ($config['cf_visit_del'] * 86400));
$sql = " delete from {$g5['visit_table']} where vi_date < '$tmp_before_date' "; $sql = " delete from {$g5['visit_table']} where vi_date < '$tmp_before_date' ";
sql_query($sql); sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['visit_table']}`, `{$g5['visit_sum_table']}` "); sql_query(" OPTIMIZE TABLE `{$g5['visit_table']}`, `{$g5['visit_sum_table']}` ");
} }
// 설정일이 지난 인기검색어 삭제 // 설정일이 지난 인기검색어 삭제
if($config['cf_popular_del'] > 0) { if ($config['cf_popular_del'] > 0) {
$tmp_before_date = date("Y-m-d", G5_SERVER_TIME - ($config['cf_popular_del'] * 86400)); $tmp_before_date = date("Y-m-d", G5_SERVER_TIME - ($config['cf_popular_del'] * 86400));
$sql = " delete from {$g5['popular_table']} where pp_date < '$tmp_before_date' "; $sql = " delete from {$g5['popular_table']} where pp_date < '$tmp_before_date' ";
sql_query($sql); sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['popular_table']}` "); sql_query(" OPTIMIZE TABLE `{$g5['popular_table']}` ");
} }
// 설정일이 지난 최근게시물 삭제 // 설정일이 지난 최근게시물 삭제
if($config['cf_new_del'] > 0) { if ($config['cf_new_del'] > 0) {
$sql = " delete from {$g5['board_new_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' "; $sql = " delete from {$g5['board_new_table']} where (TO_DAYS('" . G5_TIME_YMDHIS . "') - TO_DAYS(bn_datetime)) > '{$config['cf_new_del']}' ";
sql_query($sql); sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` "); sql_query(" OPTIMIZE TABLE `{$g5['board_new_table']}` ");
} }
// 설정일이 지난 쪽지 삭제 // 설정일이 지난 쪽지 삭제
if($config['cf_memo_del'] > 0) { if ($config['cf_memo_del'] > 0) {
$sql = " delete from {$g5['memo_table']} where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(me_send_datetime)) > '{$config['cf_memo_del']}' "; $sql = " delete from {$g5['memo_table']} where (TO_DAYS('" . G5_TIME_YMDHIS . "') - TO_DAYS(me_send_datetime)) > '{$config['cf_memo_del']}' ";
sql_query($sql); sql_query($sql);
sql_query(" OPTIMIZE TABLE `{$g5['memo_table']}` "); sql_query(" OPTIMIZE TABLE `{$g5['memo_table']}` ");
} }
// 탈퇴회원 자동 삭제 // 탈퇴회원 자동 삭제
if($config['cf_leave_day'] > 0) { if ($config['cf_leave_day'] > 0) {
$sql = " select mb_id from {$g5['member_table']} $sql = " select mb_id from {$g5['member_table']}
where (TO_DAYS('".G5_TIME_YMDHIS."') - TO_DAYS(mb_leave_date)) > '{$config['cf_leave_day']}' where (TO_DAYS('" . G5_TIME_YMDHIS . "') - TO_DAYS(mb_leave_date)) > '{$config['cf_leave_day']}'
and mb_memo not regexp '^[0-9]{8}.*삭제함' "; and mb_memo not regexp '^[0-9]{8}.*삭제함' ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row=sql_fetch_array($result)) while ($row = sql_fetch_array($result)) {
{ // 회원자료 삭제
// 회원자료 삭제 member_delete($row['mb_id']);
member_delete($row['mb_id']); }
}
} }
// 음성 캡챠 파일 삭제 // 음성 캡챠 파일 삭제
$captcha_mp3 = glob(G5_PATH.'/data/cache/kcaptcha-*.mp3'); $captcha_mp3 = glob(G5_PATH . '/data/cache/kcaptcha-*.mp3');
if($captcha_mp3 && is_array($captcha_mp3)) { if ($captcha_mp3 && is_array($captcha_mp3)) {
foreach ($captcha_mp3 as $file) { foreach ($captcha_mp3 as $file) {
if (filemtime($file) + 86400 < G5_SERVER_TIME) { if (filemtime($file) + 86400 < G5_SERVER_TIME) {
@unlink($file); @unlink($file);
}
} }
}
} }
// 실행일 기록 // 실행일 기록
if(isset($config['cf_optimize_date'])) { if (isset($config['cf_optimize_date'])) {
sql_query(" update {$g5['config_table']} set cf_optimize_date = '".G5_TIME_YMD."' "); sql_query(" update {$g5['config_table']} set cf_optimize_date = '" . G5_TIME_YMD . "' ");
} }
?>

View file

@ -5,38 +5,39 @@ $delete_token = get_session('ss_delete_token');
set_session('ss_delete_token', ''); set_session('ss_delete_token', '');
/* /*
if (!($token && $delete_token == $token)) if (!($token && $delete_token == $token))
alert('토큰 에러로 삭제 불가합니다.'); alert('토큰 에러로 삭제 불가합니다.');
*/ */
//$wr = sql_fetch(" select * from $write_table where wr_id = '$wr_id' "); //$wr = sql_fetch(" select * from $write_table where wr_id = '$wr_id' ");
@include_once($board_skin_path.'/delete.head.skin.php'); @include_once($board_skin_path . '/delete.head.skin.php');
if ($is_admin == 'super') // 최고관리자 통과 if ($is_admin == 'super') // 최고관리자 통과
; ;
else if ($is_admin == 'group') { // 그룹관리자 else if ($is_admin == 'group') { // 그룹관리자
$mb = get_member($write['mb_id']); $mb = get_member($write['mb_id']);
if ($member['mb_id'] != $group['gr_admin']) // 자신이 관리하는 그룹인가? if ($member['mb_id'] != $group['gr_admin']) // 자신이 관리하는 그룹인가?
alert('자신이 관리하는 그룹의 게시판이 아니므로 삭제할 수 없습니다.'); alert('자신이 관리하는 그룹의 게시판이 아니므로 삭제할 수 없습니다.');
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과 else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.'); alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.');
} else if ($is_admin == 'board') { // 게시판관리자이면 } else if ($is_admin == 'board') { // 게시판관리자이면
$mb = get_member($write['mb_id']); $mb = get_member($write['mb_id']);
if ($member['mb_id'] != $board['bo_admin']) // 자신이 관리하는 게시판인가? if ($member['mb_id'] != $board['bo_admin']) // 자신이 관리하는 게시판인가?
alert('자신이 관리하는 게시판이 아니므로 삭제할 수 없습니다.'); alert('자신이 관리하는 게시판이 아니므로 삭제할 수 없습니다.');
else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과 else if ($member['mb_level'] < $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.'); alert('자신의 권한보다 높은 권한의 회원이 작성한 글은 삭제할 수 없습니다.');
} else if ($member['mb_id']) { } else if ($member['mb_id']) {
if ($member['mb_id'] != $write['mb_id']) if ($member['mb_id'] != $write['mb_id'])
alert('자신의 글이 아니므로 삭제할 수 없습니다.'); alert('자신의 글이 아니므로 삭제할 수 없습니다.');
} else { } else {
if ($write['mb_id']) if ($write['mb_id'])
alert('로그인 후 삭제하세요.', './login.php?url='.urlencode('./board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id)); alert('로그인 후 삭제하세요.', './login.php?url=' . urlencode('./board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id));
else if (!check_password($wr_password, $write['wr_password'])) else if (!check_password($wr_password, $write['wr_password']))
alert('비밀번호가 틀리므로 삭제할 수 없습니다.'); alert('비밀번호가 틀리므로 삭제할 수 없습니다.');
} }
$len = strlen($write['wr_reply']); $len = strlen($write['wr_reply']);
if ($len < 0) $len = 0; if ($len < 0)
$len = 0;
$reply = substr($write['wr_reply'], 0, $len); $reply = substr($write['wr_reply'], 0, $len);
// 원글만 구한다. // 원글만 구한다.
@ -47,7 +48,7 @@ $sql = " select count(*) as cnt from $write_table
and wr_is_comment = 0 "; and wr_is_comment = 0 ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt'] && !$is_admin) if ($row['cnt'] && !$is_admin)
alert('이 글과 관련된 답변글이 존재하므로 삭제 할 수 없습니다.\\n\\n우선 답변글부터 삭제하여 주십시오.'); alert('이 글과 관련된 답변글이 존재하므로 삭제 할 수 없습니다.\\n\\n우선 답변글부터 삭제하여 주십시오.');
// 코멘트 달린 원글의 삭제 여부 // 코멘트 달린 원글의 삭제 여부
$sql = " select count(*) as cnt from $write_table $sql = " select count(*) as cnt from $write_table
@ -57,53 +58,49 @@ $sql = " select count(*) as cnt from $write_table
$row = sql_fetch($sql); $row = sql_fetch($sql);
$board['bo_count_delete'] = 1000; $board['bo_count_delete'] = 1000;
if ($row['cnt'] >= $board['bo_count_delete'] && !$is_admin) if ($row['cnt'] >= $board['bo_count_delete'] && !$is_admin)
alert('이 글과 관련된 코멘트가 존재하므로 삭제 할 수 없습니다.\\n\\n코멘트가 '.$board['bo_count_delete'].'건 이상 달린 원글은 삭제할 수 없습니다.'); alert('이 글과 관련된 코멘트가 존재하므로 삭제 할 수 없습니다.\\n\\n코멘트가 ' . $board['bo_count_delete'] . '건 이상 달린 원글은 삭제할 수 없습니다.');
// 사용자 코드 실행 // 사용자 코드 실행
@include_once($board_skin_path.'/delete.skin.php'); @include_once($board_skin_path . '/delete.skin.php');
// 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다. // 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다.
//$sql = " select wr_id, mb_id, wr_comment from $write_table where wr_parent = '$write['wr_id']' order by wr_id "; //$sql = " select wr_id, mb_id, wr_comment from $write_table where wr_parent = '$write['wr_id']' order by wr_id ";
$sql = " select wr_id, mb_id, wr_is_comment, wr_content from $write_table where wr_parent = '{$write['wr_id']}' order by wr_id "; $sql = " select wr_id, mb_id, wr_is_comment, wr_content from $write_table where wr_parent = '{$write['wr_id']}' order by wr_id ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row = sql_fetch_array($result)) while ($row = sql_fetch_array($result)) {
{ // 원글이라면
// 원글이라면 if (!$row['wr_is_comment']) {
if (!$row['wr_is_comment']) // 원글 포인트 삭제
{ if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '쓰기'))
// 원글 포인트 삭제 insert_point($row['mb_id'], $board['bo_write_point'] * (-1), "{$board['bo_subject']} {$row['wr_id']} 글삭제");
if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '쓰기'))
insert_point($row['mb_id'], $board['bo_write_point'] * (-1), "{$board['bo_subject']} {$row['wr_id']} 글삭제");
// 업로드된 파일이 있다면 파일삭제 // 업로드된 파일이 있다면 파일삭제
$sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' "; $sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ";
$result2 = sql_query($sql2); $result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2)) { while ($row2 = sql_fetch_array($result2)) {
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row2['bf_file']); @unlink(G5_DATA_PATH . '/file/' . $bo_table . '/' . $row2['bf_file']);
// 썸네일삭제 // 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { if (preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
delete_board_thumbnail($bo_table, $row2['bf_file']); delete_board_thumbnail($bo_table, $row2['bf_file']);
} }
} }
// 에디터 썸네일 삭제 // 에디터 썸네일 삭제
delete_editor_thumbnail($row['wr_content']); delete_editor_thumbnail($row['wr_content']);
// 파일테이블 행 삭제 // 파일테이블 행 삭제
sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' "); sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ");
$count_write++; $count_write++;
} } else {
else // 코멘트 포인트 삭제
{ if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '댓글'))
// 코멘트 포인트 삭제 insert_point($row['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_id']}-{$row['wr_id']} 댓글삭제");
if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '댓글'))
insert_point($row['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_id']}-{$row['wr_id']} 댓글삭제");
$count_comment++; $count_comment++;
} }
} }
// 게시글 삭제 // 게시글 삭제
@ -120,8 +117,8 @@ sql_query(" delete from {$g5['scrap_table']} where bo_table = '$bo_table' and wr
$notice_array = explode("\n", trim($board['bo_notice'])); $notice_array = explode("\n", trim($board['bo_notice']));
$bo_notice = ""; $bo_notice = "";
for ($k=0; $k<count($notice_array); $k++) for ($k=0; $k<count($notice_array); $k++)
if ((int)$write['wr_id'] != (int)$notice_array[$k]) if ((int)$write['wr_id'] != (int)$notice_array[$k])
$bo_notice .= $notice_array[$k] . "\n"; $bo_notice .= $notice_array[$k] . "\n";
$bo_notice = trim($bo_notice); $bo_notice = trim($bo_notice);
*/ */
$bo_notice = board_notice($board['bo_notice'], $write['wr_id']); $bo_notice = board_notice($board['bo_notice'], $write['wr_id']);
@ -129,11 +126,10 @@ sql_query(" update {$g5['board_table']} set bo_notice = '$bo_notice' where bo_ta
// 글숫자 감소 // 글숫자 감소
if ($count_write > 0 || $count_comment > 0) if ($count_write > 0 || $count_comment > 0)
sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' "); sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' ");
@include_once($board_skin_path.'/delete.tail.skin.php'); @include_once($board_skin_path . '/delete.tail.skin.php');
delete_cache_latest($bo_table); delete_cache_latest($bo_table);
goto_url('./board.php?bo_table='.$bo_table.'&amp;page='.$page.$qstr); goto_url('./board.php?bo_table=' . $bo_table . '&amp;page=' . $page . $qstr);
?>

View file

@ -1,160 +1,151 @@
<?php <?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_'))
exit; // 개별 페이지 접근 불가
if(!$is_admin) if (!$is_admin)
alert('접근 권한이 없습니다.', G5_URL); alert('접근 권한이 없습니다.', G5_URL);
// 4.11 // 4.11
@include_once($board_skin_path.'/delete_all.head.skin.php'); @include_once($board_skin_path . '/delete_all.head.skin.php');
$count_write = 0; $count_write = 0;
$count_comment = 0; $count_comment = 0;
$tmp_array = array(); $tmp_array = array();
if ($wr_id) // 건별삭제 if ($wr_id) // 건별삭제
$tmp_array[0] = $wr_id; $tmp_array[0] = $wr_id;
else // 일괄삭제 else // 일괄삭제
$tmp_array = $_POST['chk_wr_id']; $tmp_array = $_POST['chk_wr_id'];
$chk_count = count($tmp_array); $chk_count = count($tmp_array);
if($chk_count > (G5_IS_MOBILE ? $board['bo_mobile_page_rows'] : $board['bo_page_rows'])) if ($chk_count > (G5_IS_MOBILE ? $board['bo_mobile_page_rows'] : $board['bo_page_rows']))
alert('올바른 방법으로 이용해 주십시오.'); alert('올바른 방법으로 이용해 주십시오.');
// 사용자 코드 실행 // 사용자 코드 실행
@include_once($board_skin_path.'/delete_all.skin.php'); @include_once($board_skin_path . '/delete_all.skin.php');
// 거꾸로 읽는 이유는 답변글부터 삭제가 되어야 하기 때문임 // 거꾸로 읽는 이유는 답변글부터 삭제가 되어야 하기 때문임
for ($i=$chk_count-1; $i>=0; $i--) for ($i = $chk_count - 1; $i >= 0; $i--) {
{ $write = sql_fetch(" select * from $write_table where wr_id = '$tmp_array[$i]' ");
$write = sql_fetch(" select * from $write_table where wr_id = '$tmp_array[$i]' ");
if ($is_admin == 'super') // 최고관리자 통과 if ($is_admin == 'super') // 최고관리자 통과
;
else if ($is_admin == 'group') // 그룹관리자
{
$mb = get_member($write['mb_id']);
if ($member['mb_id'] == $group['gr_admin']) // 자신이 관리하는 그룹인가?
{
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
; ;
else if ($is_admin == 'group') // 그룹관리자 else
{ continue;
$mb = get_member($write['mb_id']); } else
if ($member['mb_id'] == $group['gr_admin']) // 자신이 관리하는 그룹인가? continue;
{ } else if ($is_admin == 'board') // 게시판관리자이면
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과 {
; $mb = get_member($write['mb_id']);
else if ($member['mb_id'] == $board['bo_admin']) // 자신이 관리하는 게시판인가?
continue; if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
}
else
continue;
}
else if ($is_admin == 'board') // 게시판관리자이면
{
$mb = get_member($write['mb_id']);
if ($member['mb_id'] == $board['bo_admin']) // 자신이 관리하는 게시판인가?
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
;
else
continue;
else
continue;
}
else if ($member['mb_id'] && $member['mb_id'] == $write['mb_id']) // 자신의 글이라면
{
; ;
} else
else if ($wr_password && !$write['mb_id'] && check_password($wr_password, $write['wr_password'])) // 비밀번호가 같다면 continue;
{
;
}
else else
continue; // 나머지는 삭제 불가 continue;
} else if ($member['mb_id'] && $member['mb_id'] == $write['mb_id']) // 자신의 글이라면
{
;
} else if ($wr_password && !$write['mb_id'] && check_password($wr_password, $write['wr_password'])) // 비밀번호가 같다면
{
;
} else
continue; // 나머지는 삭제 불가
$len = strlen($write['wr_reply']); $len = strlen($write['wr_reply']);
if ($len < 0) $len = 0; if ($len < 0)
$reply = substr($write['wr_reply'], 0, $len); $len = 0;
$reply = substr($write['wr_reply'], 0, $len);
// 원글만 구한다. // 원글만 구한다.
$sql = " select count(*) as cnt from $write_table $sql = " select count(*) as cnt from $write_table
where wr_reply like '$reply%' where wr_reply like '$reply%'
and wr_id <> '{$write['wr_id']}' and wr_id <> '{$write['wr_id']}'
and wr_num = '{$write['wr_num']}' and wr_num = '{$write['wr_num']}'
and wr_is_comment = 0 "; and wr_is_comment = 0 ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt']) if ($row['cnt'])
continue; continue;
// 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다. // 나라오름님 수정 : 원글과 코멘트수가 정상적으로 업데이트 되지 않는 오류를 잡아 주셨습니다.
//$sql = " select wr_id, mb_id, wr_comment from {$write_table} where wr_parent = '{$write['wr_id']}' order by wr_id "; //$sql = " select wr_id, mb_id, wr_comment from {$write_table} where wr_parent = '{$write['wr_id']}' order by wr_id ";
$sql = " select wr_id, mb_id, wr_is_comment, wr_content from $write_table where wr_parent = '{$write['wr_id']}' order by wr_id "; $sql = " select wr_id, mb_id, wr_is_comment, wr_content from $write_table where wr_parent = '{$write['wr_id']}' order by wr_id ";
$result = sql_query($sql); $result = sql_query($sql);
while ($row = sql_fetch_array($result)) while ($row = sql_fetch_array($result)) {
{ // 원글이라면
// 원글이라면 if (!$row['wr_is_comment']) {
if (!$row['wr_is_comment']) // 원글 포인트 삭제
{ if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '쓰기'))
// 원글 포인트 삭제 insert_point($row['mb_id'], $board['bo_write_point'] * (-1), "{$board['bo_subject']} {$row['wr_id']} 글 삭제");
if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '쓰기'))
insert_point($row['mb_id'], $board['bo_write_point'] * (-1), "{$board['bo_subject']} {$row['wr_id']} 글 삭제");
// 업로드된 파일이 있다면 // 업로드된 파일이 있다면
$sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' "; $sql2 = " select * from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ";
$result2 = sql_query($sql2); $result2 = sql_query($sql2);
while ($row2 = sql_fetch_array($result2)) { while ($row2 = sql_fetch_array($result2)) {
// 파일삭제 // 파일삭제
@unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row2['bf_file']); @unlink(G5_DATA_PATH . '/file/' . $bo_table . '/' . $row2['bf_file']);
// 썸네일삭제 // 썸네일삭제
if(preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) { if (preg_match("/\.({$config['cf_image_extension']})$/i", $row2['bf_file'])) {
delete_board_thumbnail($bo_table, $row2['bf_file']); delete_board_thumbnail($bo_table, $row2['bf_file']);
}
}
// 에디터 썸네일 삭제
delete_editor_thumbnail($row['wr_content']);
// 파일테이블 행 삭제
sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ");
$count_write++;
} }
else }
{
// 코멘트 포인트 삭제
if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '댓글'))
insert_point($row['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_id']}-{$row['wr_id']} 댓글삭제");
$count_comment++; // 에디터 썸네일 삭제
} delete_editor_thumbnail($row['wr_content']);
// 파일테이블 행 삭제
sql_query(" delete from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '{$row['wr_id']}' ");
$count_write++;
} else {
// 코멘트 포인트 삭제
if (!delete_point($row['mb_id'], $bo_table, $row['wr_id'], '댓글'))
insert_point($row['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_id']}-{$row['wr_id']} 댓글삭제");
$count_comment++;
} }
}
// 게시글 삭제 // 게시글 삭제
sql_query(" delete from $write_table where wr_parent = '{$write['wr_id']}' "); sql_query(" delete from $write_table where wr_parent = '{$write['wr_id']}' ");
// 최근게시물 삭제 // 최근게시물 삭제
sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_parent = '{$write['wr_id']}' "); sql_query(" delete from {$g5['board_new_table']} where bo_table = '$bo_table' and wr_parent = '{$write['wr_id']}' ");
// 스크랩 삭제 // 스크랩 삭제
sql_query(" delete from {$g5['scrap_table']} where bo_table = '$bo_table' and wr_id = '{$write['wr_id']}' "); sql_query(" delete from {$g5['scrap_table']} where bo_table = '$bo_table' and wr_id = '{$write['wr_id']}' ");
/* /*
// 공지사항 삭제 // 공지사항 삭제
$notice_array = explode(',', trim($board['bo_notice'])); $notice_array = explode(',', trim($board['bo_notice']));
$bo_notice = ""; $bo_notice = "";
for ($k=0; $k<count($notice_array); $k++) for ($k=0; $k<count($notice_array); $k++)
if ((int)$write['wr_id'] != (int)$notice_array[$k]) if ((int)$write['wr_id'] != (int)$notice_array[$k])
$bo_notice .= $notice_array[$k].','; $bo_notice .= $notice_array[$k].',';
$bo_notice = trim($bo_notice); $bo_notice = trim($bo_notice);
*/ */
$bo_notice = board_notice($board['bo_notice'], $write['wr_id']); $bo_notice = board_notice($board['bo_notice'], $write['wr_id']);
sql_query(" update {$g5['board_table']} set bo_notice = '$bo_notice' where bo_table = '$bo_table' "); sql_query(" update {$g5['board_table']} set bo_notice = '$bo_notice' where bo_table = '$bo_table' ");
$board['bo_notice'] = $bo_notice; $board['bo_notice'] = $bo_notice;
} }
// 글숫자 감소 // 글숫자 감소
if ($count_write > 0 || $count_comment > 0) if ($count_write > 0 || $count_comment > 0)
sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' "); sql_query(" update {$g5['board_table']} set bo_count_write = bo_count_write - '$count_write', bo_count_comment = bo_count_comment - '$count_comment' where bo_table = '$bo_table' ");
// 4.11 // 4.11
@include_once($board_skin_path.'/delete_all.tail.skin.php'); @include_once($board_skin_path . '/delete_all.tail.skin.php');
delete_cache_latest($bo_table); delete_cache_latest($bo_table);
goto_url('./board.php?bo_table='.$bo_table.'&amp;page='.$page.$qstr); goto_url('./board.php?bo_table=' . $bo_table . '&amp;page=' . $page . $qstr);
?>

View file

@ -2,50 +2,51 @@
// 코멘트 삭제 // 코멘트 삭제
include_once('./_common.php'); include_once('./_common.php');
$delete_comment_token = get_session('ss_delete_comment_'.$comment_id.'_token'); $delete_comment_token = get_session('ss_delete_comment_' . $comment_id . '_token');
set_session('ss_delete_comment_'.$comment_id.'_token', ''); set_session('ss_delete_comment_' . $comment_id . '_token', '');
if (!($token && $delete_comment_token == $token)) if (!($token && $delete_comment_token == $token))
alert('토큰 에러로 삭제 불가합니다.'); alert('토큰 에러로 삭제 불가합니다.');
// 4.1 // 4.1
@include_once($board_skin_path.'/delete_comment.head.skin.php'); @include_once($board_skin_path . '/delete_comment.head.skin.php');
$write = sql_fetch(" select * from {$write_table} where wr_id = '{$comment_id}' "); $write = sql_fetch(" select * from {$write_table} where wr_id = '{$comment_id}' ");
if (!$write['wr_id'] || !$write['wr_is_comment']) if (!$write['wr_id'] || !$write['wr_is_comment'])
alert('등록된 코멘트가 없거나 코멘트 글이 아닙니다.'); alert('등록된 코멘트가 없거나 코멘트 글이 아닙니다.');
if ($is_admin == 'super') // 최고관리자 통과 if ($is_admin == 'super') // 최고관리자 통과
; ;
else if ($is_admin == 'group') { // 그룹관리자 else if ($is_admin == 'group') { // 그룹관리자
$mb = get_member($write['mb_id']); $mb = get_member($write['mb_id']);
if ($member['mb_id'] == $group['gr_admin']) { // 자신이 관리하는 그룹인가? if ($member['mb_id'] == $group['gr_admin']) { // 자신이 관리하는 그룹인가?
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과 if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
; ;
else else
alert('그룹관리자의 권한보다 높은 회원의 코멘트이므로 삭제할 수 없습니다.'); alert('그룹관리자의 권한보다 높은 회원의 코멘트이므로 삭제할 수 없습니다.');
} else } else
alert('자신이 관리하는 그룹의 게시판이 아니므로 코멘트를 삭제할 수 없습니다.'); alert('자신이 관리하는 그룹의 게시판이 아니므로 코멘트를 삭제할 수 없습니다.');
} else if ($is_admin == 'board') { // 게시판관리자이면 } else if ($is_admin == 'board') { // 게시판관리자이면
$mb = get_member($write['mb_id']); $mb = get_member($write['mb_id']);
if ($member['mb_id'] == $board['bo_admin']) { // 자신이 관리하는 게시판인가? if ($member['mb_id'] == $board['bo_admin']) { // 자신이 관리하는 게시판인가?
if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과 if ($member['mb_level'] >= $mb['mb_level']) // 자신의 레벨이 크거나 같다면 통과
; ;
else else
alert('게시판관리자의 권한보다 높은 회원의 코멘트이므로 삭제할 수 없습니다.'); alert('게시판관리자의 권한보다 높은 회원의 코멘트이므로 삭제할 수 없습니다.');
} else } else
alert('자신이 관리하는 게시판이 아니므로 코멘트를 삭제할 수 없습니다.'); alert('자신이 관리하는 게시판이 아니므로 코멘트를 삭제할 수 없습니다.');
} else if ($member['mb_id']) { } else if ($member['mb_id']) {
if ($member['mb_id'] != $write['mb_id']) if ($member['mb_id'] != $write['mb_id'])
alert('자신의 글이 아니므로 삭제할 수 없습니다.'); alert('자신의 글이 아니므로 삭제할 수 없습니다.');
} else { } else {
if (!check_password($wr_password, $write['wr_password'])) if (!check_password($wr_password, $write['wr_password']))
alert('비밀번호가 틀립니다.'); alert('비밀번호가 틀립니다.');
} }
$len = strlen($write['wr_comment_reply']); $len = strlen($write['wr_comment_reply']);
if ($len < 0) $len = 0; if ($len < 0)
$len = 0;
$comment_reply = substr($write['wr_comment_reply'], 0, $len); $comment_reply = substr($write['wr_comment_reply'], 0, $len);
$sql = " select count(*) as cnt from {$write_table} $sql = " select count(*) as cnt from {$write_table}
@ -56,11 +57,11 @@ $sql = " select count(*) as cnt from {$write_table}
and wr_is_comment = 1 "; and wr_is_comment = 1 ";
$row = sql_fetch($sql); $row = sql_fetch($sql);
if ($row['cnt'] && !$is_admin) if ($row['cnt'] && !$is_admin)
alert('이 코멘트와 관련된 답변코멘트가 존재하므로 삭제 할 수 없습니다.'); alert('이 코멘트와 관련된 답변코멘트가 존재하므로 삭제 할 수 없습니다.');
// 코멘트 포인트 삭제 // 코멘트 포인트 삭제
if (!delete_point($write['mb_id'], $bo_table, $comment_id, '댓글')) if (!delete_point($write['mb_id'], $bo_table, $comment_id, '댓글'))
insert_point($write['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_parent']}-{$comment_id} 댓글삭제"); insert_point($write['mb_id'], $board['bo_comment_point'] * (-1), "{$board['bo_subject']} {$write['wr_parent']}-{$comment_id} 댓글삭제");
// 코멘트 삭제 // 코멘트 삭제
sql_query(" delete from {$write_table} where wr_id = '{$comment_id}' "); sql_query(" delete from {$write_table} where wr_id = '{$comment_id}' ");
@ -79,10 +80,9 @@ sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment
sql_query(" delete from {$g5['board_new_table']} where bo_table = '{$bo_table}' and wr_id = '{$comment_id}' "); sql_query(" delete from {$g5['board_new_table']} where bo_table = '{$bo_table}' and wr_id = '{$comment_id}' ");
// 사용자 코드 실행 // 사용자 코드 실행
@include_once($board_skin_path.'/delete_comment.skin.php'); @include_once($board_skin_path . '/delete_comment.skin.php');
@include_once($board_skin_path.'/delete_comment.tail.skin.php'); @include_once($board_skin_path . '/delete_comment.tail.skin.php');
delete_cache_latest($bo_table); delete_cache_latest($bo_table);
goto_url('./board.php?bo_table='.$bo_table.'&amp;wr_id='.$write['wr_parent'].'&amp;page='.$page. $qstr); goto_url('./board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $write['wr_parent'] . '&amp;page=' . $page . $qstr);
?>

View file

@ -4,93 +4,92 @@ include_once('./_common.php');
// clean the output buffer // clean the output buffer
ob_end_clean(); ob_end_clean();
$no = (int)$no; $no = (int) $no;
@include_once($board_skin_path.'/download.head.skin.php'); @include_once($board_skin_path . '/download.head.skin.php');
// 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생 // 쿠키에 저장된 ID값과 넘어온 ID값을 비교하여 같지 않을 경우 오류 발생
// 다른곳에서 링크 거는것을 방지하기 위한 코드 // 다른곳에서 링크 거는것을 방지하기 위한 코드
if (!get_session('ss_view_'.$bo_table.'_'.$wr_id)) if (!get_session('ss_view_' . $bo_table . '_' . $wr_id))
alert('잘못된 접근입니다.'); alert('잘못된 접근입니다.');
// 다운로드 차감일 때 비회원은 다운로드 불가 // 다운로드 차감일 때 비회원은 다운로드 불가
if($board['bo_download_point'] < 0 && $is_guest) if ($board['bo_download_point'] < 0 && $is_guest)
alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&amp;'.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id)); alert('다운로드 권한이 없습니다.\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL . '/login.php?wr_id=' . $wr_id . '&amp;' . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id));
$sql = " select bf_source, bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' "; $sql = " select bf_source, bf_file from {$g5['board_file_table']} where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
$file = sql_fetch($sql); $file = sql_fetch($sql);
if (!$file['bf_file']) if (!$file['bf_file'])
alert_close('파일 정보가 존재하지 않습니다.'); alert_close('파일 정보가 존재하지 않습니다.');
// JavaScript 불가일 때 // JavaScript 불가일 때
if($js != 'on' && $board['bo_download_point'] < 0) { if ($js != 'on' && $board['bo_download_point'] < 0) {
$msg = $file['bf_source'].' 파일을 다운로드 하시면 포인트가 차감('.number_format($board['bo_download_point']).'점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?'; $msg = $file['bf_source'] . ' 파일을 다운로드 하시면 포인트가 차감(' . number_format($board['bo_download_point']) . '점)됩니다.\\n포인트는 게시물당 한번만 차감되며 다음에 다시 다운로드 하셔도 중복하여 차감하지 않습니다.\\n그래도 다운로드 하시겠습니까?';
$url1 = G5_BBS_URL.'/download.php?'.clean_query_string($_SERVER['QUERY_STRING']).'&amp;js=on'; $url1 = G5_BBS_URL . '/download.php?' . clean_query_string($_SERVER['QUERY_STRING']) . '&amp;js=on';
$url2 = clean_xss_tags($_SERVER['HTTP_REFERER']); $url2 = clean_xss_tags($_SERVER['HTTP_REFERER']);
//$url1 = 확인link, $url2=취소link //$url1 = 확인link, $url2=취소link
// 특정주소로 이동시키려면 $url3 이용 // 특정주소로 이동시키려면 $url3 이용
confirm($msg, $url1, $url2); confirm($msg, $url1, $url2);
} }
if ($member['mb_level'] < $board['bo_download_level']) { if ($member['mb_level'] < $board['bo_download_level']) {
$alert_msg = '다운로드 권한이 없습니다.'; $alert_msg = '다운로드 권한이 없습니다.';
if ($member['mb_id']) if ($member['mb_id'])
alert($alert_msg); alert($alert_msg);
else else
alert($alert_msg.'\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL.'/login.php?wr_id='.$wr_id.'&amp;'.$qstr.'&amp;url='.urlencode(G5_BBS_URL.'/board.php?bo_table='.$bo_table.'&amp;wr_id='.$wr_id)); alert($alert_msg . '\\n회원이시라면 로그인 후 이용해 보십시오.', G5_BBS_URL . '/login.php?wr_id=' . $wr_id . '&amp;' . $qstr . '&amp;url=' . urlencode(G5_BBS_URL . '/board.php?bo_table=' . $bo_table . '&amp;wr_id=' . $wr_id));
} }
$filepath = G5_DATA_PATH.'/file/'.$bo_table.'/'.$file['bf_file']; $filepath = G5_DATA_PATH . '/file/' . $bo_table . '/' . $file['bf_file'];
$filepath = addslashes($filepath); $filepath = addslashes($filepath);
if (!is_file($filepath) || !file_exists($filepath)) if (!is_file($filepath) || !file_exists($filepath))
alert('파일이 존재하지 않습니다.'); alert('파일이 존재하지 않습니다.');
// 사용자 코드 실행 // 사용자 코드 실행
@include_once($board_skin_path.'/download.skin.php'); @include_once($board_skin_path . '/download.skin.php');
// 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정 // 이미 다운로드 받은 파일인지를 검사한 후 게시물당 한번만 포인트를 차감하도록 수정
$ss_name = 'ss_down_'.$bo_table.'_'.$wr_id; $ss_name = 'ss_down_' . $bo_table . '_' . $wr_id;
if (!get_session($ss_name)) if (!get_session($ss_name)) {
{ // 자신의 글이라면 통과
// 자신의 글이라면 통과 // 관리자인 경우 통과
// 관리자인 경우 통과 if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin)
if (($write['mb_id'] && $write['mb_id'] == $member['mb_id']) || $is_admin) ;
; else if ($board['bo_download_level'] >= 1) // 회원이상 다운로드가 가능하다면
else if ($board['bo_download_level'] >= 1) // 회원이상 다운로드가 가능하다면 {
{ // 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면
// 다운로드 포인트가 음수이고 회원의 포인트가 0 이거나 작다면 if ($member['mb_point'] + $board['bo_download_point'] < 0)
if ($member['mb_point'] + $board['bo_download_point'] < 0) alert('보유하신 포인트(' . number_format($member['mb_point']) . ')가 없거나 모자라서 다운로드(' . number_format($board['bo_download_point']) . ')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.');
alert('보유하신 포인트('.number_format($member['mb_point']).')가 없거나 모자라서 다운로드('.number_format($board['bo_download_point']).')가 불가합니다.\\n\\n포인트를 적립하신 후 다시 다운로드 해 주십시오.');
// 게시물당 한번만 차감하도록 수정 // 게시물당 한번만 차감하도록 수정
insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드"); insert_point($member['mb_id'], $board['bo_download_point'], "{$board['bo_subject']} $wr_id 파일 다운로드", $bo_table, $wr_id, "다운로드");
} }
// 다운로드 카운트 증가 // 다운로드 카운트 증가
$sql = " update {$g5['board_file_table']} set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' "; $sql = " update {$g5['board_file_table']} set bf_download = bf_download + 1 where bo_table = '$bo_table' and wr_id = '$wr_id' and bf_no = '$no' ";
sql_query($sql); sql_query($sql);
set_session($ss_name, TRUE); set_session($ss_name, TRUE);
} }
$g5['title'] = '다운로드 &gt; '.conv_subject($write['wr_subject'], 255); $g5['title'] = '다운로드 &gt; ' . conv_subject($write['wr_subject'], 255);
//$original = urlencode($file['bf_source']); //$original = urlencode($file['bf_source']);
$original = iconv('utf-8', 'euc-kr', $file['bf_source']); // SIR 잉끼님 제안코드 $original = iconv('utf-8', 'euc-kr', $file['bf_source']); // SIR 잉끼님 제안코드
@include_once($board_skin_path.'/download.tail.skin.php'); @include_once($board_skin_path . '/download.tail.skin.php');
if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) { if (preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) {
header("content-type: doesn/matter"); header("content-type: doesn/matter");
header("content-length: ".filesize("$filepath")); header("content-length: " . filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\""); header("content-disposition: attachment; filename=\"$original\"");
header("content-transfer-encoding: binary"); header("content-transfer-encoding: binary");
} else { } else {
header("content-type: file/unknown"); header("content-type: file/unknown");
header("content-length: ".filesize("$filepath")); header("content-length: " . filesize("$filepath"));
header("content-disposition: attachment; filename=\"$original\""); header("content-disposition: attachment; filename=\"$original\"");
header("content-description: php generated data"); header("content-description: php generated data");
} }
header("pragma: no-cache"); header("pragma: no-cache");
header("expires: 0"); header("expires: 0");
@ -106,17 +105,16 @@ $fp = fopen($filepath, 'rb');
$download_rate = 10; $download_rate = 10;
while(!feof($fp)) { while (!feof($fp)) {
//echo fread($fp, 100*1024); //echo fread($fp, 100*1024);
/* /*
echo fread($fp, 100*1024); echo fread($fp, 100*1024);
flush(); flush();
*/ */
print fread($fp, round($download_rate * 1024)); print fread($fp, round($download_rate * 1024));
flush(); flush();
usleep(1000); usleep(1000);
} }
fclose ($fp); fclose($fp);
flush(); flush();
?>

Some files were not shown because too many files have changed in this diff Show more