Merge branch 'master' of github.com:gnuboard/g4s

This commit is contained in:
whitedot
2013-02-15 13:58:13 +09:00
24 changed files with 532 additions and 655 deletions

View File

@ -1,18 +1,17 @@
소프트웨어 제품은 저작권법 및 국제저작권 협약을 비롯하여, 기타 지적재산권법 및 협약의 보호를 받습니다. 소프트웨어 제품은 저작권법 및 국제저작권 협약을 비롯하여, 기타 지적재산권법 및 협약의 보호를 받습니다.
프로그램 명칭 : 그누보드4 (GNU Board 4) 프로그램 명칭 : 그누보드4S (GNUBoard 4 Second Edition)
저작자 : SIR (홍석명) http://sir.co.kr 저작자 : (주)에스아이알소프트 http://sir.co.kr
라이센스 (License) 라이센스 (License)
번역문 아래에 원문이 있습니다. 번역문 아래에 원문이 있습니다.
주의 ) 주의 )
1. 이 라이센스는 그누보드4에만 적용하며 플러그인 프로그램 또는 스킨등에는 개별적인 라이센스를 적용할 수 있습니다. 1. 번역문과 원문의 내용상 차이가 있는 경우 원문의 내용을 우선으로 따릅니다.
2. 번역문과 원문의 내용상 차이가 있는 경우 원문의 내용을 따릅니다. 2. 법적인 분쟁이 발생한 경우 저작자의 회사 소재지를 관할하는 관할법원에서 분쟁을 해결합니다.
3. 법적인 분쟁이 발생한 경우 저작자의 회사 소재지를 관할하는 관할법원에서 분쟁을 해결합니다. 3. 이 라이센스 파일 및 내용은 저작자를 제외한 어느 누구도 추가, 수정, 삭제할 수 없습니다.
4. 이 라이센스 파일 및 내용은 저작자를 제외한 어느 누구도 추가, 수정, 삭제할 수 없습니다.
----- GPL 번역문 -------------------------------------------------------- ----- GPL 번역문 --------------------------------------------------------

View File

@ -3,7 +3,7 @@ $sub_menu = "100900";
include_once("./_common.php"); include_once("./_common.php");
if ($is_admin != "super") if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g4[path]); alert("최고관리자만 접근 가능합니다.", G4_URL);
$g4['title'] = "캐시파일 일괄삭제"; $g4['title'] = "캐시파일 일괄삭제";
include_once("./admin.head.php"); include_once("./admin.head.php");
@ -21,27 +21,27 @@ include_once("./admin.head.php");
include_once("./admin.tail.php"); include_once("./admin.tail.php");
flush(); flush();
if (!$dir=@opendir($g4['cache_latest_path'])) { if (!$dir=@opendir(G4_DATA_PATH.'/cache')) {
echo "최신글 캐시디렉토리를 열지못했습니다."; echo "최신글 캐시디렉토리를 열지못했습니다.";
} }
$cnt=0; $cnt=0;
while($file=readdir($dir)) { while($file=readdir($dir)) {
if ($file=='.' || $file=='..') continue; if ($file=='.' || $file=='..') continue;
$cache_file = $g4['cache_latest_path'].'/'.$file; $cache_file = G4_DATA_PATH.'/cache/'.$file;
if (!$atime=@fileatime($cache_file)) if (!$atime=@fileatime($cache_file))
continue; continue;
$cnt++; $cnt++;
$return = unlink($cache_file); $return = unlink($cache_file);
echo "<script>document.getElementById('delete_message').innerHTML += '{$cache_file}<br/>';</script>\n"; echo "<script>document.getElementById('delete_message').innerHTML += '{$cache_file}<br/>';</script>\n";
flush(); flush();
if ($cnt%10==0) if ($cnt%10==0)
echo "<script>document.getElementById('delete_message').innerHTML = '';</script>\n"; echo "<script>document.getElementById('delete_message').innerHTML = '';</script>\n";
} }
echo "<script>document.getElementById('delete_message').innerHTML += '최신글 캐시파일 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n"; echo "<script>document.getElementById('delete_message').innerHTML += '최신글 캐시파일 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n";
?> ?>

View File

@ -3,7 +3,7 @@ $sub_menu = "100800";
include_once("./_common.php"); include_once("./_common.php");
if ($is_admin != "super") if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g4[path]); alert("최고관리자만 접근 가능합니다.", G4_URL);
$g4['title'] = "세션파일 일괄삭제"; $g4['title'] = "세션파일 일괄삭제";
include_once("./admin.head.php"); include_once("./admin.head.php");
@ -21,31 +21,31 @@ include_once("./admin.head.php");
include_once("./admin.tail.php"); include_once("./admin.tail.php");
flush(); flush();
if (!$dir=@opendir($g4['session_path'])) { if (!$dir=@opendir(G4_DATA_PATH.'/session')) {
echo "세션 디렉토리를 열지못했습니다."; echo "세션 디렉토리를 열지못했습니다.";
} }
$cnt=0; $cnt=0;
while($file=readdir($dir)) { while($file=readdir($dir)) {
if (!strstr($file,'sess_')) continue; if (!strstr($file,'sess_')) continue;
if (strpos($file,'sess_')!=0) continue; if (strpos($file,'sess_')!=0) continue;
$session_file = $g4['session_path'].'/'.$file; $session_file = G4_DATA_PATH.'/session/'.$file;
if (!$atime=@fileatime($session_file)) { if (!$atime=@fileatime($session_file)) {
continue; continue;
} }
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전 if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++; $cnt++;
$return = unlink($session_file); $return = unlink($session_file);
echo "<script>document.getElementById('ct').innerHTML += '{$session_file}<br/>';</script>\n"; echo "<script>document.getElementById('ct').innerHTML += '{$session_file}<br/>';</script>\n";
flush(); flush();
if ($cnt%10==0) if ($cnt%10==0)
echo "<script>document.getElementById('ct').innerHTML = '';</script>\n"; echo "<script>document.getElementById('ct').innerHTML = '';</script>\n";
} }
} }
echo "<script>document.getElementById('ct').innerHTML += '세션데이터 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n"; echo "<script>document.getElementById('ct').innerHTML += '세션데이터 {$cnt}건 삭제 완료.<br><br>프로그램의 실행을 끝마치셔도 좋습니다.';</script>\n";
?> ?>

View File

@ -122,7 +122,7 @@ class gcaptcha
$this->captcha_filename = $this->get_captcha_filename(); $this->captcha_filename = $this->get_captcha_filename();
imagepng($im, G4_DATA_PATH.'/cache/'.$this->captcha_filename.'.png', 0, NULL); imagepng($im, G4_DATA_PATH.'/cache/gcaptcha-'.$this->captcha_filename.'.png', 0, NULL);
imagedestroy($im); imagedestroy($im);
$this->make_wav($this->captcha_filename.'.wav'); $this->make_wav($this->captcha_filename.'.wav');
@ -144,7 +144,7 @@ class gcaptcha
$wavs[] = $file; $wavs[] = $file;
} }
$wav_filepath = G4_DATA_PATH.'/cache/'.$captcha_filename; $wav_filepath = G4_DATA_PATH.'/cache/gcaptcha-'.$captcha_filename;
$fp = fopen($wav_filepath, 'w+'); $fp = fopen($wav_filepath, 'w+');
fwrite($fp, join_wavs($wavs)); fwrite($fp, join_wavs($wavs));
fclose($fp); fclose($fp);
@ -172,8 +172,8 @@ function captcha_html($class="captcha")
$obj = new gcaptcha(); $obj = new gcaptcha();
$obj->run(); $obj->run();
$png_file_url = G4_DATA_URL.'/cache/'.$obj->captcha_filename.'.png'; $png_file_url = G4_DATA_URL.'/cache/gcaptcha-'.$obj->captcha_filename.'.png';
$wav_file_url = G4_DATA_URL.'/cache/'.$obj->captcha_filename.'.wav'; $wav_file_url = G4_DATA_URL.'/cache/gcaptcha-'.$obj->captcha_filename.'.wav';
$html .= PHP_EOL.'<script>var g4_gcaptcha_url = "'.G4_GCAPTCHA_URL.'";</script>'; $html .= PHP_EOL.'<script>var g4_gcaptcha_url = "'.G4_GCAPTCHA_URL.'";</script>';
$html .= PHP_EOL.'<script src="'.G4_GCAPTCHA_URL.'/gcaptcha.js"></script>'; $html .= PHP_EOL.'<script src="'.G4_GCAPTCHA_URL.'/gcaptcha.js"></script>';

View File

