diff --git a/adm/mail_delete.php b/adm/mail_delete.php index a351bd879..7d2999cfa 100644 --- a/adm/mail_delete.php +++ b/adm/mail_delete.php @@ -10,10 +10,10 @@ check_admin_token(); $post_count_chk = (isset($_POST['chk']) && is_array($_POST['chk'])) ? count($_POST['chk']) : 0; -if(!$count) +if(! $post_count_chk) alert('삭제할 메일목록을 1개이상 선택해 주세요.'); -for($i=0; $i<$count; $i++) { +for($i=0; $i<$post_count_chk; $i++) { $ma_id = isset($_POST['chk'][$i]) ? (int) $_POST['chk'][$i] : 0; $sql = " delete from {$g5['mail_table']} where ma_id = '$ma_id' "; diff --git a/config.php b/config.php index f8fcb5f4b..181913d7e 100644 --- a/config.php +++ b/config.php @@ -5,8 +5,8 @@ ********************/ define('G5_VERSION', '그누보드5'); -define('G5_GNUBOARD_VER', '5.4.4.9'); -define('G5_YOUNGCART_VER', '5.4.4.9.1'); +define('G5_GNUBOARD_VER', '5.4.5'); +define('G5_YOUNGCART_VER', '5.4.5'); // 이 상수가 정의되지 않으면 각각의 개별 페이지는 별도로 실행될 수 없음 define('_GNUBOARD_', true); diff --git a/install/install_db.php b/install/install_db.php index 757e38040..969703d70 100644 --- a/install/install_db.php +++ b/install/install_db.php @@ -59,6 +59,7 @@ if (!$dblink) { exit; } +$g5['connect_db'] = $dblink; $select_db = sql_select_db($mysql_db, $dblink); if (!$select_db) { ?> @@ -225,6 +226,7 @@ if($g5_install || !$result) { mb_level = '10', mb_mailling = '1', mb_open = '1', + mb_nick_date = '".G5_TIME_YMDHIS."', mb_email_certify = '".G5_TIME_YMDHIS."', mb_datetime = '".G5_TIME_YMDHIS."', mb_ip = '{$_SERVER['REMOTE_ADDR']}' diff --git a/lib/Hook/hook.extends.class.php b/lib/Hook/hook.extends.class.php index 4ebdb4a89..bf5bc03e2 100644 --- a/lib/Hook/hook.extends.class.php +++ b/lib/Hook/hook.extends.class.php @@ -130,10 +130,11 @@ Class GML_Hook extends Hook { if (isset($that->callback_filters[$tag]) && isset($that->callback_filters[$tag][$priority]) ) { - $found_key = array_search($func, array_column($that->callback_filters[$tag][$priority], 'function')); - - if( $found_key !== false ){ - unset($that->callback_filters[$tag][$priority][$found_key]); + foreach((array) $that->callback_filters[$tag][$priority] as $key=>$value){ + if(isset($value['function']) && $value['function'] === $func) { + unset($that->callback_filters[$tag][$priority][$key]); + $is_remove = true; + } } } @@ -148,10 +149,11 @@ Class GML_Hook extends Hook { if (isset($that->callbacks[$tag]) && isset($that->callbacks[$tag][$priority]) ) { - $found_key = array_search($func, array_column($that->callbacks[$tag][$priority], 'function')); - - if( $found_key !== false ){ - unset($that->callbacks[$tag][$priority][$found_key]); + foreach((array) $that->callbacks[$tag][$priority] as $key=>$value){ + if(isset($value['function']) && $value['function'] === $func) { + unset($that->callbacks[$tag][$priority][$key]); + $is_remove = true; + } } } diff --git a/lib/cache.lib.php b/lib/cache.lib.php index 5e6c7c6c7..25790dd92 100644 --- a/lib/cache.lib.php +++ b/lib/cache.lib.php @@ -8,6 +8,8 @@ function get_cachemanage_instance(){ static $instance = null; if( ! (defined('G5_USE_CACHE') && G5_USE_CACHE) ) return $instance; + + $instance = run_replace('get_cachemanage_instance', $instance); if( $instance === null ){ $options = array( @@ -48,14 +50,22 @@ function g5_latest_cache_data($bo_table, $cache_list=array(), $find_wr_id=0){ function g5_set_cache($key, $save_data, $ttl = null){ if( $cache = get_cachemanage_instance() ){ - $cache->save($key, $save_data, $ttl); + run_event('g5_set_cache_event', $cache, $key, $save_data, $ttl); + + if( (is_object($cache) && get_class($cache) === 'FileCache') ){ + $cache->save($key, $save_data, $ttl); + } } } function g5_get_cache($key, $expired_time=0){ if( $cache = get_cachemanage_instance() ){ - return $cache->get($key, $expired_time); + if( (is_object($cache) && get_class($cache) === 'FileCache') ){ + return $cache->get($key, $expired_time); + } + + return run_replace('g5_get_cache_replace', false, $cache, $key, $expired_time); } return false; @@ -82,13 +92,21 @@ function g5_delete_all_cache(){ } function g5_delete_cache_by_prefix($key){ - $files = glob(G5_DATA_PATH.'/cache/'.$key.'*'); - foreach( (array) $files as $filename){ - if(empty($filename)) continue; + $cache = get_cachemanage_instance(); + $files = null; - unlink($filename); + if( (is_object($instance) && get_class($instance) === 'FileCache') ) { + $files = glob(G5_DATA_PATH.'/cache/'.$key.'*'); + + foreach( (array) $files as $filename){ + if(empty($filename)) continue; + + unlink($filename); + } } + $files = run_replace('g5_delete_cache_by_prefix', $files, $key); + return ($files) ? true : false; } \ No newline at end of file