プログラムソース
HomePage

検索語 :
1 | #!/usr/local/bin/perl
2 | ###################################################
3 | #fl1.cgi ファイルレイアウト表示プログラム
4 | #          2004.05.19 MARCO
5 | #       edit 2004.05.25 MARCO
6 | #
7 | # パーミッション
8 | #       fl1.cgi(755)
9 | #       $file(666)
10 | ###################################################
11 |
12 | ############ 設定項目 ##############
13 | #ファイル名(パーミッションを666で設定)
14 | $file='fl.txt';
15 | #ページタイトル
16 | $page_title='ファイルレイアウト';
17 | #ページ背景色
18 | $page_bgcolor='#cceeee';
19 | #ホームページURL
20 | $hp_url='../../index.html';
21 | #ホームページアイコン
22 | $hp_icon='';
23 | #タイトル文字色
24 | $title_color='#004422';
25 | #テキスト文字色
26 | $text_color='#004444';
27 | #リンク文字色
28 | $link_color='#444422';
29 | #テーブル背景色
30 | $tbl_bgcolor1='#eeffff';
31 | $tbl_bgcolor2='#ffeeff';
32 | #行数
33 | $rows=30;
34 | ######################################
35 |
36 | #環境変数からパラメータをGET
37 | $sel=$ENV{'QUERY_STRING'};
38 |
39 | #HTML作成
40 | print "Content-type: text/html\n\n";
41 | print "<HTML>\n<HEAD>\n";
42 | print "<meta http-equiv=\"Content-Type\" content=\"text/html;charset=x-sjis\">\n";
43 | print "<TITLE>$page_title</TITLE>\n";
44 | print "</HEAD>\n";
45 | print "<BODY background=$bg_gif text=$text_color link=$link_color vlink=$link_color alink=$link_color>\n";
46 | print "<center><font color=$title_color size=5><b>$page_title</b></font></center>\n";
47 | print "<a href=$hp_url>";
48 | if($hp_icon ne ''){ print "<img src=$hp_icon>";}
49 | else{ print "HomePage";}
50 | print "</a><br><br>\n";
51 |
52 | open(NOTE,"<$file");
53 | @DATA=<NOTE>;
54 | close(NOTE);
55 |
56 | if($sel eq ''){
57 |   $idx=0;
58 |   $newno=0;
59 |   foreach(@DATA){
60 |     ($no,$eda,$tbl,$ttl,$db,$date,$nl,$bk,$ky)=split(/\t/,$_);
61 |     if($eda==0){
62 |       if($no>=$newno){$newno=$no 1;}
63 |       $nos[$idx]=$no;
64 |       $tbls[$idx]=$tbl;
65 |       $ttls[$idx]=$ttl;
66 |       $dbs[$idx]=$db;
67 |       $idx ;
68 |     }
69 |   }
70 |   $max=$idx;
71 |   sort_tbl();
72 |   $wdb='';
73 |   $wst='';
74 |   print "<FORM ACTION=fl2.cgi METHOD=POST>\n";
75 |   print "<CENTER><TABLE border=1 width=90% bgcolor=$tbl_bgcolor1>\n";
76 |   print "<tr bgcolor=$tbl_bgcolor2><td>データベース</td><td>テーブル名</td><td>摘要</td></tr>\n";
77 |   for($i=0;$i<$max;$i ){
78 |     if($dbs[$i] ne $wdb){print "<tr><td>$dbs[$i]</td>\n";}
79 |     else{print "<tr><td></td>\n";}
80 |     $ln=length($tbls[$i]);
81 |     $st=substr($tbls[$i],0,1);
82 |     $oth=substr($tbls[$i],1,$ln-1);
83 |     print "<td><input type=radio name=flno value=$nos[$i]>\n";
84 |     if($st ne $wst){print "<a href=fl1.cgi?$nos[$i]><b>$st</b>$oth</a></td>\n"}
85 |     else{print "<a href=fl1.cgi?$nos[$i]>$tbls[$i]</a></td>\n";}
86 |     print "<td>$ttls[$i]</td></tr>\n";
87 |     $wdb=$dbs[$i];
88 |     $wst=$st;
89 |   }
90 |   print "<tr bgcolor=$tbl_bgcolor2><td>**</td><td><input type=radio name=flno value=$newno>\n";
91 |   print "新規作成</td><td>**</td></tr>\n";
92 |   print "</TABLE></CENTER>\n";
93 |   print "管理キー : <input type=text name=ctlkey size=10>\n";
94 |   print "<input type=submit value=メンテナンス></FORM>\n";
95 | }
96 | else{
97 |   $idx=1;
98 |   foreach(@DATA){
99 |     ($no,$eda,$fld,$ttl,$typ,$len,$nl,$bk,$ky)=split(/\t/,$_);
100 |     chomp($ky);
101 |     if($no==$sel){
102 |       if($eda==0){
103 |         $dsptbl=$fld;
104 |         $dspttl=$ttl;
105 |         $dspdb=$typ;
106 |         $dspdate=$len;
107 |       }
108 |       else{
109 |         $flds[$idx]=$fld;
110 |         $ttls[$idx]=$ttl;
111 |         $typs[$idx]=$typ;
112 |         $lens[$idx]=$len;
113 |         $nls[$idx]=$nl;
114 |         $bks[$idx]=$bk;
115 |         $kys[$idx]=$ky;
116 |         $idx ;
117 |       }
118 |     }
119 |   }
120 |   print "<CENTER><TABLE border=1 width=90% bgcolor=$tbl_bgcolor1>\n";
121 |   print "<TR><TD>データベース名</TD><TD>$dspdb</TD><td>最終更新日</td><td>$dspdate</td></tr>\n";
122 |   print "<TR><TD>テーブル名</TD><TD>$dsptbl</TD><td>摘要</td><td>$dspttl</td></tr>\n";
123 |   print "</TABLE>\n";
124 |   print "<TABLE border=1 width=90% bgcolor=$tbl_bgcolor1>\n";
125 |   print "<tr bgcolor=$tbl_bgcolor2><td></td><td>フィールド名</td><td>摘要</td>\n";
126 |   print "<td>型</td><td>長さ</td><td>Null</td><td>備考</td><td>キー</td></tr>\n";
127 |   for($i=1;$i<=$rows;$i ){
128 |     if($flds[$i] eq ''){$flds[$i]=' ';}
129 |     if($ttls[$i] eq ''){$ttls[$i]=' ';}
130 |     if($typs[$i] eq ''){$typs[$i]=' ';}
131 |     if($lens[$i] eq ''){$lens[$i]=' ';}
132 |     if($nls[$i] eq ''){$nls[$i]=' ';}
133 |     if($bks[$i] eq ''){$bks[$i]=' ';}
134 |     if($kys[$i] eq ''){$kys[$i]=' ';}
135 |     print "<tr><td align=right>$i</td><td>$flds[$i]</td><td>$ttls[$i]</td>\n";
136 |     print "<td>$typs[$i]</td><td align=right>$lens[$i]</td><td>$nls[$i]</td>\n";
137 |     print "<td>$bks[$i]</td><td align=right>$kys[$i]</td></tr>\n";
138 |   }
139 |   print "</TABLE></CENTER>\n";
140 | }
141 |
142 | print "</BODY>\n</HTML>\n";
143 |
144 | #####入れ替え
145 | sub sort_tbl{
146 |   for($i=0;$i<$max-1;$i ){
147 |     for($j=$i 1;$j<$max;$j ){
148 |       if($tbls[$i] gt $tbls[$j]){
149 |         $tmp=$nos[$i];
150 |         $nos[$i]=$nos[$j];
151 |         $nos[$j]=$tmp;
152 |         $tmp=$tbls[$i];
153 |         $tbls[$i]=$tbls[$j];
154 |         $tbls[$j]=$tmp;
155 |         $tmp=$ttls[$i];
156 |         $ttls[$i]=$ttls[$j];
157 |         $ttls[$j]=$tmp;
158 |         $tmp=$dbs[$i];
159 |         $dbs[$i]=$dbs[$j];
160 |         $dbs[$j]=$tmp;
161 |       }
162 |     }
163 |   }
164 |
165 |   for($i=0;$i<$max-1;$i ){
166 |     for($j=$i 1;$j<$max;$j ){
167 |       if($dbs[$i] gt $dbs[$j]){
168 |         $tmp=$nos[$i];
169 |         $nos[$i]=$nos[$j];
170 |         $nos[$j]=$tmp;
171 |         $tmp=$tbls[$i];
172 |         $tbls[$i]=$tbls[$j];
173 |         $tbls[$j]=$tmp;
174 |         $tmp=$ttls[$i];
175 |         $ttls[$i]=$ttls[$j];
176 |         $ttls[$j]=$tmp;
177 |         $tmp=$dbs[$i];
178 |         $dbs[$i]=$dbs[$j];
179 |         $dbs[$j]=$tmp;
180 |       }
181 |     }
182 |   }
183 | }
184 |