File name: welboard2/BDcreate (7,135 bytes) Text file viewer v1.2
    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();¢Ò
File name: welboard2/BDcreate (7,135 bytes) Wesoft Corp. ¨Ï 2001 All rights reserved.