#!/usr/bin/perl ###< Define Section >################################################# #■システム設定 require './jcode.pl'; require '../common/search.pl'; $| = 1; $MY_SCRIPT = 'index.cgi'; #■ログファイル $logfile = './dat_bukken.cgi'; $cityfile = '../common/city.txt'; #■登録フォーム $Display_Form = "tmpl_form.html"; #■検索画面フォーム $Display_Screen = "tmpl_screen.html"; #■1ページ当り表示件数 $pview = 100; #■URL $URL = 'https://www.ihin1.jp/area/'; # $URL = 'http://www.df-co.jp/web2/ihin1/area/'; ###< Program Section >################################################ # メイン処理 ###################################################################### &Get_Param_rtn(*FORM,'euc','
'); &Get_Param_rtn(*PRM,'euc','
'); ($timenow,$datenow) = &Get_Date(time,2); # 検索情報を整理 if($FORM{'pref'}){ $PRM{'pref'} = $FORM{'pref'}; }else{ $PRM{'pref'} = $PRM{'pref'}; } if($FORM{'city'}){ $PRM{'city'} = $FORM{'city'}; }else{ $PRM{'city'} = $PRM{'city'}; } if($PRM{'city'}){ &Display_Form_rtn; }else{ &Find_Data; } exit; ###################################################################### # 検索処理 # ###################################################################### sub Find_Data { my $pref_code; foreach (sort keys %CITY){ if($PRM{'pref'} eq $PREF_ROMA{$_}){ $pref_code = $_; last; } } $town = $CITY{$pref_code}; $town =~s/県//g; $town =~s/府//g; $town =~s/東京都/東京/g; $i = 0;$count = 0; $products_list = ''; $color_count = 0; $max = '0'; open(IN,"$cityfile") || &error("Open Error : $cityfile"); while () { chomp; ($citycode,$prefcode,$cityname,$cityroma,$groupname) = split(/\t/); if($pref_code eq $prefcode){ push(@DATABASE,$_); $max++; } next; } close(IN); foreach $DATABASE (@DATABASE) { ($citycode,$prefcode,$cityname,$cityroma,$groupname) = split(/\t/,$DATABASE); $products_list .= qq{$groupname$cityname\n}; } if($max){ }else{ $result = ''; $pagenavi = ''; $products_list =<<"__PLIST__";
該当する登録内容はありません。

