#!/usr/bin/perl use strict; use lib qw(/home/homepage/system); use HTML::Template; use Local::Config; use Local::Library; use Local::Mobile; ################################################# # toyotetsu.jp # 静的ページの絵文字変換 # 2009/03/12 ver1.00 新規作成 # 2009/03/31 ver1.01 新着情報の表示追加 # 2009/03/31 ver1.02 アクセスログ保存追加 # 2009/06/27 ver1.03 アクセスログ保存追加 # 2009/07/17 ver1.04 本日以降を新着表示対象に変更 # (c) Copyright 2009 豊鉄バス株式会社 ################################################# #************************************** # メイン処理 #************************************** my $cgi = Local::CGI->new(); # フォームデータ取得 my $db = Local::DB->new( user_id => 'USER2', session_mode => 0 ); # DB接続・セッション開始 # --- ファイル名の加工 --- my ( $file, $param ) = split( /\?/ , $ENV{'REQUEST_URI'} ); $file .= 'index.html' if ( $file eq '' || $file =~ /\/$/ ); # --- コンテンツの変換・出力 --- printf( "Content-type: text/html\n\n" ); eval { my $tmpl = HTML::Template->new( die_on_bad_params => 0 , filename => $ENV{'DOCUMENT_ROOT'} . $file ); my $contents = $tmpl->output(); if ( $file eq '/m/index.html' ) { # トップページの場合 my $tmpl2 = HTML::Template->new( die_on_bad_params => 0 , filename => $ENV{'DOCUMENT_ROOT'} . '/m/tmpl_news.html' ); # ver1.01 --- start --- my $mdate = Local::DateTime->new()->go( -1 * $Local::Config::SYS{'TERM_MOBILE_NEWS_MARK'} )->date(); my $st1 = sprintf( "SELECT count(code) FROM news WHERE vdate >= ? AND vdate <= ?" ); # ver1.04 my $sth1 = $db->dbh->prepare( $st1 ); # SQLの準備 $sth1->execute( $mdate, Local::DateTime->new()->date()) or $db->log_sth_error( $sth1, $st1 ); # SQLの実行 ver1.04 my ( $count ) = $sth1->fetchrow_array(); $sth1->finish(); # ステートメント・ハンドルのクリア ($sthごと) $tmpl2->param ( 'if_mark' => ( $count > 0 ) ? 1 : 0 , ); # ver1.01 --- end --- my $str = $tmpl2->output(); $contents =~ s//$str/; # 書き換え部分専用コメントタグ Local::Func::saveAccessLog( $db, 1, $cgi->{'_AGENT'} ); # ver1.02 } # ver1.03 --- start --- else { my $dir = $file; $dir =~ s/\/m\///g; $dir = ( index( $dir , '/' ) >= 0 ) ? substr( $dir, 0, index( $dir , '/' )) : ''; # トップ直下のファイルの場合は空にする Local::Func::saveAccessLog( $db, 3, $cgi->{'_AGENT'}, 'm/' . $dir ); } # ver1.03 --- end --- $contents = Local::Mobile::changeEmoji( $contents , $cgi->{'_AGENT'} ); $contents =~ s/Shift_JIS/Shift_JIS/ig; print Local::Data->new( $contents )->Shift_JIS_to_sjis_z2h()->as_string(); }; if ( $@ ) { printf( "Page Not Found." ); } $db->disconnect; # データベース切断 # ------------ End of File -------------