diff --git a/adm/contentformupdate.php b/adm/contentformupdate.php index ac1be285d..0c7f75e57 100644 --- a/adm/contentformupdate.php +++ b/adm/contentformupdate.php @@ -12,24 +12,31 @@ else check_admin_token(); +$co_row = array('co_id'=>'', 'co_include_head'=>'', 'co_include_tail'=>''); + if ($w == "" || $w == "u") { - if(isset($_POST['co_id']) && preg_match("/[^a-z0-9_]/i", $_POST['co_id'])) alert("ID 는 영문자, 숫자, _ 만 가능합니다."); + if(isset($_REQUEST['co_id']) && preg_match("/[^a-z0-9_]/i", $_REQUEST['co_id'])) alert("ID 는 영문자, 숫자, _ 만 가능합니다."); $sql = " select * from {$g5['content_table']} where co_id = '$co_id' "; $co_row = sql_fetch($sql); } -$co_id = isset($_POST['co_id']) ? preg_replace('/[^a-z0-9_]/i', '', $_POST['co_id']) : ''; -$co_subject = strip_tags(clean_xss_attributes($co_subject)); -$co_include_head = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_head, 0, 255)); -$co_include_tail = preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($co_include_tail, 0, 255)); +$co_id = isset($_REQUEST['co_id']) ? preg_replace('/[^a-z0-9_]/i', '', $_REQUEST['co_id']) : ''; +$co_subject = isset($_POST['co_subject']) ? strip_tags(clean_xss_attributes($_POST['co_subject'])) : ''; +$co_include_head = isset($_POST['co_include_head']) ? preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($_POST['co_include_head'], 0, 255)) : ''; +$co_include_tail = isset($_POST['co_include_tail']) ? preg_replace(array("#[\\\]+$#", "#(<\?php|<\?)#i"), "", substr($_POST['co_include_tail'], 0, 255)) : ''; $co_tag_filter_use = isset($_POST['co_tag_filter_use']) ? (int) $_POST['co_tag_filter_use'] : 1; $co_himg_del = (isset($_POST['co_himg_del']) && $_POST['co_himg_del']) ? 1 : 0; $co_timg_del = (isset($_POST['co_timg_del']) && $_POST['co_timg_del']) ? 1 : 0; +$co_html = isset($_POST['co_html']) ? (int) $_POST['co_html'] : 0; +$co_content = isset($_POST['co_content']) ? $_POST['co_content'] : ''; +$co_mobile_content = isset($_POST['co_mobile_content']) ? $_POST['co_mobile_content'] : ''; +$co_skin = isset($_POST['co_skin']) ? clean_xss_tags($_POST['co_skin'], 1, 1) : ''; +$co_mobile_skin = isset($_POST['co_mobile_skin']) ? clean_xss_tags($_POST['co_mobile_skin'], 1, 1) : ''; // 관리자가 자동등록방지를 사용해야 할 경우 -if (($co_row['co_include_head'] !== $co_include_head || $co_row['co_include_tail'] !== $co_include_tail) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){ +if ((( isset($co_row['co_include_head']) && $co_row['co_include_head'] !== $co_include_head ) || ( isset($co_row['co_include_tail']) && $co_row['co_include_tail'] !== $co_include_tail )) && function_exists('get_admin_captcha_by') && get_admin_captcha_by()){ include_once(G5_CAPTCHA_PATH.'/captcha.lib.php'); if (!chk_captcha()) { @@ -94,7 +101,7 @@ $sql_common = " co_include_head = '$co_include_head', if ($w == "") { $row = $co_row; - if ($row['co_id']) + if (isset($row['co_id']) && $row['co_id']) alert("이미 같은 ID로 등록된 내용이 있습니다."); $sql = " insert {$g5['content_table']} diff --git a/bbs/content.php b/bbs/content.php index 40ab666d6..2b53a3b85 100644 --- a/bbs/content.php +++ b/bbs/content.php @@ -2,6 +2,7 @@ include_once('./_common.php'); $co_id = isset($_GET['co_id']) ? preg_replace('/[^a-z0-9_]/i', '', $_GET['co_id']) : 0; +$co_seo_title = isset($_GET['co_seo_title']) ? clean_xss_tags($_GET['co_seo_title'], 1, 1) : ''; //dbconfig파일에 $g5['content_table'] 배열변수가 있는지 체크 if( !isset($g5['content_table']) ){ @@ -25,7 +26,7 @@ if (G5_IS_MOBILE) { return; } -if (!$co['co_id']) +if (! (isset($co['co_id']) && $co['co_id'])) alert('등록된 내용이 없습니다.'); $g5['title'] = $co['co_subject']; @@ -45,29 +46,29 @@ $src[] = "/{{쇼핑몰명}}|{{홈페이지제목}}/"; $dst[] = $config['cf_title']; if(isset($default) && isset($default['de_admin_company_name'])){ $src[] = "/{{회사명}}|{{상호}}/"; - $dst[] = $default['de_admin_company_name']; + $dst[] = isset($default['de_admin_company_name']) ? $default['de_admin_company_name'] : ''; $src[] = "/{{대표자명}}/"; - $dst[] = $default['de_admin_company_owner']; + $dst[] = isset($default['de_admin_company_owner']) ? $default['de_admin_company_owner'] : ''; $src[] = "/{{사업자등록번호}}/"; - $dst[] = $default['de_admin_company_saupja_no']; + $dst[] = isset($default['de_admin_company_saupja_no']) ? $default['de_admin_company_saupja_no'] : ''; $src[] = "/{{대표전화번호}}/"; - $dst[] = $default['de_admin_company_tel']; + $dst[] = isset($default['de_admin_company_tel']) ? $default['de_admin_company_tel'] : ''; $src[] = "/{{팩스번호}}/"; - $dst[] = $default['de_admin_company_fax']; + $dst[] = isset($default['de_admin_company_fax']) ? $default['de_admin_company_fax'] : ''; $src[] = "/{{통신판매업신고번호}}/"; - $dst[] = $default['de_admin_company_tongsin_no']; + $dst[] = isset($default['de_admin_company_tongsin_no']) ? $default['de_admin_company_tongsin_no'] : ''; $src[] = "/{{사업장우편번호}}/"; - $dst[] = $default['de_admin_company_zip']; + $dst[] = isset($default['de_admin_company_zip']) ? $default['de_admin_company_zip'] : ''; $src[] = "/{{사업장주소}}/"; - $dst[] = $default['de_admin_company_addr']; + $dst[] = isset($default['de_admin_company_addr']) ? $default['de_admin_company_addr'] : ''; $src[] = "/{{운영자명}}|{{관리자명}}/"; - $dst[] = $default['de_admin_name']; + $dst[] = isset($default['de_admin_name']) ? $default['de_admin_name'] : ''; $src[] = "/{{운영자e-mail}}|{{관리자e-mail}}/i"; - $dst[] = $default['de_admin_email']; + $dst[] = isset($default['de_admin_email']) ? $default['de_admin_email'] : ''; $src[] = "/{{정보관리책임자명}}/"; - $dst[] = $default['de_admin_info_name']; + $dst[] = isset($default['de_admin_info_name']) ? $default['de_admin_info_name'] : ''; $src[] = "/{{정보관리책임자e-mail}}|{{정보책임자e-mail}}/i"; - $dst[] = $default['de_admin_info_email']; + $dst[] = isset($default['de_admin_info_email']) ? $default['de_admin_info_email'] : ''; } $str = preg_replace($src, $dst, $str); diff --git a/config.php b/config.php index cff134502..24025943a 100644 --- a/config.php +++ b/config.php @@ -5,8 +5,8 @@ ********************/ define('G5_VERSION', '그누보드5'); -define('G5_GNUBOARD_VER', '5.4.4'); -define('G5_YOUNGCART_VER', '5.4.4'); +define('G5_GNUBOARD_VER', '5.4.4.1'); +define('G5_YOUNGCART_VER', '5.4.4.1'); // 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 define('_GNUBOARD_', true); diff --git a/extend/debugbar.extend.php b/extend/debugbar.extend.php index 2d49596ed..e1a51637a 100644 --- a/extend/debugbar.extend.php +++ b/extend/debugbar.extend.php @@ -14,7 +14,7 @@ function show_debug_bar() { } $memory_usage = function_exists( 'memory_get_peak_usage' ) ? memory_get_peak_usage() : memory_get_usage(); - $php_run_time = get_microtime()-$g5_debug['php']['begin_time']; + $php_run_time = (isset($g5_debug['php']) && isset($g5_debug['php']['begin_time'])) ? ( get_microtime() - $g5_debug['php']['begin_time'] ) : 0; include_once( G5_PLUGIN_PATH.'/debugbar/debugbar.php' ); } \ No newline at end of file diff --git a/head.sub.php b/head.sub.php index fecc36c04..d6ac73d74 100644 --- a/head.sub.php +++ b/head.sub.php @@ -15,8 +15,8 @@ if (!isset($g5['title'])) { $g5_head_title = $g5['title']; } else { - $g5_head_title = $g5['title']; // 상태바에 표시될 제목 - $g5_head_title .= " | ".$config['cf_title']; + // 상태바에 표시될 제목 + $g5_head_title = implode(' | ', array_filter(array('', $config['cf_title']))); } $g5['title'] = strip_tags($g5['title']); diff --git a/lib/common.lib.php b/lib/common.lib.php index 19e71a8c3..b8e328045 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -1644,6 +1644,8 @@ function sql_fetch($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null) // 결과값에서 한행 연관배열(이름으로)로 얻는다. function sql_fetch_array($result) { + if( ! $result) return array(); + if(function_exists('mysqli_fetch_assoc') && G5_MYSQLI_USE) $row = @mysqli_fetch_assoc($result); else diff --git a/mobile/content.php b/mobile/content.php index 701ca3e60..21f7f0132 100644 --- a/mobile/content.php +++ b/mobile/content.php @@ -16,29 +16,29 @@ $src[] = "/{{쇼핑몰명}}|{{홈페이지제목}}/"; $dst[] = $config['cf_title']; if(isset($default) && isset($default['de_admin_company_name'])){ $src[] = "/{{회사명}}|{{상호}}/"; - $dst[] = $default['de_admin_company_name']; + $dst[] = isset($default['de_admin_company_name']) ? $default['de_admin_company_name'] : ''; $src[] = "/{{대표자명}}/"; - $dst[] = $default['de_admin_company_owner']; + $dst[] = isset($default['de_admin_company_owner']) ? $default['de_admin_company_owner'] : ''; $src[] = "/{{사업자등록번호}}/"; - $dst[] = $default['de_admin_company_saupja_no']; + $dst[] = isset($default['de_admin_company_saupja_no']) ? $default['de_admin_company_saupja_no'] : ''; $src[] = "/{{대표전화번호}}/"; - $dst[] = $default['de_admin_company_tel']; + $dst[] = isset($default['de_admin_company_tel']) ? $default['de_admin_company_tel'] : ''; $src[] = "/{{팩스번호}}/"; - $dst[] = $default['de_admin_company_fax']; + $dst[] = isset($default['de_admin_company_fax']) ? $default['de_admin_company_fax'] : ''; $src[] = "/{{통신판매업신고번호}}/"; - $dst[] = $default['de_admin_company_tongsin_no']; + $dst[] = isset($default['de_admin_company_tongsin_no']) ? $default['de_admin_company_tongsin_no'] : ''; $src[] = "/{{사업장우편번호}}/"; - $dst[] = $default['de_admin_company_zip']; + $dst[] = isset($default['de_admin_company_zip']) ? $default['de_admin_company_zip'] : ''; $src[] = "/{{사업장주소}}/"; - $dst[] = $default['de_admin_company_addr']; + $dst[] = isset($default['de_admin_company_addr']) ? $default['de_admin_company_addr'] : ''; $src[] = "/{{운영자명}}|{{관리자명}}/"; - $dst[] = $default['de_admin_name']; + $dst[] = isset($default['de_admin_name']) ? $default['de_admin_name'] : ''; $src[] = "/{{운영자e-mail}}|{{관리자e-mail}}/i"; - $dst[] = $default['de_admin_email']; + $dst[] = isset($default['de_admin_email']) ? $default['de_admin_email'] : ''; $src[] = "/{{정보관리책임자명}}/"; - $dst[] = $default['de_admin_info_name']; + $dst[] = isset($default['de_admin_info_name']) ? $default['de_admin_info_name'] : ''; $src[] = "/{{정보관리책임자e-mail}}|{{정보책임자e-mail}}/i"; - $dst[] = $default['de_admin_info_email']; + $dst[] = isset($default['de_admin_info_email']) ? $default['de_admin_info_email'] : ''; } $str = preg_replace($src, $dst, $str); diff --git a/theme/basic/head.sub.php b/theme/basic/head.sub.php index 776b9d252..ea04734c8 100644 --- a/theme/basic/head.sub.php +++ b/theme/basic/head.sub.php @@ -9,8 +9,8 @@ if (!isset($g5['title'])) { $g5_head_title = $g5['title']; } else { - $g5_head_title = $g5['title']; // 상태바에 표시될 제목 - $g5_head_title .= " | ".$config['cf_title']; + // 상태바에 표시될 제목 + $g5_head_title = implode(' | ', array_filter(array($g5['title'], $config['cf_title']))); } $g5['title'] = strip_tags($g5['title']);