__PLIST__ } jcode::convert( \$town, 'sjis' ); jcode::convert( \$products_list, 'sjis' ); print "Content-Type: text/html\n\n"; open(HTML,"$Display_Screen") || die "Can't Open HTML:$Display_Screen $!\n"; while () { s/(\$[\w\d\{\}\[\]\']+)/$1/eeg; s/\.\.\//\.\.\/\.\.\//g; # s/\.\//\.\.\/\.\.\//g; print; } close(HTML); exit; } ###################################################################### # フォームの表示 ###################################################################### sub Display_Form_rtn { my $pref_code; foreach (sort keys %CITY){ if($PRM{'pref'} eq $PREF_ROMA{$_}){ $pref_code = $_; last; } } $pref = $CITY{$pref_code}; open(IN,"$cityfile") || &error("Open Error : $cityfile"); while () { chomp; ($citycode,$prefcode,$cityname,$cityroma,$groupname) = split(/\t/); last if $pref_code eq $prefcode && $PRM{'city'} eq $cityroma; next; } close(IN); jcode::convert( \$pref, 'sjis' ); jcode::convert( \$cityname, 'sjis' ); jcode::convert( \$groupname, 'sjis' ); # @new=(); # open(IN,"$logfile") || &error("Open Error : $logfile"); # while () { # ($no,$entrydate,$entrytime,$filename1,$filename2,$filename3,$filename4,$filename5,$FORM{'b001'},$FORM{'b002'},$FORM{'b003'},$FORM{'b004'},$FORM{'b005'},$FORM{'b006'},$FORM{'b007'},$FORM{'b008'},$FORM{'b009'},$FORM{'b010'},$FORM{'b011'},$FORM{'b012'},$FORM{'b013'},$FORM{'b014'},$FORM{'b015'},$FORM{'b016'},$FORM{'b017'},$FORM{'b018'},$FORM{'b019'},$FORM{'b020'},$FORM{'b021'},$FORM{'b022'},$FORM{'b023'},$FORM{'b024'},$FORM{'b025'},$FORM{'b026'},$FORM{'b027'},$FORM{'b028'},$FORM{'b029'},$FORM{'b030'},$FORM{'b031'},$FORM{'b032'},$FORM{'b033'},$FORM{'b034'},$FORM{'b035'},$FORM{'b036'},$FORM{'b037'},$FORM{'b038'},$FORM{'b039'},$FORM{'b040'},$FORM{'b041'},$FORM{'b042'},$FORM{'b043'},$FORM{'b044'},$FORM{'b045'},$FORM{'b046'},$FORM{'b047'},$FORM{'b048'},$FORM{'b049'},$FORM{'b050'},$FORM{'b051'},$FORM{'b052'},$FORM{'b053'},$FORM{'b054'},$FORM{'b055'},$FORM{'b056'},$FORM{'b057'},$FORM{'b058'},$FORM{'b059'},$FORM{'b060'},$FORM{'b061'},$FORM{'b062'},$FORM{'b063'},$FORM{'b064'},$FORM{'b065'},$FORM{'b066'},$FORM{'b067'},$FORM{'b068'},$FORM{'b069'},$FORM{'b070'},$FORM{'b071'},$FORM{'b072'},$FORM{'b073'},$FORM{'b074'},$FORM{'b075'},$FORM{'b076'},$FORM{'b077'},$FORM{'b078'},$FORM{'b079'},$FORM{'b080'},$FORM{'b081'},$FORM{'b082'},$FORM{'b083'},$FORM{'b084'},$FORM{'b085'},$FORM{'b086'},$FORM{'b087'},$FORM{'b088'},$FORM{'b089'},$FORM{'b090'},$FORM{'b091'},$FORM{'b092'},$FORM{'b093'},$FORM{'b094'},$FORM{'b095'},$FORM{'b096'},$FORM{'b097'},$FORM{'b098'},$FORM{'b099'},$FORM{'b100'},$FORM{'b101'},$FORM{'b102'},$FORM{'b103'},$FORM{'b104'},$FORM{'b105'},$FORM{'b106'},$FORM{'b107'},$FORM{'b108'},$FORM{'b109'},$FORM{'b110'},$FORM{'b111'},$FORM{'b112'},$FORM{'b113'},$FORM{'b114'},$FORM{'b115'},$FORM{'b116'},$FORM{'b117'},$FORM{'b118'},$FORM{'b119'},$FORM{'b120'}) = split(/\t/); # if ($PRM{'key'} eq $no) { # $_="$no\t$entrydate\t$entrytime\t$filename1\t$filename2\t$filename3\t$filename4\t$filename5\t$FORM{'b001'}\t$FORM{'b002'}\t$FORM{'b003'}\t$FORM{'b004'}\t$FORM{'b005'}\t$FORM{'b006'}\t$FORM{'b007'}\t$FORM{'b008'}\t$FORM{'b009'}\t$FORM{'b010'}\t$FORM{'b011'}\t$FORM{'b012'}\t$FORM{'b013'}\t$FORM{'b014'}\t$FORM{'b015'}\t$FORM{'b016'}\t$FORM{'b017'}\t$FORM{'b018'}\t$FORM{'b019'}\t$FORM{'b020'}\t$FORM{'b021'}\t$FORM{'b022'}\t$FORM{'b023'}\t$FORM{'b024'}\t$FORM{'b025'}\t$FORM{'b026'}\t$FORM{'b027'}\t$FORM{'b028'}\t$FORM{'b029'}\t$FORM{'b030'}\t$FORM{'b031'}\t$FORM{'b032'}\t$FORM{'b033'}\t$FORM{'b034'}\t$FORM{'b035'}\t$FORM{'b036'}\t$FORM{'b037'}\t$FORM{'b038'}\t$FORM{'b039'}\t$FORM{'b040'}\t$FORM{'b041'}\t$FORM{'b042'}\t$FORM{'b043'}\t$FORM{'b044'}\t$FORM{'b045'}\t$FORM{'b046'}\t$FORM{'b047'}\t$FORM{'b048'}\t$FORM{'b049'}\t$FORM{'b050'}\t$FORM{'b051'}\t$FORM{'b052'}\t$FORM{'b053'}\t$FORM{'b054'}\t$FORM{'b055'}\t$FORM{'b056'}\t$FORM{'b057'}\t$FORM{'b058'}\t$FORM{'b059'}\t$FORM{'b060'}\t$FORM{'b061'}\t$FORM{'b062'}\t$FORM{'b063'}\t$FORM{'b064'}\t$FORM{'b065'}\t$FORM{'b066'}\t$FORM{'b067'}\t$FORM{'b068'}\t$FORM{'b069'}\t$FORM{'b070'}\t$FORM{'b071'}\t$FORM{'b072'}\t$FORM{'b073'}\t$FORM{'b074'}\t$FORM{'b075'}\t$FORM{'b076'}\t$FORM{'b077'}\t$FORM{'b078'}\t$FORM{'b079'}\t$FORM{'b080'}\t$FORM{'b081'}\t$FORM{'b082'}\t$FORM{'b083'}\t$FORM{'b084'}\t$FORM{'b085'}\t$FORM{'b086'}\t$FORM{'b087'}\t$FORM{'b088'}\t$FORM{'b089'}\t$FORM{'b090'}\t$FORM{'b091'}\t$FORM{'b092'}\t$FORM{'b093'}\t$FORM{'b094'}\t$FORM{'b095'}\t$FORM{'b096'}\t$FORM{'b097'}\t$FORM{'b098'}\t$FORM{'b099'}\t$FORM{'b100'}\t$FORM{'b101'}\t$FORM{'b102'}\t$FORM{'b103'}\t$FORM{'b104'}\t$FORM{'b105'}\t$FORM{'b106'}\t$FORM{'b107'}\t$FORM{'b108'}\t$FORM{'b109'}\t$FORM{'b110'}\t$FORM{'b111'}\t$FORM{'b112'}\t$FORM{'b113'}\t$FORM{'b114'}\t$FORM{'b115'}\t$FORM{'b116'}\t$FORM{'b117'}\t$FORM{'b118'}\t$FORM{'b119'}\t$FORM{'b120'}\t\n"; # push(@new,$_); # last; # } # } # close(IN); # # foreach (keys %FORM){ # jcode::convert( \$FORM{$_}, 'sjis' ); # } $template = "$Display_Form"; print "Content-Type: text/html\n\n"; open(HTML,"$template") || die "Can't Open HTML:$template $!\n"; while () { s/(\$[\w\d\{\}\[\]\']+)/$1/eeg; s/\.\.\//\.\.\/\.\.\//g; print; } close(HTML); exit; } ###################################################################### # 日付取得処理 # IN: 時間,日付区分 # OUT: # 日付区分 # DEFULT:YYYY,MM,DD,HH,MM,SS,WW # 1:YYYYMMDD # 2:HH:MM:SS,YYYY/MM/DD # 3:HH時MM分,YYYY年MM月DD日 # 4:HHMMSS ###################################################################### sub Get_Date { local($T_Time,$T_D) = @_; local($T_Date); local($sec,$min,$hour,$mday,$mon,$year,$wday,$dummy) = localtime($T_Time); $mon++; if ($hour < 10) { $hour = "0$hour"; } if ($min < 10) { $min = "0$min"; } if ($sec < 10) { $sec = "0$sec"; } if ($mon < 10) { $mon = "0$mon"; } if ($mday < 10) { $mday = "0$mday"; } $year += 1900; if ($T_D == 1) { return("$year$mon$mday"); } elsif ($T_D == 2) { return("$hour:$min:$sec","$year-$mon-$mday"); } elsif ($T_D == 3) { return("$hour時$min分","$year年$mon月$mday日"); } elsif ($T_D == 4) { return("$hour$min$sec"); } else { return($year,$mon,$mday,$hour,$min,$sec,$wday); } } ###################################################################### # 引数取得処理 ###################################################################### sub Get_Param_rtn { local(*in,$jpcode,$cr,*substitute) = @_; local($buffer,@pairs,$pair,$key,$value,@inputs,$data,$info,$type,$fname); if ($ENV{'REQUEST_METHOD'} eq 'GET') { $buffer = $ENV{'QUERY_STRING'}; } else { read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'}); } if ($ENV{'CONTENT_TYPE'} =~ m!multipart/form-data; boundary=(.+)$!) { $boundary = '--'.$1; @inputs = split(/$boundary/, $buffer); foreach (@inputs) { if ((!$_) || (/^--/)) { ; } else { $key = $value = $type = ''; $data = $_; $data =~ /\r\n\r\n|\n\n/; $info = $`; $value = $'; $value =~ s/\n$//; $value =~ s/\r$//; if ($info =~ /Content-Disposition:\s*form-data;\s*name="(\w+)"/i) { $key = $1; $key =~ tr/+/ /; $key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; } else { next; } if ($info =~ /filename="(.+)"/i) { $fname = $1; $fname =~ tr/+/ /; $fname =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; $PRM{$key,'filename'} = $fname; } if ($info =~ /Content-Type:\s*(\S+)/i) { $type = $1; $type =~ tr/A-Z/a-z/ ; } if (($type =~ m!text/(\w+)!) || ($type =~ m!application/(\w+)!) || ($type =~ m!image/(\w+)!)) { $PRM{$key} = $value; $PRM{$key,'type'} = $1; } elsif ($type eq '') { &Exchange_Form($key,$value); } } } } else { @pairs = split(/&/, $buffer); foreach $pair (@pairs) { ($key, $value) = split(/=/, $pair); $key =~ tr/+/ /; $key =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; &Exchange_Form($key,$value); } } } ###################################################################### # FORM情報設定メイン処理 ###################################################################### sub Exchange_Form { local($key,$value) = @_; $value =~ tr/+/ /; $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg; if ($jpcode) { &jcode'convert(*value,$jpcode); } $value =~ s/\r\n/\n/g; $value =~ s/\r/\n/g; $value =~ s/\n/$cr/g; $value =~ s/\t//g; $value =~ s/