시소당
function chk_col_status(
$tab,
$col) {
global
$db,
$dbid;
$sql = "show fields from
$tab";
$result = @mysql_query(
$sql);
while(list(
$row) = @mysql_fetch_array(
$result)) {
if (
$row ==
$col) return true;
}
return false;
}
테이블을 검사해 복구시키는 함수로 여겨짐 ^^ 작은 부분에도 신경을 많이 쓴듯 하다.
[2005년 07월 05일 01:26:53 수정되었습니다.]
function set_db_status(
$mode) {
global
$db,
$dbid,
$r_root_path;
if (!chk_col_status("t3_".
$dbid."_setting", "show_preview") ||
$mode) {
if (!chk_col_status("t3_".
$dbid."_setting", "show_preview")) put_query ("alter table t3_".
$dbid."_setting add show_preview int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "rss_public")) put_query ("alter table t3_".
$dbid."_setting add rss_public int(1) default '1' not null");
if (!chk_col_status("t3_".
$dbid."_rss_item", "is_scrap")) put_query ("alter table t3_".
$dbid."_rss_item add is_scrap int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "rssv_type")) put_query ("alter table t3_".
$dbid."_setting add rssv_type int(1) default '2' not null");
if (!chk_col_status("t3_".
$dbid."_rss", "is_public")) put_query ("alter table t3_".
$dbid."_rss add is_public int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid, "subscription")) put_query ("alter table t3_".
$dbid." add subscription int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid."_reply", "is_secret")) put_query ("alter table t3_".
$dbid."_reply add is_secret int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid, "perm_tb")) put_query ("alter table t3_".
$dbid." add perm_tb int(1) default '1' not null");
if (!chk_col_status("t3_".
$dbid, "perm_rp")) put_query ("alter table t3_".
$dbid." add perm_rp int(1) default '1' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "show_tree_cnt")) put_query ("alter table t3_".
$dbid."_setting add show_tree_cnt int(1) default '0' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "select_cat_view")) put_query ("alter table t3_".
$dbid."_setting add select_cat_view int(1) default '1' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "select_arc_view")) put_query ("alter table t3_".
$dbid."_setting add select_arc_view int(1) default '3' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "rct_ps_cnt")) put_query ("alter table t3_".
$dbid."_setting add rct_ps_cnt int default '10' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "rct_ps_trunc")) put_query ("alter table t3_".
$dbid."_setting add rct_ps_trunc int default '30' not null");
if (!chk_col_status("t3_".
$dbid."_setting", "ip_block")) put_query ("alter table t3_".
$dbid."_setting add ip_block text");
if (!chk_col_status("t3_".
$dbid."_setting", "box1_style")) put_query ("alter table t3_".
$dbid."_setting add box1_style varchar(255) default 'padding:10; background-color:#F0F0F0;'");
if (!chk_col_status("t3_".
$dbid."_setting", "box2_style")) put_query ("alter table t3_".
$dbid."_setting add box2_style varchar(255) default 'padding:10; background-color:#DEEFFF;'");
if (!chk_col_status("t3_".
$dbid."_setting", "box3_style")) put_query ("alter table t3_".
$dbid."_setting add box3_style varchar(255) default 'padding:10; background-color:#D6F7E0;'");
if (!chk_col_status("t3_".
$dbid."_setting", "box4_style")) put_query ("alter table t3_".
$dbid."_setting add box4_style varchar(255) default 'padding:10; background-color:#FFE6E6;'");
if (!chk_col_status("t3_".
$dbid."_setting", "rssp_type")) put_query ("alter table t3_".
$dbid."_setting add rssp_type int(1) not null default '1'");
if (!chk_col_status("t3_".
$dbid."_setting", "rssp_limit")) put_query ("alter table t3_".
$dbid."_setting add rssp_limit int not null default '3'");
if (!chk_col_status("t3_".
$dbid."_setting", "gue_page_cnt")) put_query ("alter table t3_".
$dbid."_setting add gue_page_cnt int not null default '5'");
if (!chk_col_status("t3_".
$dbid."_setting", "gue_perm")) put_query ("alter table t3_".
$dbid."_setting add gue_perm int not null default '3'");
if (!chk_col_status("t3_".
$dbid."_rss", "mdate")) put_query ("alter table t3_".
$dbid."_rss add mdate varchar(64) default 0 not null");
if (!chk_col_status("t3_".
$dbid."_ct1", "cnt")) put_query ("alter table t3_".
$dbid."_ct1 add cnt int default 0 not null");
if (!chk_col_status("t3_".
$dbid."_ct2", "cnt")) put_query ("alter table t3_".
$dbid."_ct2 add cnt int default 0 not null");
put_query("alter table t3_".
$dbid." add index subscription (subscription)");
put_query("alter table t3_".
$dbid."_rss_item add index link (link)");
if (!chk_tab_status("t3_".
$dbid."_cnt_log") && chk_tab_status("t3_".
$dbid."_setting")) {
include
$r_root_path."inc_scheme.php";
if (!chk_tab_status("t3_".
$dbid."_guest")) put_query (
$sch_guest);
if (!chk_tab_status("t3_".
$dbid."_guest_reply")) put_query (
$sch_guest_reply);
if (!chk_tab_status("t3_".
$dbid."_guest_icon")) put_query (
$sch_guest_icon);
if (!chk_tab_status("t3_".
$dbid."_referlog")) put_query (
$sch_referlog);
if (!chk_tab_status("t3_".
$dbid."_referstat")) put_query (
$sch_referstat);
if (!chk_tab_status("t3_".
$dbid."_cnt_log")) put_query (
$sch_cnt_log);
}
}
}
관련 처리 함수이다.
[2005년 07월 05일 01:27:11 수정되었습니다.]