diff --git a/bbs/gcaptcha/down.php b/bbs/gcaptcha/down.php index 7bb655d24..b7057153e 100644 --- a/bbs/gcaptcha/down.php +++ b/bbs/gcaptcha/down.php @@ -2,8 +2,7 @@ include_once('./_common.php'); $file = addslashes($_GET['file']); -$captcha_path = mk_subdir($g4['cache_captcha_dir']); -$filepath = $captcha_path.'/'.$file; +$filepath = $g4['cache_captcha_path'].'/'.$file; $original = "number.wav"; if(preg_match("/msie/i", $_SERVER['HTTP_USER_AGENT']) && preg_match("/5\.5/", $_SERVER['HTTP_USER_AGENT'])) { diff --git a/bbs/gcaptcha/gcaptcha.lib.php b/bbs/gcaptcha/gcaptcha.lib.php index 8b33aa866..ef7ae2813 100644 --- a/bbs/gcaptcha/gcaptcha.lib.php +++ b/bbs/gcaptcha/gcaptcha.lib.php @@ -246,8 +246,6 @@ function join_wavs($wavs) function captcha_file($extension='.png') { global $g4; - mk_subdir($g4['cache_dir']); - $captcha_path = mk_subdir($g4['cache_captcha_dir']); - return $captcha_path.'/'.abs_ip2long().'_'.$_COOKIE['PHPSESSID'].$extension; + return $g4['cache_captcha_path'].'/'.abs_ip2long().'_'.$_COOKIE['PHPSESSID'].$extension; } ?> diff --git a/extend/g4s.extend.php b/extend/g4s.extend.php index e5a09f060..fcf8dc463 100644 --- a/extend/g4s.extend.php +++ b/extend/g4s.extend.php @@ -12,16 +12,23 @@ if ($g4['https_url']) { $g4['https_bbs_url'] = $g4['https_url'].'/'.$g4['bbs']; } -$g4['data_dir'] = 'data'; -$g4['data_url'] = $g4['url'].'/'.$g4['data_dir']; -$g4['data_path'] = $g4['path'].'/'.$g4['data_dir']; +$g4['extend_dir'] = 'extend'; +$g4['extend_path'] = $g4['path'].'/'.$g4['extend_dir']; -$g4['cache_dir'] = 'cache'; -$g4['cache_path'] = $g4['data_path'].'/'.$g4['cache_dir']; +$g4['data_dir'] = 'data'; +$g4['data_url'] = $g4['url'].'/'.$g4['data_dir']; +$g4['data_path'] = $g4['path'].'/'.$g4['data_dir']; -$g4['cache_latest_dir'] = $g4['cache_dir'].'/latest'; -$g4['cache_member_dir'] = $g4['cache_dir'].'/member'; -$g4['cache_captcha_dir']= $g4['cache_dir'].'/captcha'; +$g4['cache_dir'] = 'cache'; +$g4['cache_path'] = $g4['data_path'].'/'.$g4['cache_dir']; + +$g4['cache_latest_dir'] = $g4['cache_dir'].'/latest'; +$g4['cache_member_dir'] = $g4['cache_dir'].'/member'; +$g4['cache_captcha_dir'] = $g4['cache_dir'].'/captcha'; + +$g4['cache_latest_path'] = $g4['data_path'].'/'.$g4['cache_latest_dir']; +$g4['cache_member_path'] = $g4['data_path'].'/'.$g4['cache_member_dir']; +$g4['cache_captcha_path'] = $g4['data_path'].'/'.$g4['cache_captcha_dir']; // g4s 기본 DHTML EDITOR if (!defined('G4_EDITOR')) define('G4_EDITOR', 0); diff --git a/lib/common.lib.php b/lib/common.lib.php index 659c8e4e3..e894a7d4e 100644 --- a/lib/common.lib.php +++ b/lib/common.lib.php @@ -1620,18 +1620,6 @@ function is_checked($field) } -function mk_subdir($subdir) -{ - global $g4; - $data_subpath = $g4['path_path'].'/'.$subdir; - if (!is_dir($data_subpath)) { - @mkdir($data_subpath, 0707); - @chmod($data_subpath, 0707); - } - return $data_subpath; -} - - function abs_ip2long($ip='') { $ip = $ip ? $ip : $_SERVER['REMOTE_ADDR']; diff --git a/lib/latest.lib.php b/lib/latest.lib.php index e312a1d2c..663a87775 100644 --- a/lib/latest.lib.php +++ b/lib/latest.lib.php @@ -6,8 +6,44 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $options='') { global $g4; - if (!$skin_dir) - $skin_dir = 'basic'; + if (!$skin_dir) $skin_dir = 'basic'; + $latest_skin_path = skin_path().'/latest/'.$skin_dir; + + $cache_file = $g4['cache_latest_path']."/{$bo_table}_{$skin_dir}_{$rows}_{$subject_len}.php"; + if (!file_exists($cache_file)) { + $list = array(); + + $sql = " select * from $g4[board_table] where bo_table = '$bo_table'"; + $board = sql_fetch($sql); + + $tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름 + $sql = " select wr_id, ca_name, wr_subject, wr_comment, wr_hit, wr_datetime, wr_name, mb_id, wr_singo, wr_good, wr_nogood from $tmp_write_table where wr_is_comment = 0 "; + if ($ca_name) { + $sql .= " and ca_name in ('', '공지', '$ca_name') "; + } + $sql .= " order by wr_num limit 0, $rows "; + $result = sql_query($sql); + for ($i=0; $row = sql_fetch_array($result); $i++) { + $list[$i] = get_list($row, $board, $latest_skin_path, $subject_len); + } + + $handle = fopen($cache_file, "w"); + $cache_content = ""; + //$cache_content = all_trim($cache_content); + fwrite($handle, $cache_content); + fclose($handle); + } + + include_once($cache_file); + + ob_start(); + include "$latest_skin_path/latest.skin.php"; + $content = ob_get_contents(); + ob_end_clean(); + + return $content; + + /* $latest_skin_path = skin_path().'/latest/'.$skin_dir; $list = array(); @@ -30,5 +66,6 @@ function latest($skin_dir='', $bo_table, $rows=10, $subject_len=40, $options='') ob_end_clean(); return $content; + */ } ?> \ No newline at end of file