@ -193,8 +193,9 @@ for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
$upload[$i]['del_check'] = false; $upload[$i]['del_check'] = false;
$tmp_file = $_FILES['bf_file']['tmp_name'][$i]; $tmp_file = $_FILES['bf_file']['tmp_name'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filesize = $_FILES['bf_file']['size'][$i]; $filesize = $_FILES['bf_file']['size'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filename = preg_replace('/(<|>|=)/', '', $filename);
// 서버에 설정된 값보다 큰파일을 업로드 한다면 // 서버에 설정된 값보다 큰파일을 업로드 한다면
if ($filename) { if ($filename) {

View File

@ -106,7 +106,7 @@ if (file_exists($dbconfig_file)) {
} else { } else {
echo "<meta http-equiv='content-type' content='text/html; charset=utf-8'>"; echo "<meta http-equiv='content-type' content='text/html; charset=utf-8'>";
echo "<h3>$dbconfig_file 파일을 찾을 수 없습니다.<br>프로그램 설치 후 실행하시기 바랍니다.</h3>"; echo "<h3>$dbconfig_file 파일을 찾을 수 없습니다.<br>프로그램 설치 후 실행하시기 바랍니다.</h3>";
echo '<a href="'.G4_URL.'/install/">설치하기</a>'; echo '<a href="'.G4_URL.'/install/">그누보드4S 설치하기</a>';
exit; exit;
} }
//============================================================================== //==============================================================================
@ -181,13 +181,6 @@ if (G4_IS_MOBILE) {
if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id()) if (isset($_REQUEST['PHPSESSID']) && $_REQUEST['PHPSESSID'] != session_id())
goto_url(G4_BBS_URL.'/logout.php'); goto_url(G4_BBS_URL.'/logout.php');
// 프로그램 전반에 걸쳐 사용하는 유일한 키
if (!get_session('ss_uniqid')) {
set_session('ss_uniqid', get_uniqid());
}
// QUERY_STRING // QUERY_STRING
$qstr = ''; $qstr = '';

View File

@ -7,11 +7,11 @@
define('_GNUBOARD_', true); define('_GNUBOARD_', true);
if (PHP_VERSION >= '5.3.0') { if (PHP_VERSION >= '5.3.0') {
//if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul"); //if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul");
date_default_timezone_set("Asia/Seoul"); date_default_timezone_set("Asia/Seoul");
} }
//============================================================================== //==============================================================================
// 경로 상수 // 경로 상수
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
@ -31,6 +31,8 @@ www.sir.co.kr 과 sir.co.kr 도메인은 서로 다른 도메인으로 인식합
*/ */
define('G4_COOKIE_DOMAIN', ''); define('G4_COOKIE_DOMAIN', '');
define('G4_DBCONFIG_FILE', 'dbconfig.php');
define('G4_ADMIN_DIR', 'adm'); define('G4_ADMIN_DIR', 'adm');
define('G4_BBS_DIR', 'bbs'); define('G4_BBS_DIR', 'bbs');
define('G4_CSS_DIR', 'css'); define('G4_CSS_DIR', 'css');
@ -47,8 +49,18 @@ define('G4_CKEDITOR_DIR', 'ckeditor');
if (G4_DOMAIN) { if (G4_DOMAIN) {
define('G4_URL', G4_DOMAIN); define('G4_URL', G4_DOMAIN);
} else { } else {
define('G4_URL', $g4_path['url']); if (isset($g4_path['url']))
define('G4_URL', $g4_path['url']);
else
define('G4_URL', '');
} }
if (isset($g4_path['path'])) {
define('G4_PATH', $g4_path['path']);
} else {
define('G4_PATH', '');
}
define('G4_ADMIN_URL', G4_URL.'/'.G4_ADMIN_DIR); define('G4_ADMIN_URL', G4_URL.'/'.G4_ADMIN_DIR);
define('G4_BBS_URL', G4_URL.'/'.G4_BBS_DIR); define('G4_BBS_URL', G4_URL.'/'.G4_BBS_DIR);
define('G4_CSS_URL', G4_URL.'/'.G4_CSS_DIR); define('G4_CSS_URL', G4_URL.'/'.G4_CSS_DIR);
@ -60,7 +72,6 @@ define('G4_GCAPTCHA_URL', G4_BBS_URL.'/'.G4_GCAPTCHA_DIR);
define('G4_CKEDITOR_URL', G4_BBS_URL.'/'.G4_CKEDITOR_DIR); // CKEDITOR 의 라이브러리 경로 define('G4_CKEDITOR_URL', G4_BBS_URL.'/'.G4_CKEDITOR_DIR); // CKEDITOR 의 라이브러리 경로
// PATH 는 서버상에서의 절대경로 // PATH 는 서버상에서의 절대경로
define('G4_PATH', $g4_path['path']);
define('G4_ADMIN_PATH', G4_PATH.'/'.G4_ADMIN_DIR); define('G4_ADMIN_PATH', G4_PATH.'/'.G4_ADMIN_DIR);
define('G4_BBS_PATH', G4_PATH.'/'.G4_BBS_DIR); define('G4_BBS_PATH', G4_PATH.'/'.G4_BBS_DIR);
define('G4_DATA_PATH', G4_PATH.'/'.G4_DATA_DIR); define('G4_DATA_PATH', G4_PATH.'/'.G4_DATA_DIR);

View File

@ -1,43 +1,25 @@
-- --------------------------------------------------------
--
-- Table structure for table `g4s_auth`
--
DROP TABLE IF EXISTS `g4s_auth`;
CREATE TABLE IF NOT EXISTS `g4s_auth` (
DROP TABLE IF EXISTS `$g4[auth_table]`;
CREATE TABLE `$g4[auth_table]` (
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
`au_menu` varchar(20) NOT NULL default '', `au_menu` varchar(20) NOT NULL default '',
`au_auth` set('r','w','d') NOT NULL default '', `au_auth` set('r','w','d') NOT NULL default '',
PRIMARY KEY (`mb_id`,`au_menu`) PRIMARY KEY (`mb_id`,`au_menu`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board`
--
DROP TABLE IF EXISTS `g4s_board`;
CREATE TABLE IF NOT EXISTS `g4s_board` (
DROP TABLE IF EXISTS `$g4[board_table]`;
CREATE TABLE `$g4[board_table]` (
`bo_table` varchar(20) NOT NULL default '', `bo_table` varchar(20) NOT NULL default '',
`gr_id` varchar(255) NOT NULL default '', `gr_id` varchar(255) NOT NULL default '',
`bo_subject` varchar(255) NOT NULL default '', `bo_subject` varchar(255) NOT NULL default '',
@ -125,23 +107,22 @@ CREATE TABLE `$g4[board_table]` (
`bo_9` varchar(255) NOT NULL default '', `bo_9` varchar(255) NOT NULL default '',
`bo_10` varchar(255) NOT NULL default '', `bo_10` varchar(255) NOT NULL default '',
PRIMARY KEY (`bo_table`) PRIMARY KEY (`bo_table`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board_file`
--
DROP TABLE IF EXISTS `g4s_board_file`;
CREATE TABLE IF NOT EXISTS `g4s_board_file` (
DROP TABLE IF EXISTS `$g4[board_table]_file`;
CREATE TABLE `$g4[board_table]_file` (
`bo_table` varchar(20) NOT NULL default '', `bo_table` varchar(20) NOT NULL default '',
`wr_id` int(11) NOT NULL default '0', `wr_id` int(11) NOT NULL default '0',
`bf_no` int(11) NOT NULL default '0', `bf_no` int(11) NOT NULL default '0',
`bf_source` varchar(255) NOT NULL default '', `bf_source` varchar(255) NOT NULL default '',
`bf_file` varchar(255) NOT NULL default '', `bf_file` varchar(255) NOT NULL default '',
`bf_download` varchar(255) NOT NULL default '', `bf_download` int(11) NOT NULL,
`bf_content` text NOT NULL, `bf_content` text NOT NULL,
`bf_filesize` int(11) NOT NULL default '0', `bf_filesize` int(11) NOT NULL default '0',
`bf_width` int(11) NOT NULL default '0', `bf_width` int(11) NOT NULL default '0',
@ -149,17 +130,16 @@ CREATE TABLE `$g4[board_table]_file` (
`bf_type` tinyint(4) NOT NULL default '0', `bf_type` tinyint(4) NOT NULL default '0',
`bf_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `bf_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`bo_table`,`wr_id`,`bf_no`) PRIMARY KEY (`bo_table`,`wr_id`,`bf_no`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board_good`
--
DROP TABLE IF EXISTS `g4s_board_good`;
CREATE TABLE IF NOT EXISTS `g4s_board_good` (
DROP TABLE IF EXISTS `$g4[board_table]_good`;
CREATE TABLE `$g4[board_table]_good` (
`bg_id` int(11) NOT NULL auto_increment, `bg_id` int(11) NOT NULL auto_increment,
`bo_table` varchar(20) NOT NULL default '', `bo_table` varchar(20) NOT NULL default '',
`wr_id` int(11) NOT NULL default '0', `wr_id` int(11) NOT NULL default '0',
@ -168,17 +148,16 @@ CREATE TABLE `$g4[board_table]_good` (
`bg_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `bg_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`bg_id`), PRIMARY KEY (`bg_id`),
UNIQUE KEY `fkey1` (`bo_table`,`wr_id`,`mb_id`) UNIQUE KEY `fkey1` (`bo_table`,`wr_id`,`mb_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board_new`
--
DROP TABLE IF EXISTS `g4s_board_new`;
CREATE TABLE IF NOT EXISTS `g4s_board_new` (
DROP TABLE IF EXISTS `$g4[board_table]_new`;
CREATE TABLE `$g4[board_table]_new` (
`bn_id` int(11) NOT NULL auto_increment, `bn_id` int(11) NOT NULL auto_increment,
`bo_table` varchar(20) NOT NULL default '', `bo_table` varchar(20) NOT NULL default '',
`wr_id` int(11) NOT NULL default '0', `wr_id` int(11) NOT NULL default '0',
@ -187,17 +166,16 @@ CREATE TABLE `$g4[board_table]_new` (
`mb_id` varchar(20) NOT NULL default '', `mb_id` varchar(20) NOT NULL default '',
PRIMARY KEY (`bn_id`), PRIMARY KEY (`bn_id`),
KEY `mb_id` (`mb_id`) KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_config`
--
DROP TABLE IF EXISTS `g4s_config`;
CREATE TABLE IF NOT EXISTS `g4s_config` (
DROP TABLE IF EXISTS `$g4[config_table]`;
CREATE TABLE `$g4[config_table]` (
`cf_title` varchar(255) NOT NULL default '', `cf_title` varchar(255) NOT NULL default '',
`cf_admin` varchar(255) NOT NULL default '', `cf_admin` varchar(255) NOT NULL default '',
`cf_use_point` tinyint(4) NOT NULL default '0', `cf_use_point` tinyint(4) NOT NULL default '0',
@ -297,17 +275,16 @@ CREATE TABLE `$g4[config_table]` (
`cf_8` varchar(255) NOT NULL default '', `cf_8` varchar(255) NOT NULL default '',
`cf_9` varchar(255) NOT NULL default '', `cf_9` varchar(255) NOT NULL default '',
`cf_10` varchar(255) NOT NULL default '' `cf_10` varchar(255) NOT NULL default ''
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_group`
--
DROP TABLE IF EXISTS `g4s_group`;
CREATE TABLE IF NOT EXISTS `g4s_group` (
DROP TABLE IF EXISTS `$g4[group_table]`;
CREATE TABLE `$g4[group_table]` (
`gr_id` varchar(10) NOT NULL default '', `gr_id` varchar(10) NOT NULL default '',
`gr_subject` varchar(255) NOT NULL default '', `gr_subject` varchar(255) NOT NULL default '',
`gr_admin` varchar(255) NOT NULL default '', `gr_admin` varchar(255) NOT NULL default '',
@ -333,17 +310,16 @@ CREATE TABLE `$g4[group_table]` (
`gr_9` varchar(255) NOT NULL default '', `gr_9` varchar(255) NOT NULL default '',
`gr_10` varchar(255) NOT NULL default '', `gr_10` varchar(255) NOT NULL default '',
PRIMARY KEY (`gr_id`) PRIMARY KEY (`gr_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_group_member`
--
DROP TABLE IF EXISTS `g4s_group_member`;
CREATE TABLE IF NOT EXISTS `g4s_group_member` (
DROP TABLE IF EXISTS `$g4[group_member_table]`;
CREATE TABLE `$g4[group_member_table]` (
`gm_id` int(11) NOT NULL auto_increment, `gm_id` int(11) NOT NULL auto_increment,
`gr_id` varchar(255) NOT NULL default '', `gr_id` varchar(255) NOT NULL default '',
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
@ -351,34 +327,32 @@ CREATE TABLE `$g4[group_member_table]` (
PRIMARY KEY (`gm_id`), PRIMARY KEY (`gm_id`),
KEY `gr_id` (`gr_id`), KEY `gr_id` (`gr_id`),
KEY `mb_id` (`mb_id`) KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_login`
--
DROP TABLE IF EXISTS `g4s_login`;
CREATE TABLE IF NOT EXISTS `g4s_login` (
DROP TABLE IF EXISTS `$g4[login_table]`;
CREATE TABLE `$g4[login_table]` (
`lo_ip` varchar(255) NOT NULL default '', `lo_ip` varchar(255) NOT NULL default '',
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
`lo_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `lo_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`lo_location` text NOT NULL, `lo_location` text NOT NULL,
`lo_url` text NOT NULL, `lo_url` text NOT NULL,
PRIMARY KEY (`lo_ip`) PRIMARY KEY (`lo_ip`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_mail`
--
DROP TABLE IF EXISTS `g4s_mail`;
CREATE TABLE IF NOT EXISTS `g4s_mail` (
DROP TABLE IF EXISTS `$g4[mail_table]`;
CREATE TABLE `$g4[mail_table]` (
`ma_id` int(11) NOT NULL auto_increment, `ma_id` int(11) NOT NULL auto_increment,
`ma_subject` varchar(255) NOT NULL default '', `ma_subject` varchar(255) NOT NULL default '',
`ma_content` mediumtext NOT NULL, `ma_content` mediumtext NOT NULL,
@ -386,17 +360,16 @@ CREATE TABLE `$g4[mail_table]` (
`ma_ip` varchar(255) NOT NULL default '', `ma_ip` varchar(255) NOT NULL default '',
`ma_last_option` text NOT NULL, `ma_last_option` text NOT NULL,
PRIMARY KEY (`ma_id`) PRIMARY KEY (`ma_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_member`
--
DROP TABLE IF EXISTS `g4s_member`;
CREATE TABLE IF NOT EXISTS `g4s_member` (
DROP TABLE IF EXISTS `$g4[member_table]`;
CREATE TABLE `$g4[member_table]` (
`mb_no` int(11) NOT NULL auto_increment, `mb_no` int(11) NOT NULL auto_increment,
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
`mb_password` varchar(255) NOT NULL default '', `mb_password` varchar(255) NOT NULL default '',
@ -449,17 +422,16 @@ CREATE TABLE `$g4[member_table]` (
UNIQUE KEY `mb_id` (`mb_id`), UNIQUE KEY `mb_id` (`mb_id`),
KEY `mb_today_login` (`mb_today_login`), KEY `mb_today_login` (`mb_today_login`),
KEY `mb_datetime` (`mb_datetime`) KEY `mb_datetime` (`mb_datetime`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_memo`
--
DROP TABLE IF EXISTS `g4s_memo`;
CREATE TABLE IF NOT EXISTS `g4s_memo` (
DROP TABLE IF EXISTS `$g4[memo_table]`;
CREATE TABLE `$g4[memo_table]` (
`me_id` int(11) NOT NULL default '0', `me_id` int(11) NOT NULL default '0',
`me_recv_mb_id` varchar(255) NOT NULL default '', `me_recv_mb_id` varchar(255) NOT NULL default '',
`me_send_mb_id` varchar(255) NOT NULL default '', `me_send_mb_id` varchar(255) NOT NULL default '',
@ -467,17 +439,99 @@ CREATE TABLE `$g4[memo_table]` (
`me_read_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `me_read_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`me_memo` text NOT NULL, `me_memo` text NOT NULL,
PRIMARY KEY (`me_id`) PRIMARY KEY (`me_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_oneboard`
--
DROP TABLE IF EXISTS `g4s_oneboard`;
CREATE TABLE IF NOT EXISTS `g4s_oneboard` (
`ob_table` varchar(20) NOT NULL,
`ob_subject` varchar(255) NOT NULL,
`ob_admin` varchar(255) NOT NULL,
`ob_skin` varchar(255) NOT NULL,
`ob_write_level` tinyint(4) NOT NULL,
`ob_upload_level` tinyint(4) NOT NULL,
`ob_use_dhtml_editor` tinyint(4) NOT NULL,
`ob_use_email` tinyint(4) NOT NULL,
`ob_table_width` smallint(6) NOT NULL,
`ob_subject_len` smallint(6) NOT NULL,
`ob_page_rows` smallint(6) NOT NULL,
`ob_image_width` smallint(6) NOT NULL,
`ob_image_head` varchar(255) NOT NULL,
`ob_image_tail` varchar(255) NOT NULL,
`ob_include_head` varchar(255) NOT NULL,
`ob_include_tail` varchar(255) NOT NULL,
`ob_content_head` text NOT NULL,
`ob_content_tail` text NOT NULL,
`ob_insert_content` text NOT NULL,
`ob_1_subj` varchar(255) NOT NULL,
`ob_2_subj` varchar(255) NOT NULL,
`ob_3_subj` varchar(255) NOT NULL,
`ob_4_subj` varchar(255) NOT NULL,
`ob_5_subj` varchar(255) NOT NULL,
`ob_6_subj` varchar(255) NOT NULL,
`ob_7_subj` varchar(255) NOT NULL,
`ob_8_subj` varchar(255) NOT NULL,
`ob_9_subj` varchar(255) NOT NULL,
`ob_10_subj` varchar(255) NOT NULL,
`ob_1` varchar(255) NOT NULL,
`ob_2` varchar(255) NOT NULL,
`ob_3` varchar(255) NOT NULL,
`ob_4` varchar(255) NOT NULL,
`ob_5` varchar(255) NOT NULL,
`ob_6` varchar(255) NOT NULL,
`ob_7` varchar(255) NOT NULL,
`ob_8` varchar(255) NOT NULL,
`ob_9` varchar(255) NOT NULL,
`ob_10` varchar(255) NOT NULL,
PRIMARY KEY (`ob_table`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_one_basic`
--
DROP TABLE IF EXISTS `$g4[point_table]`; DROP TABLE IF EXISTS `g4s_one_basic`;
CREATE TABLE IF NOT EXISTS `g4s_one_basic` (
`on_id` int(11) NOT NULL auto_increment,
`mb_no` int(11) NOT NULL,
`on_subject` varchar(255) NOT NULL default '',
`on_question` mediumtext NOT NULL,
`on_answer` mediumtext NOT NULL,
`on_qfile` varchar(255) NOT NULL,
`on_qsource` varchar(255) NOT NULL,
`on_afile` varchar(255) NOT NULL,
`on_asource` varchar(255) NOT NULL,
`on_qdatetime` datetime NOT NULL,
`on_adatetime` datetime NOT NULL,
`on_1` text NOT NULL,
`on_2` text NOT NULL,
`on_3` text NOT NULL,
`on_4` text NOT NULL,
`on_5` text NOT NULL,
`on_6` text NOT NULL,
`on_7` text NOT NULL,
`on_8` text NOT NULL,
`on_9` text NOT NULL,
`on_10` text NOT NULL,
PRIMARY KEY (`on_id`),
KEY `mb_no` (`mb_no`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
CREATE TABLE `$g4[point_table]` ( --
-- Table structure for table `g4s_point`
--
DROP TABLE IF EXISTS `g4s_point`;
CREATE TABLE IF NOT EXISTS `g4s_point` (
`po_id` int(11) NOT NULL auto_increment, `po_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(20) NOT NULL default '', `mb_id` varchar(20) NOT NULL default '',
`po_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `po_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
@ -488,17 +542,16 @@ CREATE TABLE `$g4[point_table]` (
`po_rel_action` varchar(255) NOT NULL default '', `po_rel_action` varchar(255) NOT NULL default '',
PRIMARY KEY (`po_id`), PRIMARY KEY (`po_id`),
KEY `index1` (`mb_id`,`po_rel_table`,`po_rel_id`,`po_rel_action`) KEY `index1` (`mb_id`,`po_rel_table`,`po_rel_id`,`po_rel_action`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_poll`
--
DROP TABLE IF EXISTS `g4s_poll`;
CREATE TABLE IF NOT EXISTS `g4s_poll` (
DROP TABLE IF EXISTS `$g4[poll_table]`;
CREATE TABLE `$g4[poll_table]` (
`po_id` int(11) NOT NULL auto_increment, `po_id` int(11) NOT NULL auto_increment,
`po_subject` varchar(255) NOT NULL default '', `po_subject` varchar(255) NOT NULL default '',
`po_poll1` varchar(255) NOT NULL default '', `po_poll1` varchar(255) NOT NULL default '',
@ -526,17 +579,16 @@ CREATE TABLE `$g4[poll_table]` (
`po_ips` mediumtext NOT NULL, `po_ips` mediumtext NOT NULL,
`mb_ids` text NOT NULL, `mb_ids` text NOT NULL,
PRIMARY KEY (`po_id`) PRIMARY KEY (`po_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_poll_etc`
--
DROP TABLE IF EXISTS `g4s_poll_etc`;
CREATE TABLE IF NOT EXISTS `g4s_poll_etc` (
DROP TABLE IF EXISTS `$g4[poll_etc_table]`;
CREATE TABLE `$g4[poll_etc_table]` (
`pc_id` int(11) NOT NULL default '0', `pc_id` int(11) NOT NULL default '0',
`po_id` int(11) NOT NULL default '0', `po_id` int(11) NOT NULL default '0',
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
@ -544,34 +596,32 @@ CREATE TABLE `$g4[poll_etc_table]` (
`pc_idea` varchar(255) NOT NULL default '', `pc_idea` varchar(255) NOT NULL default '',
`pc_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `pc_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`pc_id`) PRIMARY KEY (`pc_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_popular`
--
DROP TABLE IF EXISTS `g4s_popular`;
CREATE TABLE IF NOT EXISTS `g4s_popular` (
DROP TABLE IF EXISTS `$g4[popular_table]`;
CREATE TABLE `$g4[popular_table]` (
`pp_id` int(11) NOT NULL auto_increment, `pp_id` int(11) NOT NULL auto_increment,
`pp_word` varchar(50) NOT NULL default '', `pp_word` varchar(50) NOT NULL default '',
`pp_date` date NOT NULL default '0000-00-00', `pp_date` date NOT NULL default '0000-00-00',
`pp_ip` varchar(50) NOT NULL default '', `pp_ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`pp_id`), PRIMARY KEY (`pp_id`),
UNIQUE KEY `index1` (`pp_date`,`pp_word`,`pp_ip`) UNIQUE KEY `index1` (`pp_date`,`pp_word`,`pp_ip`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_scrap`
--
DROP TABLE IF EXISTS `g4s_scrap`;
CREATE TABLE IF NOT EXISTS `g4s_scrap` (
DROP TABLE IF EXISTS `$g4[scrap_table]`;
CREATE TABLE `$g4[scrap_table]` (
`ms_id` int(11) NOT NULL auto_increment, `ms_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(255) NOT NULL default '', `mb_id` varchar(255) NOT NULL default '',
`bo_table` varchar(20) NOT NULL default '', `bo_table` varchar(20) NOT NULL default '',
@ -579,34 +629,16 @@ CREATE TABLE `$g4[scrap_table]` (
`ms_datetime` datetime NOT NULL default '0000-00-00 00:00:00', `ms_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`ms_id`), PRIMARY KEY (`ms_id`),
KEY `mb_id` (`mb_id`) KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_visit`
--
DROP TABLE IF EXISTS `g4s_visit`;
CREATE TABLE IF NOT EXISTS `g4s_visit` (
DROP TABLE IF EXISTS `$g4[token_table]`;
CREATE TABLE `$g4[token_table]` (
`to_token` varchar(32) NOT NULL default '',
`to_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`to_ip` varchar(255) NOT NULL default '',
PRIMARY KEY (`to_token`),
KEY `to_datetime` (`to_datetime`),
KEY `to_ip` (`to_ip`)
) DEFAULT CHARSET=utf8;
DROP TABLE IF EXISTS `$g4[visit_table]`;
CREATE TABLE `$g4[visit_table]` (
`vi_id` int(11) NOT NULL default '0', `vi_id` int(11) NOT NULL default '0',
`vi_ip` varchar(255) NOT NULL default '', `vi_ip` varchar(255) NOT NULL default '',
`vi_date` date NOT NULL default '0000-00-00', `vi_date` date NOT NULL default '0000-00-00',
@ -616,31 +648,82 @@ CREATE TABLE `$g4[visit_table]` (
PRIMARY KEY (`vi_id`), PRIMARY KEY (`vi_id`),
UNIQUE KEY `index1` (`vi_ip`,`vi_date`), UNIQUE KEY `index1` (`vi_ip`,`vi_date`),
KEY `index2` (`vi_date`) KEY `index2` (`vi_date`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_visit_sum`
--
DROP TABLE IF EXISTS `g4s_visit_sum`;
CREATE TABLE IF NOT EXISTS `g4s_visit_sum` (
DROP TABLE IF EXISTS `$g4[visit_sum_table]`;
CREATE TABLE `$g4[visit_sum_table]` (
`vs_date` date NOT NULL default '0000-00-00', `vs_date` date NOT NULL default '0000-00-00',
`vs_count` int(11) NOT NULL default '0', `vs_count` int(11) NOT NULL default '0',
PRIMARY KEY (`vs_date`), PRIMARY KEY (`vs_date`),
KEY `index1` (`vs_count`) KEY `index1` (`vs_count`)
) DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_write`
--
DROP TABLE IF EXISTS `g4s_write`;
CREATE TABLE IF NOT EXISTS `g4s_write` (
`wr_id` int(11) NOT NULL auto_increment,
`wr_num` int(11) NOT NULL default '0',
`wr_reply` varchar(10) NOT NULL default '',
`wr_parent` int(11) NOT NULL default '0',
`wr_is_comment` tinyint(4) NOT NULL default '0',
`wr_comment` int(11) NOT NULL default '0',
`wr_comment_reply` varchar(5) NOT NULL default '',
`ca_name` varchar(255) NOT NULL default '',
`wr_option` set('html1','html2','secret','mail') NOT NULL default '',
`wr_subject` varchar(255) NOT NULL default '',
`wr_content` text NOT NULL,
`wr_link1` text NOT NULL,
`wr_link2` text NOT NULL,
`wr_link1_hit` int(11) NOT NULL default '0',
`wr_link2_hit` int(11) NOT NULL default '0',
`wr_trackback` varchar(255) NOT NULL default '',
`wr_hit` int(11) NOT NULL default '0',
`wr_good` int(11) NOT NULL default '0',
`wr_nogood` int(11) NOT NULL default '0',
`mb_id` varchar(255) NOT NULL default '',
`wr_password` varchar(255) NOT NULL default '',
`wr_name` varchar(255) NOT NULL default '',
`wr_email` varchar(255) NOT NULL default '',
`wr_homepage` varchar(255) NOT NULL default '',
`wr_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
`wr_last` varchar(19) NOT NULL default '',
`wr_ip` varchar(255) NOT NULL default '',
`wr_1` varchar(255) NOT NULL default '',
`wr_2` varchar(255) NOT NULL default '',
`wr_3` varchar(255) NOT NULL default '',
`wr_4` varchar(255) NOT NULL default '',
`wr_5` varchar(255) NOT NULL default '',
`wr_6` varchar(255) NOT NULL default '',
`wr_7` varchar(255) NOT NULL default '',
`wr_8` varchar(255) NOT NULL default '',
`wr_9` varchar(255) NOT NULL default '',
`wr_10` varchar(255) NOT NULL default '',
PRIMARY KEY (`wr_id`),
KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_write`
--
DROP TABLE IF EXISTS `g4s_unique`;
CREATE TABLE IF NOT EXISTS `g4s_uniqid` (
`uq_id` bigint(20) unsigned NOT NULL,
PRIMARY KEY (`uq_id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 144 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 104 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

View File

@ -4,101 +4,33 @@ include_once ('./install.inc.php');
?> ?>
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=<?=$g4['charset']?>"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>그누보드4 설치 (1/3) - 라이센스(License)</title> <title>그누보드4 설치 (1/3) - 라이센스(License)</title>
<style type="text/css">
<!--
.body {
font-family: 굴림;
font-size: 12px;
}
.box {
background-color: #D6D3CE;
font-family:굴림;
font-size: 12px;
}
-->
</style>
</head> </head>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <body>
<p>&nbsp;</p> <h4>라이센스(License) 내용을 반드시 확인하십시오.</h4>
<p>&nbsp;</p> <textarea name="textarea" style='width:100%;height:300px;' readonly>
<p>&nbsp;</p> <?=implode('', file('../LICENSE.txt'));?>
<p>&nbsp;</p>
<table width="587" border="0" cellspacing="0" cellpadding="0" align=center>
<tr>
<td colspan="3"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="587" height="22">
<param name="movie" value="img/top.swf">
<param name="quality" value="high">
<embed src="img/top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="587" height="22"></embed></object></td>
</tr>
<tr>
<td width="3"><img src="img/box_left.gif" width="3" height="340"></td>
<td width="581" valign="top" bgcolor="#FCFCFC">
<table width="581" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="img/box_title.gif" width="581" height="56"></td>
</tr>
</table>
<table width="541" border="0" align="center" cellpadding="0" cellspacing="0" class="body">
<tr>
<td height="10"></td>
</tr>
<tr>
<td>라이센스(License) 내용을 반드시 확인하십시오.</td>
</tr>
<tr>
<td height="10"></td>
</tr>
<tr>
<td align="center">
<textarea name="textarea" style='width:99%' rows="9" class="box" readonly>
<?=implode('', file('../LICENSE'));?>
</textarea> </textarea>
<form method="post" action="./install_config.php" onsubmit="return frm_submit(this);">
</td> <div>
</tr> <input type="checkbox" id="agree" name="agree" value="동의함">
<tr> <label for="agree">설치를 원하시면 위 내용에 동의하셔야 합니다.</label><br>
<td height=10></td> 동의에 선택하신 후 &lt;다음&gt; 버튼을 클릭해 주세요.
</tr> </div>
<tr> <input type="submit" value="다음">
<td>설치를 원하시면 위 내용에 동의하셔야 합니다.<br> </form>
동의를 원하시면 &lt;예, 동의합니다&gt; 버튼을 클릭해 주세요.</td>
</tr>
</table>
<table width="562" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height=20><img src="img/box_line.gif" width="562" height="2"></td>
</tr>
</table>
<table width="551" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<form name=frm method=post onsubmit="return frm_submit(document.frm);">
<input type="hidden" name="agree" value="동의함">
<input type="submit" name="btn_submit" value="예, 동의합니다 ">
</form>
</td>
</tr>
</table>
</td>
<td width="3"><img src="img/box_right.gif" width="3" height="340"></td>
</tr>
<tr>
<td colspan="3"><img src="img/box_bottom.gif" width="587" height="3"></td>
</tr>
</table>
<script> <script>
function frm_submit(f) function frm_submit(f)
{ {
f.action = "./install_config.php"; if (!f.agree.checked) {
f.submit(); alert("라이센스 내용에 동의하셔야 설치가 가능합니다.");
return false;
}
return true;
} }
document.frm.btn_submit.focus();
</script> </script>
</body> </body>

View File

@ -1,26 +1,29 @@
<? <?
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가 if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
$data_path = '../'.G4_DATA_DIR;
// 파일이 존재한다면 설치할 수 없다. // 파일이 존재한다면 설치할 수 없다.
if (file_exists($g4['dbconfig'])) { $dbconfig_file = $data_path.'/'.G4_DBCONFIG_FILE;
echo '<meta http-equiv="content-type" content="text/html; charset='.$g4['charset'].'">'; if (file_exists($dbconfig_file)) {
echo '<p>프로그램이 이미 설치되어 있습니다.<br />새로 설치하시려면 dbconfig 파일을 삭제후 설치하시기 바랍니다.</p>'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '<p>프로그램이 이미 설치되어 있습니다.<br />새로 설치하시려면 '.$dbconfig_file.' 파일을 삭제후 설치하시기 바랍니다.</p>';
exit; exit;
} }
// data 디렉토리가 있는가? // data 디렉토리가 있는가?
if (!is_dir('../data')) if (!is_dir($data_path))
{ {
echo '<meta http-equiv="content-type" content="text/html; charset='.$g4['charset'].'">'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">';
echo '<p>루트 디렉토리에 아래로 data 디렉토리를 생성하여 주십시오.<br />(common.php 파일이 있는곳이 루트 디렉토리 입니다.)<br /><br />$> mkdir data<br /><br />위 명령 실행후 다시 설치하여 주십시오.</p>'; echo '<p>루트 디렉토리에 아래로 '.G4_DATA_DIR.' 디렉토리를 생성하여 주십시오.<br />(common.php 파일이 있는곳이 루트 디렉토리 입니다.)<br /><br />$> mkdir '.G4_DATA_DIR.'<br /><br />위 명령 실행후 다시 설치하여 주십시오.</p>';
exit; exit;
} }
// data 디렉토리에 파일 생성 가능한지 검사. // data 디렉토리에 파일 생성 가능한지 검사.
if (!(is_readable('../data') && is_writeable('../data') && is_executable('../data'))) if (!(is_readable($data_path) && is_writeable($data_path) && is_executable($data_path)))
{ {
echo '<meta http-equiv="content-type" content="text/html; charset='.$g4['charset'].'">'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo '<p>data 디렉토리의 퍼미션을 707로 변경하여 주십시오.<br /><br />$> chmod 707 data 또는 chmod uo+rwx data<br /><br />위 명령 실행후 다시 설치하여 주십시오.</p>'; echo '<p>'.G4_DATA_DIR.' 디렉토리의 퍼미션을 707로 변경하여 주십시오.<br /><br />$> chmod 707 '.G4_DATA_DIR.' 또는 chmod uo+rwx '.G4_DATA_DIR.'<br /><br />위 명령 실행후 다시 설치하여 주십시오.</p>';
exit; exit;
} }
?> ?>

View File

@ -2,191 +2,144 @@
include_once ('../config.php'); include_once ('../config.php');
include_once ('./install.inc.php'); include_once ('./install.inc.php');
$gmnow = gmdate("D, d M Y H:i:s").' GMT'; $gmnow = gmdate('D, d M Y H:i:s').' GMT';
header("Expires: 0"); // rfc2616 - Section 14.21 header('Expires: 0'); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow); header('Last-Modified: ' . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1 header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0 header('Pragma: no-cache'); // HTTP/1.0
if ($_POST['agree'] != '동의함') { if ($_POST['agree'] != '동의함') {
echo '<meta http-equiv="content-type" content="text/html; charset='.$g4['charset'].'">'; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo <<<HEREDOC echo '<div>라이센스(License) 내용에 동의하셔야 설치를 계속하실 수 있습니다.</div>'.PHP_EOL;
<script> echo '<div><a href="./">뒤로가기</a></div>'.PHP_EOL;
alert('라이센스(License) 내용에 동의하셔야 설치를 계속하실 수 있습니다.');
history.back();
</script>
HEREDOC;
exit; exit;
} }
?> ?>
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=<?=$g4['charset']?>"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>그누보드4 설치 (2/3) - 설정</title> <title>그누보드4 설치 (2/3) - 설정</title>
<style type="text/css">
.body {
font-family: 굴림;
font-size: 12px;
}
.box {
font-family:굴림;
background-color: #D6D3CE;
font-size: 12px;
}
</style>
</head> </head>
<body>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <form id="frm_install" method="post" action="./install_db.php" onsubmit="return frm_install_submit(this)">
<div align="center"> <table border>
<p>&nbsp;</p> <caption>MySQL 정보입력</caption>
<p>&nbsp;</p> <tr>
<p>&nbsp;</p> <td width=100>Host</td>
<p>&nbsp;</p> <td width=200>
<table width="587" border="0" cellspacing="0" cellpadding="0"> <input name="mysql_host" type="text" value="localhost">
<form name=frm method=post action="javascript:frm_submit(document.frm)" autocomplete="off"> </td>
<tr> </tr>
<td colspan="3"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="587" height="22"> <tr>
<param name="movie" value="img/top.swf"> <td>User</td>
<param name="quality" value="high"> <td>
<embed src="img/top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="587" height="22"></embed></object></td> <input name="mysql_user" type="text">
</tr> </td>
<tr> </tr>
<td width="3"><img src="img/box_left.gif" width="3" height="340"></td> <tr>
<td width="581" valign="top" bgcolor="#FCFCFC"><table width="581" border="0" cellspacing="0" cellpadding="0"> <td>Password</td>
<tr> <td>
<td><img src="img/box_title.gif" width="581" height="56"></td> <input name="mysql_pass" type="text">
</tr> </td>
</table> </tr>
<br> <tr>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0" class="body"> <td>DB</td>
<tr> <td>
<td width="270" height="16"><strong>MySQL 정보입력 </strong><br> <input name="mysql_db" type="text">
<br> </td>
<table width="270" border="0" cellpadding="0" cellspacing="0" class="body"> </tr>
<tr> <tr>
<td width="80" align="right" height=30>Host :&nbsp;</td> <td>Port</td>
<td><input name="mysql_host" type="text" class="box" value="localhost"></td> <td>
</tr> <input name="mysql_port" type="text" value="3306">
<tr> <br>가능한 변경하지 마십시오.
<td width="80" align="right" height=30>User :&nbsp;</td> </td>
<td><input name="mysql_user" type="text" class="box"></td> </tr>
</tr> <tr>
<tr> <td>TABLE명 접두사</td>
<td width="80" align="right" height=30>Password :&nbsp;</td> <td>
<td><input name="mysql_pass" type="text" class="box"></td> <input name="table_prefix" type="text" value="g4s_">
</tr> <br>가능한 변경하지 마십시오.
<tr> </td>
<td width="80" align="right" height=30>DB :&nbsp;</td> </tr>
<td><input name="mysql_db" type="text" class="box"></td> </table>
</tr> <br>
</table></td>
<td><strong>최고관리자 정보입력</strong> <br> <table border>
<br> <caption>최고관리자 정보입력</caption>
<table width="270" border="0" cellpadding="0" cellspacing="0" class="body"> <tr>
<tr> <td width=100>회원 ID</td>
<td width="80" align="right" height=30>ID :&nbsp;</td> <td width=200>
<td><input name="admin_id" type="text" class="box" value="admin" onkeypress="only_alpha();"></td> <input name="admin_id" type="text" value="admin">
</tr> </td>
<tr> </tr>
<td width="80" align="right" height=30>Password :&nbsp;</td> <tr>
<td><input name="admin_pass" type="text" class="box"></td> <td>패스워드</td>
</tr> <td>
<tr> <input name="admin_pass" type="text">
<td width="80" align="right" height=30>Name :&nbsp;</td> </td>
<td><input name="admin_name" type="text" class="box" value="최고관리자"></td> </tr>
</tr> <tr>
<tr> <td>이름</td>
<td width="80" align="right" height=30>E-mail :&nbsp;</td> <td>
<td><input name="admin_email" type="text" class="box" value="admin@domain"></td> <input name="admin_name" type="text" value="최고관리자">
</tr> </td>
</table> </td> </tr>
</tr> <tr>
</table> <td>E-mail</td>
<table width="562" border="0" align="center" cellpadding="0" cellspacing="0"> <td>
<tr> <input name="admin_email" type="text" value="admin@domain.com">
<td height=15><img src="img/box_line.gif" width="562" height="2"></td> </td>
</tr> </tr>
<tr> </table>
<td class=body align=right height=35><font color=crimson>이미 그누보드4가 존재한다면 DB 자료가 망실되므로 주의하십시오.</font></td>
</tr> <h4>이미 그누보드4가 존재한다면 DB 자료가 망실되므로 주의하십시오.</h4>
<tr>
<td height=15><img src="img/box_line.gif" width="562" height="2"></td> <input type="submit" value="다음">
</tr>
</table>
<br>
<table width="551" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<input type="submit" name="Submit2" value=" 다 음 ">
</td>
</tr>
</table></td>
<td width="3"><img src="img/box_right.gif" width="3" height="340"></td>
</tr>
<tr>
<td colspan="3"><img src="img/box_bottom.gif" width="587" height="3"></td>
</tr>
</form>
</table>
</div>
<script> <script>
<!-- function frm_install_submit(f)
function frm_submit(f)
{ {
if (f.mysql_host.value == '') if (f.mysql_host.value == '')
{ {
alert('MySQL Host 를 입력하십시오.'); f.mysql_host.focus(); return; alert('MySQL Host 를 입력하십시오.'); f.mysql_host.focus(); return false;
} }
else if (f.mysql_user.value == '') else if (f.mysql_user.value == '')
{ {
alert('MySQL User 를 입력하십시오.'); f.mysql_user.focus(); return; alert('MySQL User 를 입력하십시오.'); f.mysql_user.focus(); return false;
} }
else if (f.mysql_db.value == '') else if (f.mysql_db.value == '')
{ {
alert('MySQL DB 를 입력하십시오.'); f.mysql_db.focus(); return; alert('MySQL DB 를 입력하십시오.'); f.mysql_db.focus(); return false;
} }
else if (f.admin_id.value == '') else if (f.admin_id.value == '')
{ {
alert('최고관리자 ID 를 입력하십시오.'); f.admin_id.focus(); return; alert('최고관리자 ID 를 입력하십시오.'); f.admin_id.focus(); return false;
} }
else if (f.admin_pass.value == '') else if (f.admin_pass.value == '')
{ {
alert('최고관리자 패스워드를 입력하십시오.'); f.admin_pass.focus(); return; alert('최고관리자 패스워드를 입력하십시오.'); f.admin_pass.focus(); return false;
} }
else if (f.admin_name.value == '') else if (f.admin_name.value == '')
{ {
alert('최고관리자 이름을 입력하십시오.'); f.admin_name.focus(); return; alert('최고관리자 이름을 입력하십시오.'); f.admin_name.focus(); return false;
} }
else if (f.admin_email.value == '') else if (f.admin_email.value == '')
{ {
alert('최고관리자 E-mail 을 입력하십시오.'); f.admin_email.focus(); return; alert('최고관리자 E-mail 을 입력하십시오.'); f.admin_email.focus(); return false;
} }
if(/[^a-zA-Z]/g.test(f.admin_id.value)) { if(/^[a-z][a-z0-9]/i.test(f.admin_id.value) == false) {
alert('최고관리자 ID 가 영문자가 아닙니다.'); alert('최고관리자 회원 ID는 첫자는 반드시 영문자 그리고 영문자와 숫자로만 만드셔야 합니다.');
f.admin_id.focus(); f.admin_id.focus();
return false;
} }
f.action = './install_db.php';
f.submit();
return true; return true;
} }
// 영문자만 입력 가능
function only_alpha()
{
var c = event.keyCode;
if (!(c >= 65 && c <= 90 || c >= 97 && c <= 122)) {
event.returnValue = false;
}
}
document.frm.mysql_user.focus();
//-->
</script> </script>
</body> </body>

View File

@ -4,156 +4,59 @@ set_time_limit(0);
include_once ('../config.php'); include_once ('../config.php');
include_once ('./install.inc.php'); include_once ('./install.inc.php');
$gmnow = gmdate("D, d M Y H:i:s") . " GMT"; $gmnow = gmdate('D, d M Y H:i:s') . ' GMT';
header("Expires: 0"); // rfc2616 - Section 14.21 header('Expires: 0'); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow); header('Last-Modified: ' . $gmnow);
header("Cache-Control: no-store, no-cache, must-revalidate"); // HTTP/1.1 header('Cache-Control: no-store, no-cache, must-revalidate'); // HTTP/1.1
header("Cache-Control: pre-check=0, post-check=0, max-age=0"); // HTTP/1.1 header('Cache-Control: pre-check=0, post-check=0, max-age=0'); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0 header('Pragma: no-cache'); // HTTP/1.0
//print_r($_POST); exit;
$mysql_host = $_POST['mysql_host']; $mysql_host = $_POST['mysql_host'];
$mysql_user = $_POST['mysql_user']; $mysql_user = $_POST['mysql_user'];
$mysql_pass = $_POST['mysql_pass']; $mysql_pass = $_POST['mysql_pass'];
$mysql_db = $_POST['mysql_db']; $mysql_db = $_POST['mysql_db'];
$mysql_port = $_POST['mysql_port'];
$table_prefix= $_POST['table_prefix'];
$admin_id = $_POST['admin_id']; $admin_id = $_POST['admin_id'];
$admin_pass = $_POST['admin_pass']; $admin_pass = $_POST['admin_pass'];
$admin_name = $_POST['admin_name']; $admin_name = $_POST['admin_name'];
$admin_email = $_POST['admin_email']; $admin_email = $_POST['admin_email'];
if (strtolower($g4['charset']) == 'utf-8') @mysql_query("set names utf8"); @mysql_query('set names utf8');
else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query("set names euckr"); $dblink = @mysql_connect($mysql_host.':'.$mysql_port, $mysql_user, $mysql_pass);
$dblink = @mysql_connect($mysql_host, $mysql_user, $mysql_pass);
if (!$dblink) { if (!$dblink) {
echo "<meta http-equiv='content-type' content='text/html; charset={$g4['charset']}'>"; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo "<script language='JavaScript'>alert('MySQL Host, User, Password 를 확인해 주십시오.');history.back();</script>"; echo '<div>MySQL Host, User, Password 를 확인해 주십시오.</div>'.PHP_EOL;
echo '<div><a href="./install_config.php">뒤로가기</a></div>'.PHP_EOL;
exit; exit;
} }
if (strtolower($g4['charset']) == 'utf-8') @mysql_query("set names utf8"); @mysql_query('set names utf8');
else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query("set names euckr");
$select_db = @mysql_select_db($mysql_db, $dblink); $select_db = @mysql_select_db($mysql_db, $dblink);
if (!$select_db) { if (!$select_db) {
echo "<meta http-equiv='content-type' content='text/html; charset={$g4['charset']}'>"; echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo "<script language='JavaScript'>alert('MySQL DB 를 확인해 주십시오.');history.back();</script>"; echo '<div>MySQL DB 를 확인해 주십시오.</div>'.PHP_EOL;
echo '<div><a href="./install_config.php">뒤로가기</a></div>'.PHP_EOL;
exit; exit;
} }
?> ?>
<html> <html>
<head> <head>
<meta http-equiv="content-type" content="text/html; charset=<?=$g4['charset']?>"> <meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>그누보드4 설치 (3/3) - DB</title> <title>그누보드4 설치 (3/3) - DB</title>
<style type="text/css">
.body {
font-family: 굴림;
font-size: 12px;
}
.box {
background-color: #FCFCFC;
color:#B19265;
font-family:굴림;
font-size: 12px;
}
.nobox {
background-color: #FCFCFC;
border-style:none;
font-family:굴림;
font-size: 12px;
}
</style>
</head> </head>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <body>
<div align="center"> <div>그누보드4S 설치시작</div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<form name=frminstall2>
<tr>
<td colspan="3"><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="587" height="22">
<param name="movie" value="../install/img/top.swf">
<param name="quality" value="high">
<embed src="../install/img/top.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="587" height="22"></embed></object></td>
</tr>
<tr>
<td width="3"><img src="../install/img/box_left.gif" width="3" height="340"></td>
<td width="581" valign="top" bgcolor="#FCFCFC"><table width="581" border="0" cellspacing="0" cellpadding="0">
<tr>
<td><img src="../install/img/box_title.gif" width="581" height="56"></td>
</tr>
</table>
<br>
<table width="541" border="0" align="center" cellpadding="0" cellspacing="0" class="body">
<tr>
<td>설치를 시작합니다. <font color="#CC0000">설치중 작업을 중단하지 마십시오. </font></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><div align="left">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name="status_bar" type="text" class="box" size="76" readonly></div></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><table width="350" border="0" align="center" cellpadding="5" cellspacing="0" class="body">
<tr>
<td width="50"> </td>
<td width="300"><input type=text name=job1 class=nobox size=80 readonly></td>
</tr>
<tr>
<td width="50"> </td>
<td width="300"><input type=text name=job2 class=nobox size=80 readonly></td>
</tr>
<tr>
<td width="50"> </td>
<td width="300"><input type=text name=job3 class=nobox size=80 readonly></td>
</tr>
<tr>
<td width="50">
<div align="center"></div></td>
<td width="300"><input type=text name=job4 class=nobox size=80 readonly></td>
</tr>
</table></td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
<tr>
<td><input type=text name=job5 class=nobox size=90 readonly></td>
</tr>
</table>
<table width="562" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height=20><img src="../install/img/box_line.gif" width="562" height="2"></td>
</tr>
</table>
<table width="551" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="right">
<input type="button" name="btn_next" disabled value="메인화면" onclick="location.href='../';">
</td>
</tr>
</table></td>
<td width="3"><img src="../install/img/box_right.gif" width="3" height="340"></td>
</tr>
<tr>
<td colspan="3"><img src="../install/img/box_bottom.gif" width="587" height="3"></td>
</tr>
</form>
</table>
</div>
<? <?
flush(); usleep(50000);
// 테이블 생성 ------------------------------------ // 테이블 생성 ------------------------------------
$file = implode('', file('./sql_gnuboard4.sql')); $file = implode('', file('./gnuboard4s.sql'));
eval("\$file = \"$file\";"); eval("\$file = \"$file\";");
$file = preg_replace('/^--.*$/m', '', $file);
$file = preg_replace('/`g4s_([^`]+`)/', '`'.$table_prefix.'$1', $file);
$f = explode(';', $file); $f = explode(';', $file);
for ($i=0; $i<count($f); $i++) { for ($i=0; $i<count($f); $i++) {
if (trim($f[$i]) == '') continue; if (trim($f[$i]) == '') continue;
@ -161,18 +64,7 @@ for ($i=0; $i<count($f); $i++) {
} }
// 테이블 생성 ------------------------------------ // 테이블 생성 ------------------------------------
echo "<script>document.frminstall2.job1.value='전체 테이블 생성중';</script>"; echo '<div>전체 테이블 생성 완료</div>';
flush(); usleep(50000);
for ($i=0; $i<45; $i++)
{
echo "<script language='JavaScript'>document.frminstall2.status_bar.value += '■';</script>\n";
flush();
usleep(500);
}
echo "<script>document.frminstall2.job1.value='전체 테이블 생성 완료';</script>";
flush(); usleep(50000);
$read_point = -1; $read_point = -1;
$write_point = 5; $write_point = 5;
@ -181,7 +73,7 @@ $download_point = -20;
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
// config 테이블 설정 // config 테이블 설정
$sql = " insert into {$g4['config_table']} $sql = " insert into `{$table_prefix}config`
set cf_title = '그누보드4', set cf_title = '그누보드4',
cf_admin = '$admin_id', cf_admin = '$admin_id',
cf_use_point = '1', cf_use_point = '1',
@ -236,7 +128,7 @@ $sql = " insert into {$g4['config_table']}
mysql_query($sql) or die(mysql_error() . "<p>" . $sql); mysql_query($sql) or die(mysql_error() . "<p>" . $sql);
// 운영자 회원가입 // 운영자 회원가입
$sql = " insert into {$g4['member_table']} $sql = " insert into `{$table_prefix}member`
set mb_id = '$admin_id', set mb_id = '$admin_id',
mb_password = PASSWORD('$admin_pass'), mb_password = PASSWORD('$admin_pass'),
mb_name = '$admin_name', mb_name = '$admin_name',
@ -247,53 +139,72 @@ $sql = " insert into {$g4['member_table']}
mb_open = '1', mb_open = '1',
mb_email_certify = '".G4_TIME_YMDHIS."', mb_email_certify = '".G4_TIME_YMDHIS."',
mb_datetime = '".G4_TIME_YMDHIS."', mb_datetime = '".G4_TIME_YMDHIS."',
mb_ip = '$_SERVER[REMOTE_ADDR]' mb_ip = '{$_SERVER['REMOTE_ADDR']}'
"; ";
@mysql_query($sql); @mysql_query($sql);
echo "<script>document.frminstall2.job2.value='DB설정 완료';</script>"; echo '<div>DB설정 완료</div>';
flush(); usleep(50000);
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
// DB 설정 파일 생성
$file = '../data/dbconfig.php';
$f = @fopen($file, "w");
fwrite($f, "<?php\n");
fwrite($f, "if (!defined('_GNUBOARD_')) exit;\n");
fwrite($f, "define('G4_MYSQL_HOST', '$mysql_host');\n");
fwrite($f, "define('G4_MYSQL_USER', '$mysql_user');\n");
fwrite($f, "define('G4_MYSQL_PASSWORD', '$mysql_pass');\n");
fwrite($f, "define('G4_MYSQL_DB', '$mysql_db');\n");
fwrite($f, "?>");
fclose($f);
@chmod($file, 0606);
echo "<script>document.frminstall2.job3.value='DB설정 파일 생성 완료';</script>";
flush(); usleep(50000);
// 디렉토리 생성 // 디렉토리 생성
$dir_arr = array ( $dir_arr = array (
"../data", $data_path.'/cache',
"../data/cache", $data_path.'/editor',
"../data/cache/captcha", $data_path.'/file',
"../data/cache/latest", $data_path.'/log',
"../data/editor", $data_path.'/member',
"../data/file", $data_path.'/session'
"../data/log",
"../data/member",
"../data/session"
); );
for ($i=0; $i<count($dir_arr); $i++)
{ for ($i=0; $i<count($dir_arr); $i++) {
@mkdir($dir_arr[$i], 0707); @mkdir($dir_arr[$i], 0707);
@chmod($dir_arr[$i], 0707); @chmod($dir_arr[$i], 0707);
} }
echo '<div>데이터 디렉토리 생성 완료</div>';
//-------------------------------------------------------------------------------------------------
// DB 설정 파일 생성
$file = '../'.G4_DATA_DIR.'/'.G4_DBCONFIG_FILE;
$f = @fopen($file, 'w');
fwrite($f, "<?php\n");
fwrite($f, "if (!defined('_GNUBOARD_')) exit;\n");
fwrite($f, "define('G4_MYSQL_HOST', '{$mysql_host}:{$mysql_port}');\n");
fwrite($f, "define('G4_MYSQL_USER', '{$mysql_user}');\n");
fwrite($f, "define('G4_MYSQL_PASSWORD', '{$mysql_pass}');\n");
fwrite($f, "define('G4_MYSQL_DB', '{$mysql_db}');\n\n");
fwrite($f, "define('G4_TABLE_PREFIX', '{$table_prefix}');\n\n");
fwrite($f, "\$g4['write_prefix'] = G4_TABLE_PREFIX.'write_'; // 게시판 테이블명 접두사\n\n");
fwrite($f, "\$g4['auth_table'] = G4_TABLE_PREFIX.'auth'; // 관리권한 설정 테이블\n");
fwrite($f, "\$g4['config_table'] = G4_TABLE_PREFIX.'config'; // 기본환경 설정 테이블\n");
fwrite($f, "\$g4['group_table'] = G4_TABLE_PREFIX.'group'; // 게시판 그룹 테이블\n");
fwrite($f, "\$g4['group_member_table'] = G4_TABLE_PREFIX.'group_member'; // 게시판 그룹+회원 테이블\n");
fwrite($f, "\$g4['board_table'] = G4_TABLE_PREFIX.'board'; // 게시판 설정 테이블\n");
fwrite($f, "\$g4['board_file_table'] = G4_TABLE_PREFIX.'board_file'; // 게시판 첨부파일 테이블\n");
fwrite($f, "\$g4['board_good_table'] = G4_TABLE_PREFIX.'board_good'; // 게시물 추천,비추천 테이블\n");
fwrite($f, "\$g4['board_new_table'] = G4_TABLE_PREFIX.'board_new'; // 게시판 새글 테이블\n");
fwrite($f, "\$g4['login_table'] = G4_TABLE_PREFIX.'login'; // 로그인 테이블 (접속자수)\n");
fwrite($f, "\$g4['mail_table'] = G4_TABLE_PREFIX.'mail'; // 회원메일 테이블\n");
fwrite($f, "\$g4['member_table'] = G4_TABLE_PREFIX.'member'; // 회원 테이블\n");
fwrite($f, "\$g4['memo_table'] = G4_TABLE_PREFIX.'memo'; // 메모 테이블\n");
fwrite($f, "\$g4['poll_table'] = G4_TABLE_PREFIX.'poll'; // 투표 테이블\n");
fwrite($f, "\$g4['poll_etc_table'] = G4_TABLE_PREFIX.'poll_etc'; // 투표 기타의견 테이블\n");
fwrite($f, "\$g4['point_table'] = G4_TABLE_PREFIX.'point'; // 포인트 테이블\n");
fwrite($f, "\$g4['popular_table'] = G4_TABLE_PREFIX.'popular'; // 인기검색어 테이블\n");
fwrite($f, "\$g4['scrap_table'] = G4_TABLE_PREFIX.'scrap'; // 게시글 스크랩 테이블\n");
fwrite($f, "\$g4['visit_table'] = G4_TABLE_PREFIX.'visit'; // 방문자 테이블\n");
fwrite($f, "\$g4['visit_sum_table'] = G4_TABLE_PREFIX.'visit_sum'; // 방문자 합계 테이블\n");
fwrite($f, "\$g4['uniqid_table'] = G4_TABLE_PREFIX.'uniqid'; // 유니크한 값을 만드는 테이블\n");
fwrite($f, "?>");
fclose($f);
@chmod($file, 0606);
echo "<div>DB설정 파일 생성 완료 ($file)";
// data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl 파일을 실행할수 없게함. // data 디렉토리 및 하위 디렉토리에서는 .htaccess .htpasswd .php .phtml .html .htm .inc .cgi .pl 파일을 실행할수 없게함.
$f = fopen("../data/.htaccess", "w"); $f = fopen($data_path.'/.htaccess', 'w');
$str = <<<EOD $str = <<<EOD
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])"> <FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])">
Order allow,deny Order allow,deny
@ -304,17 +215,10 @@ fwrite($f, $str);
fclose($f); fclose($f);
//------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------
echo "<script language='JavaScript'>document.frminstall2.status_bar.value += '■';</script>\n"; echo '<div>필요한 DB Table, File, 디렉토리 생성을 모두 완료 하였습니다.</div>'.PHP_EOL;
flush(); echo '<div>메인화면에서 운영자 로그인을 한 후 운영자 화면으로 이동하여 환경설정을 변경해 주십시오.</div>';
sleep(1); echo '<div><a href="../index.php">메인화면으로 가기</a></div>';
echo "<script>document.frminstall2.job4.value='필요한 Table, File, 디렉토리 생성을 모두 완료 하였습니다.';</script>";
echo "<script>document.frminstall2.job5.value='* 메인화면에서 운영자 로그인을 한 후 운영자 화면으로 이동하여 환경설정을 변경해 주십시오.';</script>";
flush(); usleep(50000);
?> ?>
<script>document.frminstall2.btn_next.disabled = false;</script>
<script>document.frminstall2.btn_next.focus();</script>
</body> </body>
</html> </html>

View File

@ -1,2 +0,0 @@
chmod 707 .
chmod -R 707 data