|
||||
1 : #!/bin/wel¢Ò 2 : ¢Ò 3 : /* file: BDcreate¢Ò 4 : ¢Ò 5 : °Ô½ÃÆÇ »ý¼º ÇÁ·Î±×·¥ (author: ¼±¤Çö)¢Ò 6 : ¢Ò 7 : Copyright (c) 2001/03/25 by Wesoft¢Ò 8 : All Rights Reserved.¢Ò 9 : */¢Ò 10 : ¢Ò 11 : timeout(0);¢Ò 12 : pos= strfind(WelVersion, " ");¢Ò 13 : if(pos<1) version= "V"~WelVersion; else version= "V"~left(WelVersion,pos-1);¢Ò 14 : if(version<"V0.9")¢Ò 15 : {¢Ò 16 : print("Wel version error! (require Wel V0.9)\n");¢Ò 17 : return;¢Ò 18 : }¢Ò 19 : ¢Ò 20 : path= argv[0];¢Ò 21 : if(right(path,8)=="BDcreate") path= left(path, len(path) - 8);¢Ò 22 : if(path!="" && path!="./") chdir(path);¢Ò 23 : ¢Ò 24 : CREATE_TABLE=¢Ò 25 : {[¢Ò 26 : create table {$db} (¢Ò 27 : selno int4 DEFAULT '0' NOT NULL AUTO_INCREMENT PRIMARY KEY,¢Ò 28 : grpno int4 DEFAULT '0' NOT NULL, # ¿øº» °Ô½Ã¹°ÀÇ ¹øÈ£(selno)¢Ò 29 : answer varchar(20) DEFAULT '' NOT NULL, # ´äº¯±Û index¢Ò 30 : subject tinytext DEFAULT '' NOT NULL, # °Ô½Ã¹° Á¦¸ñ¢Ò 31 : content text DEFAULT '' NOT NULL, # °Ô½Ã¹° ³»¿ë¢Ò 32 : attfile tinytext DEFAULT '' NOT NULL, # ÷ºÎÆÄÀÏ¢Ò 33 : fileseq int4 DEFAULT '0' NOT NULL, # ÷ºÎÆÄÀÏ Áߺ¹½Ã ¼ø¹ø¢Ò 34 : readcnt int4 DEFAULT '0' NOT NULL, # ÀÐÀº Ƚ¼ö¢Ò 35 : downcnt int4 DEFAULT '0' NOT NULL, # ´Ù¿î Ƚ¼ö¢Ò 36 : linecnt int4 DEFAULT '0' NOT NULL, # ³»¿ë ÁÙ¼ö¢Ò 37 : postpass tinytext DEFAULT '' NOT NULL, # °Ô½Ã¹° »èÁ¦/¼öÁ¤ ¾ÏÈ£¢Ò 38 : wdtime tinytext DEFAULT '' NOT NULL, # ÀÛ¼º ÀÏ½Ã¢Ò 39 : wip tinytext DEFAULT '' NOT NULL, # ÀÛ¼ºÀÚ ip¢Ò 40 : whost tinytext DEFAULT '' NOT NULL, # ÀÛ¼ºÀÚ host¢Ò 41 : wname tinytext DEFAULT '' NOT NULL, # ÀÛ¼ºÀÚ name¢Ò 42 : wemail tinytext DEFAULT '' NOT NULL, # ÀÛ¼ºÀÚ email¢Ò 43 : mdtime tinytext DEFAULT '' NOT NULL, # ÃÖÈÄ ¼öÁ¤ÀÏ½Ã¢Ò 44 : mip tinytext DEFAULT '' NOT NULL, # ÃÖÈÄ ¼öÁ¤ ip¢Ò 45 : mhost tinytext DEFAULT '' NOT NULL, # ÃÖÈÄ ¼öÁ¤ host¢Ò 46 : mname tinytext DEFAULT '' NOT NULL, # ÃÖÈÄ ¼öÁ¤ name¢Ò 47 : memail tinytext DEFAULT '' NOT NULL # ÃÖÈÄ ¼öÁ¤ email¢Ò 48 : )¢Ò 49 : ]}¢Ò 50 : CONF_FORM={[{&}¢Ò 51 : // {$db}.conf¢Ò 52 : board_wdtime= "{$board_wdtime}"; // ÃÖÃÊ»ý¼º¢Ò 53 : board_mdtime= "{$board_mdtime}"; // ÃÖÈļöÁ¤¢Ò 54 : ¢Ò 55 : board_admin_id= "{$board_admin_id}"; // °ü¸®ÀÚ ID¢Ò 56 : board_admin_pass= "{$board_admin_pass}"; // °ü¸®ÀÚ ¾ÏÈ£¢Ò 57 : board_name= "{$board_name}"; // °Ô½ÃÆÇ À̸§¢Ò 58 : board_comment= "{$board_comment}"; // °Ô½ÃÆÇ ¼³¸í¢Ò 59 : board_admin_email= "{$board_admin_email}"; // °ü¸®ÀÚ email#1¢Ò 60 : board_admin_email2= ""; // °ü¸®ÀÚ email#2¢Ò 61 : board_admin_email3= ""; // °ü¸®ÀÚ email#3¢Ò 62 : home_url= "/"; // ȨÀ¸·Î°¡±â¢Ò 63 : home_target= "_top"; // ȨÀ¸·Î°¡±â target frame¢Ò 64 : back_url= ""; // µÚ·Î°¡±â¢Ò 65 : back_target= ""; // µÚ·Î°¡±â target frame¢Ò 66 : mail_to_admin= 1; // °Ô½Ã¹° ÀÛ¼º½Ã °ü¸®ÀÚ¿¡°Ô Å뺸 ¿©ºÎ¢Ò 67 : mail_to_answer= 1; // ´äº¯±Û ÀÛ¼º½Ã °Ô½ÃÀÚ¿¡°Ô Å뺸 ¿©ºÎ¢Ò 68 : write_only_admin= 0; // °ü¸®ÀÚ¸¸ °Ô½Ã¹° ÀÛ¼º ¿©ºÎ¢Ò 69 : write_answer= 1; // ´äº¯±Û ¾²±â ¿©ºÎ¢Ò 70 : ignore_center= 0; // °¡¿îµ¥ Á¤·Ä ¹«½Ã ¿©ºÎ¢Ò 71 : file_upload= 1; // ÆÄÀÏ ¾÷·Îµå Çã¿ë ¿©ºÎ¢Ò 72 : max_upload_ksize= 0; // ÆÄÀÏ ¾÷·Îµå ¿ë·®Á¦ÇÑ¢Ò 73 : board_width= "700"; // °Ô½ÃÆÇ Æø¢Ò 74 : skin_code= 1; // ½ºÅ² ÄÚµå¢Ò 75 : titlecolor= "#FFFFFF"; // °Ô½ÃÆÇ À̸§ ±ÛÀÚ»ö¢Ò 76 : titlebgcolor= "#25648F"; // °Ô½ÃÆÇ À̸§ ¹è°æ»ö¢Ò 77 : bar_board_bgcolor= "#E8C0B0"; // °Ô½ÃÆÇ »óÇÏ ¹è°æ»ö¢Ò 78 : board_bgcolor= "#FFFFFF"; // °Ô½ÃÆÇ ¹è°æ»ö¢Ò 79 : board_background= ""; // °Ô½ÃÆÇ ¹è°æ ±×¸²¢Ò 80 : board_cpright= ""; // °Ô½ÃÆÇ ÇÏ´ÜÀÇ copyright¢Ò 81 : list_few_content= 1; // °Ô½Ã¹° ¸ñ·Ï¿¡¼ ³»¿ë ÀÎ¿ë ¿©ºÎ¢Ò 82 : list_admin_help= 0; // ¸ñ·ÏÀÇ °ü¸®ÀÚ ¹®ÀÇ Ç¥½Ã ¿©ºÎ¢Ò 83 : list_rec= 15; // ¸ñ·Ï °³¼ö¢Ò 84 : list_head_color= "#FFFFFF"; // ¸ñ·Ï Á¦¸ñ ±ÛÀÚ»ö¢Ò 85 : list_head_bgcolor= "#6090B8"; // ¸ñ·Ï Á¦¸ñ ¹è°æ»ö¢Ò 86 : list_mover_bgcolor= "#D0F8D0"; // ¸¶¿ì½º Æ÷ÀÎÅÍ À§Ä¡»ö¢Ò 87 : list_focus_bgcolor= "F8D0D0"; // ÃÖÈÄ ¸ñ·Ï À§Ä¡»ö¢Ò 88 : view_board= 1; // ³»¿ë º¸±â½Ã °Ô½Ã¹° ¸ñ·Ï Ãâ·Â ¿©ºÎ¢Ò 89 : accept_html= 1; // HTML tag Çã¿ë ¿©ºÎ¢Ò 90 : view_subject_color= "#000000"; // º¸±â Á¦¸ñ ±ÛÀÚ»ö¢Ò 91 : view_subject_bgcolor= "#F8E0E0"; // º¸±â Á¦¸ñ ¹è°æ»ö¢Ò 92 : view_download_bgcolor= "#E8F8E8"; // ´Ù¿î·Îµå ¹è°æ»ö¢Ò 93 : view_content_bgcolor= "#F8F8E8"; // º¸±â ³»¿ë ¹è°æ»ö¢Ò 94 : board_htflag= 0; // ¸Ó¸® ²¿¸´¸» ¼³Á¤ Àû¿ë¿©ºÎ¢Ò 95 : board_header={$FUNSTR1}{$FUNSTR2}; // °Ô½ÃÆÇ HTML µÎ¹®ºÎ¢Ò 96 : board_tailer={$FUNSTR1}{$FUNSTR2}; // °Ô½ÃÆÇ HTML ¹Ì¹®ºÎ¢Ò 97 : return;¢Ò 98 : ]}¢Ò 99 : ¢Ò 100 : string FUNSTR1= "{[", FUNSTR2= "]}";¢Ò 101 : ¢Ò 102 : function cancel_message(string msg)¢Ò 103 : {¢Ò 104 : if(msg!="") print("\n ERROR: ", msg, "\n");¢Ò 105 : print(" Board creation is cancelled.\n\n");¢Ò 106 : return;¢Ò 107 : }¢Ò 108 : ¢Ò 109 : print("<<--- WelBoard V2.0.4 board creation --->>\n\n");¢Ò 110 : ¢Ò 111 : if(argc>1)¢Ò 112 : {¢Ò 113 : db= argv[1];¢Ò 114 : print("1. New board table: ", db, "\n");¢Ò 115 : }¢Ò 116 : else¢Ò 117 : {¢Ò 118 : while(1)¢Ò 119 : {¢Ò 120 : print("1. New board table: "); db= lrtrim(input()); print();¢Ò 121 : if(db=="") { cancel_message(""); return; }¢Ò 122 : len= len(tolower(db));¢Ò 123 : if(len>0 && (strkind(db)&0xFFF1)==0) break;¢Ò 124 : print("Bad new board name! (Usable charater: 0~9, A~Z, a~z)\n");¢Ò 125 : }¢Ò 126 : }¢Ò 127 : ¢Ò 128 : conf= "conf/" ~ db ~ ".conf";¢Ò 129 : if(fexist(conf))¢Ò 130 : {¢Ò 131 : cancel_message("Already exist!, board name: " ~ db);¢Ò 132 : return;¢Ò 133 : }¢Ò 134 : ¢Ò 135 : print("2. Board name(title): "); board_name= lrtrim(input()); print();¢Ò 136 : print("3. Board comment: "); board_comment= lrtrim(input()); print();¢Ò 137 : print("4. Administrator email: "); board_admin_email= lrtrim(input()); print();¢Ò 138 : while(1)¢Ò 139 : {¢Ò 140 : print("5. Administrator user id: ");¢Ò 141 : board_admin_id= tolower(left(lrtrim(input()),12)); print();¢Ò 142 : len= len(tolower(board_admin_id));¢Ò 143 : if(len>0 && (strkind(board_admin_id)&0xFFF1)==0) break;¢Ò 144 : print("Bad administrator user id! (Usable charater: 0~9, A~Z, a~z)\n");¢Ò 145 : }¢Ò 146 : while(1)¢Ò 147 : {¢Ò 148 : print("6. Administrator password: ");¢Ò 149 : board_admin_pass= lrtrim(input()); print();¢Ò 150 : len= len(tolower(board_admin_pass));¢Ò 151 : if(len>0 && (strkind(board_admin_pass)&0xFFF1)==0) break;¢Ò 152 : print("Bad administrator password! (Usable charater: 0~9, A~Z, a~z)\n");¢Ò 153 : }¢Ò 154 : print("\n-------------------------------------\n");¢Ò 155 : print(" Board table name: ", db, "\n");¢Ò 156 : print(" Board name(title): ", board_name, "\n");¢Ò 157 : print(" Board comment: ", board_comment, "\n");¢Ò 158 : print(" Administrator email: ", board_admin_email, "\n");¢Ò 159 : print(" Administrator user id: ", board_admin_id, "\n");¢Ò 160 : print(" Administrator password: ", board_admin_pass, "\n");¢Ò 161 : print("-------------------------------------\n\n");¢Ò 162 : ¢Ò 163 : sel= choice(" Do you want to continue?(Y/n) ", "Yy\nNn");¢Ò 164 : if(sel==3) print("Y");¢Ò 165 : print("\n\n");¢Ò 166 : if(sel>3) { cancel_message(""); return; }¢Ò 167 : ¢Ò 168 : break_on= -1;¢Ò 169 : include("include/board.inc");¢Ò 170 : message_form= "";¢Ò 171 : board_admin_pass= encode(board_admin_pass, encodekey(), "", decode_variable);¢Ò 172 : ¢Ò 173 : print("1. Creating board table: ", db, "\n");¢Ò 174 : rt= mysql_connection("");¢Ò 175 : if(rt==MYSQL_ERR)¢Ò 176 : {¢Ò 177 : if(mysql==MYSQL_ERR) msg= "MySQL connection error!";¢Ò 178 : else msg= "MySQL select db error! (DB=" ~ mydb ~ ")";¢Ò 179 : cancel_message(msg);¢Ò 180 : return disconnect();¢Ò 181 : }¢Ò 182 : qstr= strform(CREATE_TABLE);¢Ò 183 : rt= mysql_query(mysql, qstr);¢Ò 184 : if(rt==MYSQL_ERR)¢Ò 185 : {¢Ò 186 : msg= "MySQL table creation error! (DB=" ~ mydb ~ ", TABLE=" ~ db ~ ")";¢Ò 187 : cancel_message(msg);¢Ò 188 : return disconnect();¢Ò 189 : }¢Ò 190 : print("2. Creating board configuration file: ", conf, "\n");¢Ò 191 : fp= fopen(conf, "w");¢Ò 192 : if(fp==FILE_OPEN_ERR)¢Ò 193 : {¢Ò 194 : cancel_message(conf ~ " file write error!");¢Ò 195 : mysql_query(mysql, "drop table " ~ db);¢Ò 196 : return disconnect();¢Ò 197 : }¢Ò 198 : board_wdtime= date(1) ~ " " ~ left(time(1),5);¢Ò 199 : fprint(fp, strform(CONF_FORM));¢Ò 200 : fclose(fp);¢Ò 201 : chmod(conf, 0c666);¢Ò 202 : print("\n >>> Created ", db, " board.\n");¢Ò 203 : print(" >>> http://YOUR-INSTALL-DIR/welboard2/board.wel?db=", db, "\n");¢Ò 204 : return disconnect();¢Ò |
||||
|