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)
번역문 아래에 원문이 있습니다.
주의 )
1. 이 라이센스는 그누보드4에만 적용하며 플러그인 프로그램 또는 스킨등에는 개별적인 라이센스를 적용할 수 있습니다.
2. 번역문과 원문의 내용상 차이가 있는 경우 원문의 내용을 따릅니다.
3. 법적인 분쟁이 발생한 경우 저작자의 회사 소재지를 관할하는 관할법원에서 분쟁을 해결합니다.
4. 이 라이센스 파일 및 내용은 저작자를 제외한 어느 누구도 추가, 수정, 삭제할 수 없습니다.
1. 번역문과 원문의 내용상 차이가 있는 경우 원문의 내용을 우선으로 따릅니다.
2. 법적인 분쟁이 발생한 경우 저작자의 회사 소재지를 관할하는 관할법원에서 분쟁을 해결합니다.
3. 이 라이센스 파일 및 내용은 저작자를 제외한 어느 누구도 추가, 수정, 삭제할 수 없습니다.
----- GPL 번역문 --------------------------------------------------------

View File

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

View File

@ -3,7 +3,7 @@ $sub_menu = "100800";
include_once("./_common.php");
if ($is_admin != "super")
alert("최고관리자만 접근 가능합니다.", $g4[path]);
alert("최고관리자만 접근 가능합니다.", G4_URL);
$g4['title'] = "세션파일 일괄삭제";
include_once("./admin.head.php");
@ -21,31 +21,31 @@ include_once("./admin.head.php");
include_once("./admin.tail.php");
flush();
if (!$dir=@opendir($g4['session_path'])) {
echo "세션 디렉토리를 열지못했습니다.";
}
if (!$dir=@opendir(G4_DATA_PATH.'/session')) {
echo "세션 디렉토리를 열지못했습니다.";
}
$cnt=0;
while($file=readdir($dir)) {
while($file=readdir($dir)) {
if (!strstr($file,'sess_')) continue;
if (strpos($file,'sess_')!=0) continue;
if (!strstr($file,'sess_')) 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)) {
continue;
}
if (!$atime=@fileatime($session_file)) {
continue;
}
if (time() > $atime + (3600 * 6)) { // 지난시간을 초로 계산해서 적어주시면 됩니다. default : 6시간전
$cnt++;
$return = unlink($session_file);
$return = unlink($session_file);
echo "<script>document.getElementById('ct').innerHTML += '{$session_file}<br/>';</script>\n";
flush();
if ($cnt%10==0)
echo "<script>document.getElementById('ct').innerHTML = '';</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();
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);
$this->make_wav($this->captcha_filename.'.wav');
@ -144,7 +144,7 @@ class gcaptcha
$wavs[] = $file;
}
$wav_filepath = G4_DATA_PATH.'/cache/'.$captcha_filename;
$wav_filepath = G4_DATA_PATH.'/cache/gcaptcha-'.$captcha_filename;
$fp = fopen($wav_filepath, 'w+');
fwrite($fp, join_wavs($wavs));
fclose($fp);
@ -172,8 +172,8 @@ function captcha_html($class="captcha")
$obj = new gcaptcha();
$obj->run();
$png_file_url = G4_DATA_URL.'/cache/'.$obj->captcha_filename.'.png';
$wav_file_url = G4_DATA_URL.'/cache/'.$obj->captcha_filename.'.wav';
$png_file_url = G4_DATA_URL.'/cache/gcaptcha-'.$obj->captcha_filename.'.png';
$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 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;
$tmp_file = $_FILES['bf_file']['tmp_name'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filesize = $_FILES['bf_file']['size'][$i];
$filename = $_FILES['bf_file']['name'][$i];
$filename = preg_replace('/(<|>|=)/', '', $filename);
// 서버에 설정된 값보다 큰파일을 업로드 한다면
if ($filename) {

View File

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

View File

@ -7,11 +7,11 @@
define('_GNUBOARD_', true);
if (PHP_VERSION >= '5.3.0') {
//if (function_exists("date_default_timezone_set")) date_default_timezone_set("Asia/Seoul");
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");
}
//==============================================================================
//==============================================================================
// 경로 상수
//------------------------------------------------------------------------------
@ -31,6 +31,8 @@ www.sir.co.kr 과 sir.co.kr 도메인은 서로 다른 도메인으로 인식합
*/
define('G4_COOKIE_DOMAIN', '');
define('G4_DBCONFIG_FILE', 'dbconfig.php');
define('G4_ADMIN_DIR', 'adm');
define('G4_BBS_DIR', 'bbs');
define('G4_CSS_DIR', 'css');
@ -47,8 +49,18 @@ define('G4_CKEDITOR_DIR', 'ckeditor');
if (G4_DOMAIN) {
define('G4_URL', G4_DOMAIN);
} 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_BBS_URL', G4_URL.'/'.G4_BBS_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 의 라이브러리 경로
// PATH 는 서버상에서의 절대경로
define('G4_PATH', $g4_path['path']);
define('G4_ADMIN_PATH', G4_PATH.'/'.G4_ADMIN_DIR);
define('G4_BBS_PATH', G4_PATH.'/'.G4_BBS_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 `$g4[auth_table]`;
CREATE TABLE `$g4[auth_table]` (
DROP TABLE IF EXISTS `g4s_auth`;
CREATE TABLE IF NOT EXISTS `g4s_auth` (
`mb_id` varchar(255) NOT NULL default '',
`au_menu` varchar(20) NOT NULL default '',
`au_auth` set('r','w','d') NOT NULL default '',
PRIMARY KEY (`mb_id`,`au_menu`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board`
--
DROP TABLE IF EXISTS `$g4[board_table]`;
CREATE TABLE `$g4[board_table]` (
DROP TABLE IF EXISTS `g4s_board`;
CREATE TABLE IF NOT EXISTS `g4s_board` (
`bo_table` varchar(20) NOT NULL default '',
`gr_id` 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_10` varchar(255) NOT NULL default '',
PRIMARY KEY (`bo_table`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_board_file`
--
DROP TABLE IF EXISTS `$g4[board_table]_file`;
CREATE TABLE `$g4[board_table]_file` (
DROP TABLE IF EXISTS `g4s_board_file`;
CREATE TABLE IF NOT EXISTS `g4s_board_file` (
`bo_table` varchar(20) NOT NULL default '',
`wr_id` int(11) NOT NULL default '0',
`bf_no` int(11) NOT NULL default '0',
`bf_source` 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_filesize` 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_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
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 `$g4[board_table]_good`;
CREATE TABLE `$g4[board_table]_good` (
DROP TABLE IF EXISTS `g4s_board_good`;
CREATE TABLE IF NOT EXISTS `g4s_board_good` (
`bg_id` int(11) NOT NULL auto_increment,
`bo_table` varchar(20) NOT NULL default '',
`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',
PRIMARY KEY (`bg_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 `$g4[board_table]_new`;
CREATE TABLE `$g4[board_table]_new` (
DROP TABLE IF EXISTS `g4s_board_new`;
CREATE TABLE IF NOT EXISTS `g4s_board_new` (
`bn_id` int(11) NOT NULL auto_increment,
`bo_table` varchar(20) NOT NULL default '',
`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 '',
PRIMARY KEY (`bn_id`),
KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_config`
--
DROP TABLE IF EXISTS `$g4[config_table]`;
CREATE TABLE `$g4[config_table]` (
DROP TABLE IF EXISTS `g4s_config`;
CREATE TABLE IF NOT EXISTS `g4s_config` (
`cf_title` varchar(255) NOT NULL default '',
`cf_admin` varchar(255) NOT NULL default '',
`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_9` 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 `$g4[group_table]`;
CREATE TABLE `$g4[group_table]` (
DROP TABLE IF EXISTS `g4s_group`;
CREATE TABLE IF NOT EXISTS `g4s_group` (
`gr_id` varchar(10) NOT NULL default '',
`gr_subject` 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_10` varchar(255) NOT NULL default '',
PRIMARY KEY (`gr_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_group_member`
--
DROP TABLE IF EXISTS `$g4[group_member_table]`;
CREATE TABLE `$g4[group_member_table]` (
DROP TABLE IF EXISTS `g4s_group_member`;
CREATE TABLE IF NOT EXISTS `g4s_group_member` (
`gm_id` int(11) NOT NULL auto_increment,
`gr_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`),
KEY `gr_id` (`gr_id`),
KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_login`
--
DROP TABLE IF EXISTS `$g4[login_table]`;
CREATE TABLE `$g4[login_table]` (
DROP TABLE IF EXISTS `g4s_login`;
CREATE TABLE IF NOT EXISTS `g4s_login` (
`lo_ip` 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_location` text NOT NULL,
`lo_url` text NOT NULL,
PRIMARY KEY (`lo_ip`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_mail`
--
DROP TABLE IF EXISTS `$g4[mail_table]`;
CREATE TABLE `$g4[mail_table]` (
DROP TABLE IF EXISTS `g4s_mail`;
CREATE TABLE IF NOT EXISTS `g4s_mail` (
`ma_id` int(11) NOT NULL auto_increment,
`ma_subject` varchar(255) NOT NULL default '',
`ma_content` mediumtext NOT NULL,
@ -386,17 +360,16 @@ CREATE TABLE `$g4[mail_table]` (
`ma_ip` varchar(255) NOT NULL default '',
`ma_last_option` text NOT NULL,
PRIMARY KEY (`ma_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_member`
--
DROP TABLE IF EXISTS `$g4[member_table]`;
CREATE TABLE `$g4[member_table]` (
DROP TABLE IF EXISTS `g4s_member`;
CREATE TABLE IF NOT EXISTS `g4s_member` (
`mb_no` int(11) NOT NULL auto_increment,
`mb_id` 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`),
KEY `mb_today_login` (`mb_today_login`),
KEY `mb_datetime` (`mb_datetime`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_memo`
--
DROP TABLE IF EXISTS `$g4[memo_table]`;
CREATE TABLE `$g4[memo_table]` (
DROP TABLE IF EXISTS `g4s_memo`;
CREATE TABLE IF NOT EXISTS `g4s_memo` (
`me_id` int(11) NOT NULL default '0',
`me_recv_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_memo` text NOT NULL,
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,
`mb_id` varchar(20) NOT NULL default '',
`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 '',
PRIMARY KEY (`po_id`),
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 `$g4[poll_table]`;
CREATE TABLE `$g4[poll_table]` (
DROP TABLE IF EXISTS `g4s_poll`;
CREATE TABLE IF NOT EXISTS `g4s_poll` (
`po_id` int(11) NOT NULL auto_increment,
`po_subject` 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,
`mb_ids` text NOT NULL,
PRIMARY KEY (`po_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_poll_etc`
--
DROP TABLE IF EXISTS `$g4[poll_etc_table]`;
CREATE TABLE `$g4[poll_etc_table]` (
DROP TABLE IF EXISTS `g4s_poll_etc`;
CREATE TABLE IF NOT EXISTS `g4s_poll_etc` (
`pc_id` int(11) NOT NULL default '0',
`po_id` int(11) NOT NULL default '0',
`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_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
PRIMARY KEY (`pc_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `g4s_popular`
--
DROP TABLE IF EXISTS `$g4[popular_table]`;
CREATE TABLE `$g4[popular_table]` (
DROP TABLE IF EXISTS `g4s_popular`;
CREATE TABLE IF NOT EXISTS `g4s_popular` (
`pp_id` int(11) NOT NULL auto_increment,
`pp_word` varchar(50) NOT NULL default '',
`pp_date` date NOT NULL default '0000-00-00',
`pp_ip` varchar(50) NOT NULL default '',
PRIMARY KEY (`pp_id`),
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 `$g4[scrap_table]`;
CREATE TABLE `$g4[scrap_table]` (
DROP TABLE IF EXISTS `g4s_scrap`;
CREATE TABLE IF NOT EXISTS `g4s_scrap` (
`ms_id` int(11) NOT NULL auto_increment,
`mb_id` varchar(255) 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',
PRIMARY KEY (`ms_id`),
KEY `mb_id` (`mb_id`)
) DEFAULT CHARSET=utf8;
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Table structure for table `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]` (
DROP TABLE IF EXISTS `g4s_visit`;
CREATE TABLE IF NOT EXISTS `g4s_visit` (
`vi_id` int(11) NOT NULL default '0',
`vi_ip` varchar(255) NOT NULL default '',
`vi_date` date NOT NULL default '0000-00-00',
@ -616,31 +648,82 @@ CREATE TABLE `$g4[visit_table]` (
PRIMARY KEY (`vi_id`),
UNIQUE KEY `index1` (`vi_ip`,`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 `$g4[visit_sum_table]`;
CREATE TABLE `$g4[visit_sum_table]` (
DROP TABLE IF EXISTS `g4s_visit_sum`;
CREATE TABLE IF NOT EXISTS `g4s_visit_sum` (
`vs_date` date NOT NULL default '0000-00-00',
`vs_count` int(11) NOT NULL default '0',
PRIMARY KEY (`vs_date`),
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>
<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>
<style type="text/css">
<!--
.body {
font-family: 굴림;
font-size: 12px;
}
.box {
background-color: #D6D3CE;
font-family:굴림;
font-size: 12px;
}
-->
</style>
</head>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<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'));?>
<body>
<h4>라이센스(License) 내용을 반드시 확인하십시오.</h4>
<textarea name="textarea" style='width:100%;height:300px;' readonly>
<?=implode('', file('../LICENSE.txt'));?>
</textarea>
</td>
</tr>
<tr>
<td height=10></td>
</tr>
<tr>
<td>설치를 원하시면 위 내용에 동의하셔야 합니다.<br>
동의를 원하시면 &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>
<form method="post" action="./install_config.php" onsubmit="return frm_submit(this);">
<div>
<input type="checkbox" id="agree" name="agree" value="동의함">
<label for="agree">설치를 원하시면 위 내용에 동의하셔야 합니다.</label><br>
동의에 선택하신 후 &lt;다음&gt; 버튼을 클릭해 주세요.
</div>
<input type="submit" value="다음">
</form>
<script>
function frm_submit(f)
{
f.action = "./install_config.php";
f.submit();
if (!f.agree.checked) {
alert("라이센스 내용에 동의하셔야 설치가 가능합니다.");
return false;
}
return true;
}
document.frm.btn_submit.focus();
</script>
</body>

View File

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

View File

@ -2,191 +2,144 @@
include_once ('../config.php');
include_once ('./install.inc.php');
$gmnow = gmdate("D, d M Y H:i:s").' GMT';
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
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("Pragma: no-cache"); // HTTP/1.0
$gmnow = gmdate('D, d M Y H:i:s').' GMT';
header('Expires: 0'); // rfc2616 - Section 14.21
header('Last-Modified: ' . $gmnow);
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('Pragma: no-cache'); // HTTP/1.0
if ($_POST['agree'] != '동의함') {
echo '<meta http-equiv="content-type" content="text/html; charset='.$g4['charset'].'">';
echo <<<HEREDOC
<script>
alert('라이센스(License) 내용에 동의하셔야 설치를 계속하실 수 있습니다.');
history.back();
</script>
HEREDOC;
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo '<div>라이센스(License) 내용에 동의하셔야 설치를 계속하실 수 있습니다.</div>'.PHP_EOL;
echo '<div><a href="./">뒤로가기</a></div>'.PHP_EOL;
exit;
}
?>
<html>
<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>
<style type="text/css">
.body {
font-family: 굴림;
font-size: 12px;
}
.box {
font-family:굴림;
background-color: #D6D3CE;
font-size: 12px;
}
</style>
</head>
<body>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<table width="587" border="0" cellspacing="0" cellpadding="0">
<form name=frm method=post action="javascript:frm_submit(document.frm)" autocomplete="off">
<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>
<br>
<table width="540" border="0" align="center" cellpadding="0" cellspacing="0" class="body">
<tr>
<td width="270" height="16"><strong>MySQL 정보입력 </strong><br>
<br>
<table width="270" border="0" cellpadding="0" cellspacing="0" class="body">
<tr>
<td width="80" align="right" height=30>Host :&nbsp;</td>
<td><input name="mysql_host" type="text" class="box" value="localhost"></td>
</tr>
<tr>
<td width="80" align="right" height=30>User :&nbsp;</td>
<td><input name="mysql_user" type="text" class="box"></td>
</tr>
<tr>
<td width="80" align="right" height=30>Password :&nbsp;</td>
<td><input name="mysql_pass" type="text" class="box"></td>
</tr>
<tr>
<td width="80" align="right" height=30>DB :&nbsp;</td>
<td><input name="mysql_db" type="text" class="box"></td>
</tr>
</table></td>
<td><strong>최고관리자 정보입력</strong> <br>
<br>
<table width="270" border="0" cellpadding="0" cellspacing="0" class="body">
<tr>
<td width="80" align="right" height=30>ID :&nbsp;</td>
<td><input name="admin_id" type="text" class="box" value="admin" onkeypress="only_alpha();"></td>
</tr>
<tr>
<td width="80" align="right" height=30>Password :&nbsp;</td>
<td><input name="admin_pass" type="text" class="box"></td>
</tr>
<tr>
<td width="80" align="right" height=30>Name :&nbsp;</td>
<td><input name="admin_name" type="text" class="box" value="최고관리자"></td>
</tr>
<tr>
<td width="80" align="right" height=30>E-mail :&nbsp;</td>
<td><input name="admin_email" type="text" class="box" value="admin@domain"></td>
</tr>
</table> </td>
</tr>
</table>
<table width="562" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td height=15><img src="img/box_line.gif" width="562" height="2"></td>
</tr>
<tr>
<td class=body align=right height=35><font color=crimson>이미 그누보드4가 존재한다면 DB 자료가 망실되므로 주의하십시오.</font></td>
</tr>
<tr>
<td height=15><img src="img/box_line.gif" width="562" height="2"></td>
</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>
<form id="frm_install" method="post" action="./install_db.php" onsubmit="return frm_install_submit(this)">
<table border>
<caption>MySQL 정보입력</caption>
<tr>
<td width=100>Host</td>
<td width=200>
<input name="mysql_host" type="text" value="localhost">
</td>
</tr>
<tr>
<td>User</td>
<td>
<input name="mysql_user" type="text">
</td>
</tr>
<tr>
<td>Password</td>
<td>
<input name="mysql_pass" type="text">
</td>
</tr>
<tr>
<td>DB</td>
<td>
<input name="mysql_db" type="text">
</td>
</tr>
<tr>
<td>Port</td>
<td>
<input name="mysql_port" type="text" value="3306">
<br>가능한 변경하지 마십시오.
</td>
</tr>
<tr>
<td>TABLE명 접두사</td>
<td>
<input name="table_prefix" type="text" value="g4s_">
<br>가능한 변경하지 마십시오.
</td>
</tr>
</table>
<br>
<table border>
<caption>최고관리자 정보입력</caption>
<tr>
<td width=100>회원 ID</td>
<td width=200>
<input name="admin_id" type="text" value="admin">
</td>
</tr>
<tr>
<td>패스워드</td>
<td>
<input name="admin_pass" type="text">
</td>
</tr>
<tr>
<td>이름</td>
<td>
<input name="admin_name" type="text" value="최고관리자">
</td>
</tr>
<tr>
<td>E-mail</td>
<td>
<input name="admin_email" type="text" value="admin@domain.com">
</td>
</tr>
</table>
<h4>이미 그누보드4가 존재한다면 DB 자료가 망실되므로 주의하십시오.</h4>
<input type="submit" value="다음">
<script>
<!--
function frm_submit(f)
function frm_install_submit(f)
{
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 == '')
{
alert('MySQL User 를 입력하십시오.'); f.mysql_user.focus(); return;
alert('MySQL User 를 입력하십시오.'); f.mysql_user.focus(); return false;
}
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 == '')
{
alert('최고관리자 ID 를 입력하십시오.'); f.admin_id.focus(); return;
alert('최고관리자 ID 를 입력하십시오.'); f.admin_id.focus(); return false;
}
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 == '')
{
alert('최고관리자 이름을 입력하십시오.'); f.admin_name.focus(); return;
alert('최고관리자 이름을 입력하십시오.'); f.admin_name.focus(); return false;
}
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)) {
alert('최고관리자 ID 가 영문자가 아닙니다.');
if(/^[a-z][a-z0-9]/i.test(f.admin_id.value) == false) {
alert('최고관리자 회원 ID는 첫자는 반드시 영문자 그리고 영문자와 숫자로만 만드셔야 합니다.');
f.admin_id.focus();
return false;
}
f.action = './install_db.php';
f.submit();
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>
</body>

View File

@ -4,156 +4,59 @@ set_time_limit(0);
include_once ('../config.php');
include_once ('./install.inc.php');
$gmnow = gmdate("D, d M Y H:i:s") . " GMT";
header("Expires: 0"); // rfc2616 - Section 14.21
header("Last-Modified: " . $gmnow);
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("Pragma: no-cache"); // HTTP/1.0
$gmnow = gmdate('D, d M Y H:i:s') . ' GMT';
header('Expires: 0'); // rfc2616 - Section 14.21
header('Last-Modified: ' . $gmnow);
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('Pragma: no-cache'); // HTTP/1.0
//print_r($_POST); exit;
$mysql_host = $_POST['mysql_host'];
$mysql_user = $_POST['mysql_user'];
$mysql_pass = $_POST['mysql_pass'];
$mysql_db = $_POST['mysql_db'];
$mysql_port = $_POST['mysql_port'];
$table_prefix= $_POST['table_prefix'];
$admin_id = $_POST['admin_id'];
$admin_pass = $_POST['admin_pass'];
$admin_name = $_POST['admin_name'];
$admin_email = $_POST['admin_email'];
if (strtolower($g4['charset']) == 'utf-8') @mysql_query("set names utf8");
else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query("set names euckr");
$dblink = @mysql_connect($mysql_host, $mysql_user, $mysql_pass);
@mysql_query('set names utf8');
$dblink = @mysql_connect($mysql_host.':'.$mysql_port, $mysql_user, $mysql_pass);
if (!$dblink) {
echo "<meta http-equiv='content-type' content='text/html; charset={$g4['charset']}'>";
echo "<script language='JavaScript'>alert('MySQL Host, User, Password 를 확인해 주십시오.');history.back();</script>";
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo '<div>MySQL Host, User, Password 를 확인해 주십시오.</div>'.PHP_EOL;
echo '<div><a href="./install_config.php">뒤로가기</a></div>'.PHP_EOL;
exit;
}
if (strtolower($g4['charset']) == 'utf-8') @mysql_query("set names utf8");
else if (strtolower($g4['charset']) == 'euc-kr') @mysql_query("set names euckr");
@mysql_query('set names utf8');
$select_db = @mysql_select_db($mysql_db, $dblink);
if (!$select_db) {
echo "<meta http-equiv='content-type' content='text/html; charset={$g4['charset']}'>";
echo "<script language='JavaScript'>alert('MySQL DB 를 확인해 주십시오.');history.back();</script>";
echo '<meta http-equiv="content-type" content="text/html; charset=utf-8">'.PHP_EOL;
echo '<div>MySQL DB 를 확인해 주십시오.</div>'.PHP_EOL;
echo '<div><a href="./install_config.php">뒤로가기</a></div>'.PHP_EOL;
exit;
}
?>
<html>
<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>
<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>
<body background="img/all_bg.gif" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<div align="center">
<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>
<body>
<div>그누보드4S 설치시작</div>
<?
flush(); usleep(50000);
// 테이블 생성 ------------------------------------
$file = implode('', file('./sql_gnuboard4.sql'));
$file = implode('', file('./gnuboard4s.sql'));
eval("\$file = \"$file\";");
$file = preg_replace('/^--.*$/m', '', $file);
$file = preg_replace('/`g4s_([^`]+`)/', '`'.$table_prefix.'$1', $file);
$f = explode(';', $file);
for ($i=0; $i<count($f); $i++) {
if (trim($f[$i]) == '') continue;
@ -161,18 +64,7 @@ for ($i=0; $i<count($f); $i++) {
}
// 테이블 생성 ------------------------------------
echo "<script>document.frminstall2.job1.value='전체 테이블 생성중';</script>";
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);
echo '<div>전체 테이블 생성 완료</div>';
$read_point = -1;
$write_point = 5;
@ -181,7 +73,7 @@ $download_point = -20;
//-------------------------------------------------------------------------------------------------
// config 테이블 설정
$sql = " insert into {$g4['config_table']}
$sql = " insert into `{$table_prefix}config`
set cf_title = '그누보드4',
cf_admin = '$admin_id',
cf_use_point = '1',
@ -236,7 +128,7 @@ $sql = " insert into {$g4['config_table']}
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',
mb_password = PASSWORD('$admin_pass'),
mb_name = '$admin_name',
@ -247,53 +139,72 @@ $sql = " insert into {$g4['member_table']}
mb_open = '1',
mb_email_certify = '".G4_TIME_YMDHIS."',
mb_datetime = '".G4_TIME_YMDHIS."',
mb_ip = '$_SERVER[REMOTE_ADDR]'
mb_ip = '{$_SERVER['REMOTE_ADDR']}'
";
@mysql_query($sql);
echo "<script>document.frminstall2.job2.value='DB설정 완료';</script>";
flush(); usleep(50000);
echo '<div>DB설정 완료</div>';
//-------------------------------------------------------------------------------------------------
// 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 (
"../data",
"../data/cache",
"../data/cache/captcha",
"../data/cache/latest",
"../data/editor",
"../data/file",
"../data/log",
"../data/member",
"../data/session"
$data_path.'/cache',
$data_path.'/editor',
$data_path.'/file',
$data_path.'/log',
$data_path.'/member',
$data_path.'/session'
);
for ($i=0; $i<count($dir_arr); $i++)
{
for ($i=0; $i<count($dir_arr); $i++) {
@mkdir($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 파일을 실행할수 없게함.
$f = fopen("../data/.htaccess", "w");
$f = fopen($data_path.'/.htaccess', 'w');
$str = <<<EOD
<FilesMatch "\.(htaccess|htpasswd|[Pp][Hh][Pp]|[Pp]?[Hh][Tt][Mm][Ll]?|[Ii][Nn][Cc]|[Cc][Gg][Ii]|[Pp][Ll])">
Order allow,deny
@ -304,17 +215,10 @@ fwrite($f, $str);
fclose($f);
//-------------------------------------------------------------------------------------------------
echo "<script language='JavaScript'>document.frminstall2.status_bar.value += '■';</script>\n";
flush();
sleep(1);
echo "<script>document.frminstall2.job4.value='필요한 Table, File, 디렉토리 생성을 모두 완료 하였습니다.';</script>";
echo "<script>document.frminstall2.job5.value='* 메인화면에서 운영자 로그인을 한 후 운영자 화면으로 이동하여 환경설정을 변경해 주십시오.';</script>";
flush(); usleep(50000);
echo '<div>필요한 DB Table, File, 디렉토리 생성을 모두 완료 하였습니다.</div>'.PHP_EOL;
echo '<div>메인화면에서 운영자 로그인을 한 후 운영자 화면으로 이동하여 환경설정을 변경해 주십시오.</div>';
echo '<div><a href="../index.php">메인화면으로 가기</a></div>';
?>
<script>document.frminstall2.btn_next.disabled = false;</script>
<script>document.frminstall2.btn_next.focus();</script>
</body>
</html>

View File

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