修正方法:
下はwebdia.cgiの120行目からの部分ですが、太字下線の3ヶ所の「my」を削除してください。
# モードによる分岐(0…路線時刻表下り 1…路線時刻表上り 2…駅時刻表) if( $mode == 0 || $mode eq ''){ my $ud = 0; #$ud…上り/下りのフラグ(0=下り 1=上り) &timetable; } elsif( $mode == 1 ){ my $ud = 1; &timetable; } elsif( $mode == 2 ){ my $ud = $updown; &station_timetable; }
データの解釈の仕方に問題があり、この部分を全面的に書き直したため、スクリプトの小手先の修正では対応できません。恐れ入りますが、もしこの問題が発生する場合には、バージョン2.20へのバージョンアップをお願いします。
# 別ウィンドウの時は路線時刻表へのリンクを設けない
」というコメントの2行下です)を、次のように修正をお願いします。
else { print "$end_line<TR><TD><B><A href=\"$cgi_name?f=$settei$figlink[$ud]&s=$p[5]\">$hr[$hour]</A></B></TD>\n<TD>"; }
上の太字部分($p[5])を、「$t_num」と修正してください。
なお、Ver.2.11以降ではこのミスは修正されています。
hide_suitei<>on
と記述すれば、推定時刻を完全に隠すことができますので、この方法で対応していただくようお願いいたします。
なお、Ver2.01以降では修正されています。また、この機能はVer.1では使えません。
295行目を修正します。
「#着表示駅の発表示無し」というコメント文の2行下です。
周囲に、似たような文が並んでいるのでご注意ください。
elsif ( $ud == 0 && $stn_print[$i] =~/u/ && $j == 1){next;}
上の太字下線の「0」を、「1」に直してください。
お手数をおかけいたしますが、よろしくお願いします。
これは、WinDIAでの入力の際、この駅の発車時刻を入力しなかったのが原因です。
Ver.2.11以降では、着時刻=発車時刻として扱うことで対応しています。
[修正方法]
スクリプト406行目(広告などがある場合はもう少し下)を修正します。
「#反対方向の時刻表へのリンク」というコメント文の少し下です。
print "[<A href=\"$cgi_name?f=$settei&f=$settei&m=2&d=$opp&s=$st\">反対方向の時刻\表\
上のうち、太字下線の部分を取り除いてください。
710行目(広告HTMLなどカスタマイズしている場合はその分もう少し下の行番号になります)、「#[駅]読み込み
」というコメント行の3行下の文を修正します。
if ( $data[$i] eq "[線種]\n"){last;}
を、そのまままるごと、
if ( $data[$i] eq "[線種]\n" || $data[$i] eq "[下り]\n"){last;}
に置き換えてください。
お手数をおかけし、まことに申し訳ありません。
■変更前
(19〜20行目)
use CGI; $CGI = new CGI;(95〜103行目・広告など入れた場合はもう少し下)
#引数の読み込み $settei = $CGI->param('f'); #読み込む設定ファイル $settei =~s/\/|\||:|\.|\?//g; $settei_file = $path_settei.$settei.".txt"; $mode = $CGI->param('m'); #モード選択(0=下りダイヤ・1=上りダイヤ・2=各駅時刻表) $st = $CGI->param('s'); #全線ダイヤでは、列車の表示開始位置、 #駅時刻表では、表示する駅を指定します。 $suitei = $CGI->param('gs'); #推定時刻の表示・非表示(デフォルトで非表示) $updown = $CGI->param('d'); #駅時刻表を表示する時の上り/下り指定(0=下り 1=上り)
■変更後(上の部分をそっくり下のものに置き換えます)
(19〜20行目)
# use CGI; # $CGI = new CGI;(95〜103行目)
#引数の読み込み @qs = split ( /&/ , $ENV{'QUERY_STRING'} ); #環境変数からの読み込み foreach ( @qs ){ @q = split ( /=/ , $_ ); chomp( $q[1] ); $par{$q[0]} = $q[1]; } $settei = $par{'f'}; #読み込む設定ファイル $settei =~s/\/|\||:|\.|\?//g; $settei_file = $path_settei.$settei.".txt"; $mode = $par{'m'}; #モード選択(0=下り路線時刻表・1=上り路線時刻表・2=駅時刻表) $st = $par{'s'}; #路線時刻表では、列車の表示開始位置、 #駅時刻表では、表示する駅を指定します。 $suitei = $par{'gs'}; #推定時刻の表示・非表示(デフォルトで非表示) $updown = $par{'d'}; #駅時刻表を表示する時の上り/下り指定(0=下り 1=上り)