From 9c418778ba20194adeefcf1fc489a40be452755a Mon Sep 17 00:00:00 2001 From: TATECK Date: Fri, 21 Jun 2024 03:16:11 +0900 Subject: [PATCH] =?UTF-8?q?=EA=B4=80=EB=A6=AC=EC=9E=90=20=ED=8E=98?= =?UTF-8?q?=EC=9D=B4=EC=A7=80=20=EB=94=94=EC=9E=90=EC=9D=B8=20=EA=B0=9C?= =?UTF-8?q?=EC=84=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 관리자 페이지 수정 및 일부 페이지 기능 개선 --- AvocadoEdition/adm/_common.php | 5 +- AvocadoEdition/adm/admin.head.php | 118 +- AvocadoEdition/adm/admin.js | 298 ++-- AvocadoEdition/adm/admin.lib.php | 618 ++++---- AvocadoEdition/adm/admin.menu100.php | 2 +- AvocadoEdition/adm/admin.menu200.php | 3 +- AvocadoEdition/adm/admin.tail.php | 32 +- AvocadoEdition/adm/community_form.php | 215 ++- AvocadoEdition/adm/community_form_update.php | 30 +- AvocadoEdition/adm/config_form.php | 1376 +++++++----------- AvocadoEdition/adm/config_form_prev.php | 199 +++ AvocadoEdition/adm/css/_admin.layout.css | 280 ++++ AvocadoEdition/adm/css/admin.css | 624 ++++---- AvocadoEdition/adm/css/admin.layout.css | 353 ++--- AvocadoEdition/adm/css/login.css | 62 + AvocadoEdition/adm/design_form.php | 1239 ++++++++-------- AvocadoEdition/adm/img/bak_simbol.png | Bin 0 -> 12904 bytes AvocadoEdition/adm/img/ico_id.png | Bin 0 -> 2296 bytes AvocadoEdition/adm/img/ico_id_on.png | Bin 0 -> 2288 bytes AvocadoEdition/adm/img/ico_pw.png | Bin 0 -> 2210 bytes AvocadoEdition/adm/img/ico_pw_on.png | Bin 0 -> 2214 bytes AvocadoEdition/adm/img/logo_avocado.png | Bin 0 -> 13087 bytes AvocadoEdition/adm/img/spr_checkbox.png | Bin 0 -> 1747 bytes AvocadoEdition/adm/img/spr_radio.png | Bin 0 -> 2165 bytes AvocadoEdition/adm/index.php | 232 +-- AvocadoEdition/adm/level_list.php | 10 +- AvocadoEdition/adm/login.php | 65 + AvocadoEdition/adm/login_check.php | 75 + AvocadoEdition/adm/recipi_list.php | 69 +- AvocadoEdition/adm/viewer_form.php | 14 +- 30 files changed, 2912 insertions(+), 3007 deletions(-) create mode 100644 AvocadoEdition/adm/config_form_prev.php create mode 100644 AvocadoEdition/adm/css/_admin.layout.css create mode 100644 AvocadoEdition/adm/css/login.css create mode 100644 AvocadoEdition/adm/img/bak_simbol.png create mode 100644 AvocadoEdition/adm/img/ico_id.png create mode 100644 AvocadoEdition/adm/img/ico_id_on.png create mode 100644 AvocadoEdition/adm/img/ico_pw.png create mode 100644 AvocadoEdition/adm/img/ico_pw_on.png create mode 100644 AvocadoEdition/adm/img/logo_avocado.png create mode 100644 AvocadoEdition/adm/img/spr_checkbox.png create mode 100644 AvocadoEdition/adm/img/spr_radio.png create mode 100644 AvocadoEdition/adm/login.php create mode 100644 AvocadoEdition/adm/login_check.php diff --git a/AvocadoEdition/adm/_common.php b/AvocadoEdition/adm/_common.php index cd443b1..0f37291 100644 --- a/AvocadoEdition/adm/_common.php +++ b/AvocadoEdition/adm/_common.php @@ -1,5 +1,8 @@ \ No newline at end of file diff --git a/AvocadoEdition/adm/admin.head.php b/AvocadoEdition/adm/admin.head.php index 44a4d20..1ed831f 100644 --- a/AvocadoEdition/adm/admin.head.php +++ b/AvocadoEdition/adm/admin.head.php @@ -3,86 +3,60 @@ if (!defined('_GNUBOARD_')) exit; $begin_time = get_microtime(); include_once(G5_PATH.'/head.sub.php'); -function print_menu1($key, $no) -{ - global $menu; - - $str = print_menu2($key, $no); - - return $str; +function print_menu1($key, $no){ + global $menu; + $str = print_menu2($key, $no); + return $str; } -function print_menu2($key, $no) -{ - global $menu, $auth_menu, $is_admin, $auth, $g5, $sub_menu; +function print_menu2($key, $no){ + global $menu, $auth_menu, $is_admin, $auth, $g5, $sub_menu; - $str .= ""; - return $str; + return $str; } ?> - - -
- - - - -
- -
+ +
+ +

- - - 커뮤니티 - - - 아보카도 솔루션 - - - -
+
+ +
diff --git a/AvocadoEdition/adm/admin.js b/AvocadoEdition/adm/admin.js index 4d971c3..a98cfdc 100644 --- a/AvocadoEdition/adm/admin.js +++ b/AvocadoEdition/adm/admin.js @@ -1,129 +1,249 @@ function check_all(f) { - var chk = document.getElementsByName("chk[]"); + var chk = document.getElementsByName("chk[]"); - for (i=0; i'); + if(typeof f.token === "undefined") + $f.prepend(''); + + $f.find("input[name=token]").val(token); + + return true; + }); + + if($('.anchor').length > 0) { + $('.anchor').hide(); + $('.anchor').addClass('auto-horiz'); + $('.anchor').eq(0).addClass('actived').show(); + $('.adminBody').addClass('has-amchor'); + + $(document).scroll(function() {set_achor();}); + set_achor(); + } +}); + +function set_achor() { + const $sections = $('section[id*="anc_"]'); + const $anchorList = $(".anchor"); + + let current="" + const scrollTop = $(window).scrollTop(); + const scrollLeft = $(window).scrollLeft(); + const w_height = $(window).height(); + + $sections.each(function(index, item) { + if($(item).is(':visible')) { + const sectionTop = $(item).offset().top; + const checkTop = sectionTop - (w_height / 3); + if(scrollTop >= checkTop) { + current = $(item).attr('id'); + } + } + + }); + + $anchorList.find('.on').removeClass('on'); + $anchorList.find('a[href="#'+current+'"]').addClass('on'); + + $(".auto-horiz").css("transform", "translateX(-"+scrollLeft+"px)"); + $(".auto-horiz").css("-webkit-transform", "translateX(-"+scrollLeft+"px)"); +} + +/*************************************** + Repeat Item +***************************************/ + +function fn_add_repeatFrom(id, max_count) { + const $repeat_pannel = $('#'+id); + const $original_item = $repeat_pannel.find('.repeat-original'); + const originam_tag = $original_item[0].tagName.toLowerCase(); + const now_count = $repeat_pannel.find(originam_tag).not('.repeat-original').length; + + if(typeof(max_count) != "undefined" && max_count != 0 && now_count + 1 > max_count) { + alert("최대 등록 가능한 갯수를 초과하였습니다."); + return false; + } + let $add_item = $original_item.clone(); + $add_item.removeClass('repeat-original'); + $repeat_pannel.append($add_item); +} +function fn_del_itemFrom(obj) { + const $repeat_pannel = $(obj).closest('.repeatFormArea'); + const $original_item = $repeat_pannel.find('.repeat-original'); + const originam_tag = $original_item[0].tagName.toLowerCase(); + + $(obj).closest(originam_tag).remove(); +} + + + +/*************************************** + Layout Setting +***************************************/ + +$(function() { + //$('.local_desc').prepend($('emergency')); + + $('input[type="checkbox"]').each(function() { + let $label = $(this).next('label'); + if($label.length > 0) { + $(this).addClass('hidden'); + } else { + $(this).addClass('show'); + } + }); + + $('.local_sch a').addClass('btn_link'); + + + $('.color-preview').each(function() { + let $input = $(this).prev('input[type="text"]'); + let $color = $(this); + let is_input = false; + + $color.on('change', function() { + if(!is_input) { + let _color = $(this).val(); + $input.val(_color); + } else { + is_input = false; + } + }); + + $input.on('change', function() { + is_input = true; + let _color = $(this).val(); + $color.val(_color); + }); + }); + + + if($('.btn_add').length > 0 && $('.btn_list').length) { + $('.btn_add').addClass('btn_list'); + } else if($('.btn_add').length > 0) { + $('.btn_add').addClass('btn_confirm'); + } + + if($('.btn_list').length > 0 && $('.btn_confirm').length > 0) { + $('.btn_confirm').closest('section').addClass('writeFromArea'); + $('.container').addClass('writeFromAreaContainer'); + } +}); - $f.find("input[name=token]").val(token); - return true; - }); -}); \ No newline at end of file diff --git a/AvocadoEdition/adm/admin.lib.php b/AvocadoEdition/adm/admin.lib.php index 1e2d210..e956c13 100644 --- a/AvocadoEdition/adm/admin.lib.php +++ b/AvocadoEdition/adm/admin.lib.php @@ -1,449 +1,420 @@ \n"; - for ($i=0; $i선택"; - if(preg_match('#^theme/(.+)$#', $skins[$i], $match)) - $text = '(테마) '.$match[1]; - else - $text = $skins[$i]; + $str = ""; - return $str; + $str .= option_selected($skins[$i], $selected, $text); + } + $str .= ""; + return $str; } // 모바일 스킨디렉토리를 SELECT 형식으로 얻음 -function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event='') -{ - global $config; +function get_mobile_skin_select($skin_gubun, $id, $name, $selected='', $event=''){ + global $config; - $skins = array(); + $skins = array(); - if(defined('G5_THEME_PATH') && $config['cf_theme']) { - $dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR); - if(!empty($dirs)) { - foreach($dirs as $dir) { - $skins[] = 'theme/'.$dir; - } - } - } + if(defined('G5_THEME_PATH') && $config['cf_theme']) { + $dirs = get_skin_dir($skin_gubun, G5_THEME_MOBILE_PATH.'/'.G5_SKIN_DIR); + if(!empty($dirs)) { + foreach($dirs as $dir) { + $skins[] = 'theme/'.$dir; + } + } + } - $skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)); + $skins = array_merge($skins, get_skin_dir($skin_gubun, G5_MOBILE_PATH.'/'.G5_SKIN_DIR)); - $str = "\n"; + for ($i=0; $i선택"; + if(preg_match('#^theme/(.+)$#', $skins[$i], $match)) + $text = '(테마) '.$match[1]; + else + $text = $skins[$i]; - $str .= option_selected($skins[$i], $selected, $text); - } - $str .= ""; - return $str; + $str .= option_selected($skins[$i], $selected, $text); + } + $str .= ""; + return $str; } // 스킨경로를 얻는다 -function get_skin_dir($skin, $skin_path=G5_SKIN_PATH) -{ - global $g5; +function get_skin_dir($skin, $skin_path=G5_SKIN_PATH){ + global $g5; - $result_array = array(); + $result_array = array(); - $dirname = $skin_path.'/'.$skin.'/'; - if(!is_dir($dirname)) - return; + $dirname = $skin_path.'/'.$skin.'/'; + if(!is_dir($dirname)) + return; - $handle = opendir($dirname); - while ($file = readdir($handle)) { - if($file == '.'||$file == '..') continue; + $handle = opendir($dirname); + while ($file = readdir($handle)) { + if($file == '.'||$file == '..') continue; - if (is_dir($dirname.$file)) $result_array[] = $file; - } - closedir($handle); - sort($result_array); + if (is_dir($dirname.$file)) $result_array[] = $file; + } + closedir($handle); + sort($result_array); - return $result_array; + return $result_array; } // 테마 -function get_theme_dir() -{ - $result_array = array(); +function get_theme_dir(){ + $result_array = array(); - $dirname = G5_PATH.'/'.G5_THEME_DIR.'/'; - $handle = opendir($dirname); - while ($file = readdir($handle)) { - if($file == '.'||$file == '..') continue; + $dirname = G5_PATH.'/'.G5_THEME_DIR.'/'; + $handle = opendir($dirname); + while ($file = readdir($handle)) { + if($file == '.'||$file == '..') continue; - if (is_dir($dirname.$file)) { - $theme_path = $dirname.$file; - if(is_file($theme_path.'/index.php') && is_file($theme_path.'/head.php') && is_file($theme_path.'/tail.php')) - $result_array[] = $file; - } - } - closedir($handle); - natsort($result_array); + if (is_dir($dirname.$file)) { + $theme_path = $dirname.$file; + if(is_file($theme_path.'/index.php') && is_file($theme_path.'/head.php') && is_file($theme_path.'/tail.php')) + $result_array[] = $file; + } + } + closedir($handle); + natsort($result_array); - return $result_array; + return $result_array; } // 테마디렉토리를 SELECT 형식으로 얻음 -function get_theme_select($id, $name, $selected='', $event='') -{ - global $config; +function get_theme_select($id, $name, $selected='', $event=''){ + global $config; - $theme = array(); - $theme = array_merge($theme, get_theme_dir()); + $theme = array(); + $theme = array_merge($theme, get_theme_dir()); - $str = "\n"; + for ($i=0; $i-"; + $text = $theme[$i]; - $str .= option_selected($theme[$i], $selected, $text); - } - $str .= ""; - return $str; + $str .= option_selected($theme[$i], $selected, $text); + } + $str .= ""; + return $str; } // 테마정보 -function get_theme_info($dir) -{ - $info = array(); - $path = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir; +function get_theme_info($dir){ + $info = array(); + $path = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir; - if(is_dir($path)) { - $screenshot = $path.'/screenshot.png'; - if(is_file($screenshot)) { - $size = @getimagesize($screenshot); + if(is_dir($path)) { + $screenshot = $path.'/screenshot.png'; + if(is_file($screenshot)) { + $size = @getimagesize($screenshot); - if($size[2] == 3) - $screenshot_url = str_replace(G5_PATH, G5_URL, $screenshot); - } + if($size[2] == 3) + $screenshot_url = str_replace(G5_PATH, G5_URL, $screenshot); + } - $info['screenshot'] = $screenshot_url; + $info['screenshot'] = $screenshot_url; - $text = $path.'/readme.txt'; - if(is_file($text)) { - $content = file($text, false); - $content = array_map('trim', $content); + $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); + 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]); - } + $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; - } + if(!$info['theme_name']) + $info['theme_name'] = $dir; + } - return $info; + return $info; } // 테마설정 정보 -function get_theme_config_value($dir, $key='*') -{ - $tconfig = array(); +function get_theme_config_value($dir, $key='*'){ + $tconfig = array(); - $theme_config_file = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir.'/theme.config.php'; - if(is_file($theme_config_file)) { - include($theme_config_file); + $theme_config_file = G5_PATH.'/'.G5_THEME_DIR.'/'.$dir.'/theme.config.php'; + if(is_file($theme_config_file)) { + include($theme_config_file); - if($key == '*') { - $tconfig = $theme_config; - } else { - $keys = array_map('trim', explode(',', $key)); - foreach($keys as $v) { - $tconfig[$v] = isset($theme_config[$v]) ? trim($theme_config[$v]) : ''; - } - } - } + if($key == '*') { + $tconfig = $theme_config; + } else { + $keys = array_map('trim', explode(',', $key)); + foreach($keys as $v) { + $tconfig[$v] = isset($theme_config[$v]) ? trim($theme_config[$v]) : ''; + } + } + } - return $tconfig; + return $tconfig; } // 회원권한을 SELECT 형식으로 얻음 -function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event="") -{ - global $g5; +function get_member_level_select($name, $start_id=0, $end_id=10, $selected="", $event=""){ + global $g5; $level_name[1] = "방문자"; $level_name[2] = "일반멤버"; $level_name[10] = "운영자"; - $str = "\n'; - return $str; + $sql = " select mb_id from {$g5['member_table']} where mb_level >= '{$level}' "; + $result = sql_query($sql); + $str = ''; + return $str; } // 권한 검사 -function auth_check($auth, $attr, $return=false) -{ - global $is_admin; +function auth_check($auth, $attr, $return=false){ + global $is_admin; - if ($is_admin == 'super') return; + if ($is_admin == 'super') return; - if (!trim($auth)) { - $msg = '이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.'; - if($return) - return $msg; - else - alert($msg); - } + if (!trim($auth)) { + $msg = '이 메뉴에는 접근 권한이 없습니다.\\n\\n접근 권한은 최고관리자만 부여할 수 있습니다.'; + if($return) + return $msg; + else + alert($msg); + } - $attr = strtolower($attr); + $attr = strtolower($attr); - if (!strstr($auth, $attr)) { - if ($attr == 'r') { - $msg = '읽을 권한이 없습니다.'; - if($return) - return $msg; - else - alert($msg); - } else if ($attr == 'w') { - $msg = '입력, 추가, 생성, 수정 권한이 없습니다.'; - if($return) - return $msg; - else - alert($msg); - } else if ($attr == 'd') { - $msg = '삭제 권한이 없습니다.'; - if($return) - return $msg; - else - alert($msg); - } else { - $msg = '속성이 잘못 되었습니다.'; - if($return) - return $msg; - else - alert($msg); - } - } + if (!strstr($auth, $attr)) { + if ($attr == 'r') { + $msg = '읽을 권한이 없습니다.'; + if($return) + return $msg; + else + alert($msg); + } else if ($attr == 'w') { + $msg = '입력, 추가, 생성, 수정 권한이 없습니다.'; + if($return) + return $msg; + else + alert($msg); + } else if ($attr == 'd') { + $msg = '삭제 권한이 없습니다.'; + if($return) + return $msg; + else + alert($msg); + } else { + $msg = '속성이 잘못 되었습니다.'; + if($return) + return $msg; + else + alert($msg); + } + } } // 작업아이콘 출력 -function icon($act, $link='', $target='_parent') -{ - global $g5; +function icon($act, $link='', $target='_parent'){ + global $g5; - $img = array('입력'=>'insert', '추가'=>'insert', '생성'=>'insert', '수정'=>'modify', '삭제'=>'delete', '이동'=>'move', '그룹'=>'move', '보기'=>'view', '미리보기'=>'view', '복사'=>'copy'); - $icon = ''; - if ($link) - $s = ''.$icon.''; - else - $s = $icon; - return $s; + $img = array('입력'=>'insert', '추가'=>'insert', '생성'=>'insert', '수정'=>'modify', '삭제'=>'delete', '이동'=>'move', '그룹'=>'move', '보기'=>'view', '미리보기'=>'view', '복사'=>'copy'); + $icon = ''; + if ($link) + $s = ''.$icon.''; + else + $s = $icon; + return $s; } // rm -rf 옵션 : exec(), system() 함수를 사용할 수 없는 서버 또는 win32용 대체 // www.php.net 참고 : pal at degerstrom dot com -function rm_rf($file) -{ - if (file_exists($file)) { - if (is_dir($file)) { - $handle = opendir($file); - while($filename = readdir($handle)) { - if ($filename != '.' && $filename != '..') - rm_rf($file.'/'.$filename); - } - closedir($handle); +function rm_rf($file){ + if (file_exists($file)) { + if (is_dir($file)) { + $handle = opendir($file); + while($filename = readdir($handle)) { + if ($filename != '.' && $filename != '..') + rm_rf($file.'/'.$filename); + } + closedir($handle); - @chmod($file, G5_DIR_PERMISSION); - @rmdir($file); - } else { - @chmod($file, G5_FILE_PERMISSION); - @unlink($file); - } - } + @chmod($file, G5_DIR_PERMISSION); + @rmdir($file); + } else { + @chmod($file, G5_FILE_PERMISSION); + @unlink($file); + } + } } // 출력순서 -function order_select($fld, $sel='') -{ - $s = ''; +function order_select($fld, $sel=''){ + $s = ''; - return $s; + return $s; } // 불법접근을 막도록 토큰을 생성하면서 토큰값을 리턴 -function get_admin_token() -{ - $token = md5(uniqid(rand(), true)); - set_session('ss_admin_token', $token); +function get_admin_token(){ + $token = md5(uniqid(rand(), true)); + set_session('ss_admin_token', $token); - return $token; + return $token; } // POST로 넘어온 토큰과 세션에 저장된 토큰 비교 -function check_admin_token() -{ - $token = get_session('ss_admin_token'); - set_session('ss_admin_token', ''); +function check_admin_token(){ + $token = get_session('ss_admin_token'); + set_session('ss_admin_token', ''); - if(!$token || !$_REQUEST['token'] || $token != $_REQUEST['token']) - alert('올바른 방법으로 이용해 주십시오.', G5_URL); + if(!$token || !$_REQUEST['token'] || $token != $_REQUEST['token']) + alert('올바른 방법으로 이용해 주십시오.', G5_URL); - return true; + return true; } // 관리자 페이지 referer 체크 -function admin_referer_check($return=false) -{ - $referer = trim($_SERVER['HTTP_REFERER']); - if(!$referer) { - $msg = '정보가 올바르지 않습니다.'; +function admin_referer_check($return=false){ + $referer = trim($_SERVER['HTTP_REFERER']); + if(!$referer) { + $msg = '정보가 올바르지 않습니다.'; - if($return) - return $msg; - else - alert($msg, G5_URL); - } + if($return) + return $msg; + else + alert($msg, G5_URL); + } - $p = @parse_url($referer); - $host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']); + $p = @parse_url($referer); + $host = preg_replace('/:[0-9]+$/', '', $_SERVER['HTTP_HOST']); - if($host != $p['host']) { - $msg = '올바른 방법으로 이용해 주십시오.'; + if($host != $p['host']) { + $msg = '올바른 방법으로 이용해 주십시오.'; - if($return) - return $msg; - else - alert($msg, G5_URL); - } + if($return) + return $msg; + else + alert($msg, G5_URL); + } } // 접근 권한 검사 -if (!$member['mb_id']) -{ - goto_url(G5_BBS_URL.'/login.php?url=' . urlencode(G5_ADMIN_URL)); -} -else if ($is_admin != 'super') -{ - $auth = array(); - $sql = " select au_menu, au_auth from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' "; - $result = sql_query($sql); - for($i=0; $row=sql_fetch_array($result); $i++) - { - $auth[$row['au_menu']] = $row['au_auth']; - } +if (!$member['mb_id']) { + goto_url(G5_ADMIN_URL.'/login.php'); +} else if ($is_admin != 'super'){ + $auth = array(); + $sql = " select au_menu, au_auth from {$g5['auth_table']} where mb_id = '{$member['mb_id']}' "; + $result = sql_query($sql); - if (!$i) - { - goto_url(G5_URL); - } + for($i=0; $row=sql_fetch_array($result); $i++) { + $auth[$row['au_menu']] = $row['au_auth']; + } + if (!$i) { + //goto_url(G5_URL); + } } // 관리자의 아이피, 브라우저와 다르다면 세션을 끊고 관리자에게 메일을 보낸다. $admin_key = md5($member['mb_datetime'] . $_SERVER['REMOTE_ADDR'] . $_SERVER['HTTP_USER_AGENT']); if (get_session('ss_mb_key') !== $admin_key) { - session_destroy(); + session_destroy(); - 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); + //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); - alert_close('정상적으로 로그인하여 접근하시기 바랍니다.'); + //alert_close('정상적으로 로그인하여 접근하시기 바랍니다.'); } @ksort($auth); @@ -454,11 +425,10 @@ unset($menu); unset($amenu); $tmp = dir(G5_ADMIN_PATH); while ($entry = $tmp->read()) { - if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m)) - continue; // 파일명이 menu 으로 시작하지 않으면 무시한다. - - $amenu[$m[1]] = $entry; - include_once(G5_ADMIN_PATH.'/'.$entry); + if (!preg_match('/^admin.menu([0-9]{3}).*\.php$/', $entry, $m)) + continue; // 파일명이 menu 으로 시작하지 않으면 무시한다. + $amenu[$m[1]] = $entry; + include_once(G5_ADMIN_PATH.'/'.$entry); } @ksort($amenu); @@ -470,6 +440,4 @@ if (isset($stx)) $arr_query[] = 'stx='.$stx; if (isset($page)) $arr_query[] = 'page='.$page; $qstr = implode("&", $arr_query); -// 관리자에서는 추가 스크립트는 사용하지 않는다. -//$config['cf_add_script'] = ''; ?> \ No newline at end of file diff --git a/AvocadoEdition/adm/admin.menu100.php b/AvocadoEdition/adm/admin.menu100.php index d9098f4..135bdd2 100644 --- a/AvocadoEdition/adm/admin.menu100.php +++ b/AvocadoEdition/adm/admin.menu100.php @@ -6,7 +6,7 @@ $menu['menu100'] = array ( array('100250', '화면 설정', G5_ADMIN_URL.'/viewer_form.php', 'cf_view_basic'), array('100280', '테마설정', G5_ADMIN_URL.'/theme.php', 'cf_theme', 1), array('100300', '디자인 설정', G5_ADMIN_URL.'/design_form.php', 'cf_design_basic'), - array('100310', '팝업레이어관리', G5_ADMIN_URL.'/newwinlist.php', 'scf_poplayer'), + /*array('100310', '팝업레이어관리', G5_ADMIN_URL.'/newwinlist.php', 'scf_poplayer'),*/ array('100320', '메인슬라이드 관리', G5_ADMIN_URL.'/banner_list.php', 'cf_banner'), array('100330', '인트로 관리', G5_ADMIN_URL.'/intro_list.php', 'cf_banner'), array('100990', 'DB관리', G5_DB_URL, '') diff --git a/AvocadoEdition/adm/admin.menu200.php b/AvocadoEdition/adm/admin.menu200.php index 9c36942..0d5fccf 100644 --- a/AvocadoEdition/adm/admin.menu200.php +++ b/AvocadoEdition/adm/admin.menu200.php @@ -6,7 +6,6 @@ $menu['menu200'] = array ( array('200800', '접속자집계', G5_ADMIN_URL.'/visit_list.php', ''), array('200810', '접속자검색', G5_ADMIN_URL.'/visit_search.php', ''), - array('200820', '접속자로그삭제', G5_ADMIN_URL.'/visit_delete.php', ''), - array('200900', '투표관리', G5_ADMIN_URL.'/poll_list.php', '') + array('200820', '접속자로그삭제', G5_ADMIN_URL.'/visit_delete.php', '') ); ?> \ No newline at end of file diff --git a/AvocadoEdition/adm/admin.tail.php b/AvocadoEdition/adm/admin.tail.php index bd1b624..bacbc0a 100644 --- a/AvocadoEdition/adm/admin.tail.php +++ b/AvocadoEdition/adm/admin.tail.php @@ -1,7 +1,7 @@ - +
@@ -14,26 +14,20 @@ if (!defined('_GNUBOARD_')) exit; + + diff --git a/AvocadoEdition/adm/login_check.php b/AvocadoEdition/adm/login_check.php new file mode 100644 index 0000000..8e41f77 --- /dev/null +++ b/AvocadoEdition/adm/login_check.php @@ -0,0 +1,75 @@ + diff --git a/AvocadoEdition/adm/recipi_list.php b/AvocadoEdition/adm/recipi_list.php index 1f5ddf7..e3b397e 100644 --- a/AvocadoEdition/adm/recipi_list.php +++ b/AvocadoEdition/adm/recipi_list.php @@ -219,46 +219,41 @@ $frm_submit = '
- + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
재료 01 - - -
-
재료 02 - - -
-
재료 03 - - -
-
결과 - - -
-
사용재료 01재료 02재료 03결과
+ + +
+
+ + +
+
+ + +
+
+ + +
+
diff --git a/AvocadoEdition/adm/viewer_form.php b/AvocadoEdition/adm/viewer_form.php index 98ea02f..6521ea8 100644 --- a/AvocadoEdition/adm/viewer_form.php +++ b/AvocadoEdition/adm/viewer_form.php @@ -50,14 +50,14 @@ $frm_submit = '
- 메뉴영역 태그 + 메뉴영역 - 모바일 메뉴영역 태그 + 모바일 메뉴영역 @@ -83,14 +83,14 @@ $frm_submit = '
- 메인화면 태그 + 메인화면 - 모바일 메인화면 태그 + 모바일 메인화면 @@ -113,8 +113,10 @@ $frm_submit = '
-

※ 특수 기능 삽입 코드 : 내용 작성 시, 아래의 글자를 입력하면 화면에 해당 기능을 가진 폼이 출력됩니다.

-

※ 출력폼 수정을 원할 시, 파일 위치로 가셔서 해당 파일에 작성되어 있는 텍스트 혹은 기능을 수정하셔야 합니다.

+

특수 기능 삽입 코드 : 내용 작성 시, 아래의 글자를 입력하면 화면에 해당 기능을 가진 폼이 출력됩니다.

+
+
+

출력폼 수정을 원할 시, 파일 위치로 가셔서 해당 파일에 작성되어 있는 텍스트 혹은 기능을 수정하셔야 합니다.