#!/usr/local/bin/perl $script = "event.html"; require './lib/jcode.pl'; require './lib/teikei.pl'; require './lib/dbsetup.pl'; use Time::Local; # 1ページの表示件数 $pageView = 3; # NEWアイコン $newicon = 'NEW'; # NEWアイコン表示する秒数(259200 = 72時間) $newicon_time = 259200; &decode; $page = $in{'page'}; #----------------# # 書込Cookie準備 # #----------------# #$|=1; #print "Content-Type: text/html\n\n"; $setcook1 = &setCookie("ID", $COOKIE{ID}); $center .= '
'; &count; if ($mode eq ''){ &sel; } if ($mode eq 'detail'){ &view; } if ($mode eq 'list'){ &list; } #------------# # エリア選択 # #------------# sub sel { #print "point1
"; # 東京 &DBConnect; # $year = $mon = $day = $max = ""; # @res = @data = @test = @time = (); # $sth = $db->prepare("select * from event_tokyo order by "); $sth = $db->prepare("select year, mon, day from event_tokyo order by time desc limit 1"); if(!$sth->execute){ &error ("接続失敗2"); } @res = $sth->fetchrow; # while(@res = $sth->fetchrow) { # foreach(@res){ # jcode::convert(\$_, 'sjis'); # } # push(@data,"$res[0]<>$res[1]<>$res[2]<>$res[3]<>"); # } # &DBDisconnect; # foreach (@data){ # @test = split(/<>/ ,$_); # $year = $test[1]; # $mon = $test[2]; # $mday = $test[3]; # $unixtime = timelocal(0, 0, 0, $mday, $mon - 1, $year); # push(@time, $unixtime); # } # foreach(@time){ # if ($_ > $max){ $max = $_; } # } # ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($max); $unixtime = timelocal(0, 0, 0, $res[2], $res[1], $res[0]); ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($unixtime); # $tokyo_date = sprintf("%04d.%02d.%02d",$year+1900,$mon+1,$mday); $tokyo_date = sprintf("%04d.%02d.%02d",$year+1900,$mon,$mday); #print $tokyo_date;exit; #print "point2
"; # 京浜 # &DBConnect; # $year = $mon = $day = $max = ""; # @res = @data = @test = @time = (); # $sth = $db->prepare("select * from event_keihin"); $sth = $db->prepare("select year, mon, day from event_keihin order by time desc limit 1"); if(!$sth->execute){ &error ("接続失敗2"); } @res = $sth->fetchrow; # while(@res = $sth->fetchrow) { # foreach(@res){ # jcode::convert(\$_, 'sjis'); # } # push(@data,"$res[0]<>$res[1]<>$res[2]<>$res[3]<>"); # } # &DBDisconnect; # foreach (@data){ # @test = split(/<>/ ,$_); # $year = $test[1]; # $mon = $test[2]; # $mday = $test[3]; # $unixtime = timelocal(0, 0, 0, $mday, $mon - 1, $year); # push(@time, $unixtime); # } # # $max = 0; # foreach(@time){ # if ($_ > $max){ $max = $_; } # } # # ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($max); $unixtime = timelocal(0, 0, 0, $res[2], $res[1], $res[0]); ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($unixtime); # $keihin_date = sprintf("%04d.%02d.%02d",$year+1900,$mon+1,$mday); $keihin_date = sprintf("%04d.%02d.%02d",$year+1900,$mon,$mday); #print "point3
"; # 大阪 # &DBConnect; # $year = $mon = $day = $max = ""; # @res = @data = @test = @time = (); # $sth = $db->prepare("select * from event_osaka"); $sth = $db->prepare("select year, mon, day from event_osaka order by time desc limit 1"); if(!$sth->execute){ &error ("接続失敗2"); } @res = $sth->fetchrow; # while(@res = $sth->fetchrow) { # foreach(@res){ # jcode::convert(\$_, 'sjis'); # } # push(@data,"$res[0]<>$res[1]<>$res[2]<>$res[3]<>"); # } # &DBDisconnect; # foreach (@data){ # @test = split(/<>/ ,$_); # $year = $test[1]; # $mon = $test[2]; # $mday = $test[3]; # $unixtime = timelocal(0, 0, 0, $mday, $mon - 1, $year); # push(@time, $unixtime); # } # # $max = 0; # foreach(@time){ # if ($_ > $max){ $max = $_; } # } # # ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($max); $unixtime = timelocal(0, 0, 0, $res[2], $res[1], $res[0]); ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($unixtime); # $osaka_date = sprintf("%04d.%02d.%02d",$year+1900,$mon+1,$mday); $osaka_date = sprintf("%04d.%02d.%02d",$year+1900,$mon,$mday); #print "point4
"; # 札幌 # &DBConnect; # $year = $mon = $day = $max = ""; # @res = @data = @test = @time = (); # $sth = $db->prepare("select * from event_sapporo"); $sth = $db->prepare("select year, mon, day from event_sapporo order by time desc limit 1"); if(!$sth->execute){ &error ("接続失敗2"); } @res = $sth->fetchrow; # while(@res = $sth->fetchrow) { # foreach(@res){ # jcode::convert(\$_, 'sjis'); # } # push(@data,"$res[0]<>$res[1]<>$res[2]<>$res[3]<>"); # } # &DBDisconnect; # foreach (@data){ # @test = split(/<>/ ,$_); # $year = $test[1]; # $mon = $test[2]; # $mday = $test[3]; # $unixtime = timelocal(0, 0, 0, $mday, $mon - 1, $year); # push(@time, $unixtime); # } # # $max = 0; # foreach(@time){ # if ($_ > $max){ $max = $_; } # } # # ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($max); $unixtime = timelocal(0, 0, 0, $res[2], $res[1], $res[0]); ($sec,$min,$hour,$mday,$mon,$year,$wday,$dmy) = localtime($unixtime); # $sapporo_date = sprintf("%04d.%02d.%02d",$year+1900,$mon+1,$mday); $sapporo_date = sprintf("%04d.%02d.%02d",$year+1900,$mon,$mday); if ($sapporo_date eq '1970.01.01'){$sapporo_date = "";} #print "point5
"; #exit; $center .= <
ぱっちGuu誌面にて、取材決定のマークがあるホールにお邪魔し、 ぱっちGuu応援団と現役レースクィーンのPGクィーンが皆様の応援にホールに登場!当日の激出し率はなんと98%!! とにかく応援団とPGクィーンが現れるホールは興奮な出玉でお出迎え。そしてその興奮を身をもって体感していただきたい最高級のイベントです。
東京エリアはこちら
東京イベントリポート
最新記事:$tokyo_date
京浜エリアはこちら
京浜イベントリポート
最新記事:$keihin_date
大阪・阪神エリアはこちら
大阪・阪神イベントリポート
最新記事:$osaka_date

携帯でアクセス!
EOF &html; } #----------# # 一覧表示 # #----------# sub list { # ページ if ($in{'page'} eq ""){ $in{'page'} = 1; } $page = $in{'page'}; $page = int($page - 1) * $pageView; # エリア別設定 if ($in{'area'} eq 'tokyo'){ $imgdir = 'images2/event/photo'; $areatext = '東京'; $link = "京浜エリア>
大阪・阪神エリア>"; $cateimg = '東京イベントリポート'; }elsif ($in{'area'} eq 'keihin'){ $imgdir = 'images2/event/photo2'; $areatext = '京浜'; $link = "東京エリア>
大阪・阪神エリア>"; $cateimg = '京浜イベントリポート'; }elsif ($in{'area'} eq 'osaka'){ $imgdir = 'images2/event/photo3'; $areatext = '大阪・阪神'; $link = "東京エリア>
京浜エリア>"; $cateimg = '大阪・阪神イベントリポート'; } # 日時のフォーマット @week = ('日','月','火','水','木','金','土'); # ページ送り &DBConnect; @res = @lines = (); $sth = $db->prepare("SELECT DISTINCT year*10000+mon*100+day AS GaP FROM event_$in{'area'} ORDER BY GaP DESC,id ASC limit 0, 50"); if(!$sth->execute){ &error ("接続失敗2"); } while(@res = $sth->fetchrow) { push(@lines,$res[0]); } &DBDisconnect; $allkiji = $#lines + 1; # 総ページ数 $uc = ($allkiji % $pageView); if ($uc == 0){ $user_cnt = int($allkiji / $pageView); }else{ $user_cnt = int(($allkiji / $pageView) + 1); } $page_now = $in{'page'}; $last_page = $user_cnt; # 前後に表示する数 $VNo = 2; $page2 = $pageView; $pager .= "
"; $pager .= ""; $pager .= "
全$user_cnt頁中 / $page_now頁目表\示 "; if ($in{'page'} eq "") { $in{'page'} = 1; } $start = $in{'page'} - $VNo; if ($start < 1) { $start = 1; } elsif ($start == 1) { ; } elsif ($start > 2) { $pager .= "[ 1 ] .."; } else { $pager .= "[ 1 ]"; } $end = $in{'page'} + $VNo; if ($end >= $last_page) { $end = $last_page; } elsif ($end < $last_page - 1) { $last_link = " .. [ $last_page ]\n"; } else{ $last_link = " [ $last_page ]\n"; } $n = $vp = $fl = 0; foreach $vp ($start .. $end) { $ffv = ($vp - 1) * $page2; if ($vp == $in{'page'}) { $n = 1; $page_now = $vp; if ($vp == 1){ $pager .= "[ $vp ] "; }elsif($vp == 2){ $Back_link = "[ 前の$pageView件 "; if ($end == 3){ $pager .= " $vp "; } else{ $pager .= " $vp |"; } }elsif($last_page == $vp){ $Back_link = "[ 前の$pageView件 "; $pager .= " [ $vp ]"; }else{ $Back_link = "[ 前の$pageView件 "; $pager .= "| $vp "; } }elsif ($vp == 1) { $pager .= "[ 1 ]"; }else{ if ($n) { $n = 0; $Next_link = " 次の$pageView件 ]"; $next = $vp; } else { $next = $vp; } if (($start > 1) && ($start == $vp) || ($fl == 0) && !($last_page == $vp)){ $pager .= " $next "; $fl++; }elsif ($last_page == $vp){ $pager .= " [ $next ]"; }else{ $pager .= "| $next "; } } } $pager .= " $last_link"; # 次の何件 if ($last_page >= 2){ if (($Back_link ne "") && ($Next_link)){ $pager .= "$Back_link | $Next_link "; } elsif($Back_link eq ""){ $pager .= "[ $Next_link"; } elsif($Next_link eq ""){ $pager .= "$Back_link ]"; } } $pager .= "
\n"; # ページ送りここまで # 各エリア紹介文みたいなもの $center .= < var scrj = 1; function softScrollBack() { if(navigator.appName == "Microsoft Internet Explorer" && document.compatMode == "CSS1Compat") { var scdist = document.body.parentNode.scrollTop; } else { var scdist = document.body.scrollTop; } if(scrj<50 && scdist) { scdist = (scdist>2) ? Math.ceil(scdist*.2) : 1; scrj++; scrollBy(0,-scdist); setTimeout("softScrollBack()",20); } else { scrollTo(0,0); scrj = 1; } } // -->
$cateimg
イベントリポート
$areatextエリアリスト
$link
EOF #
ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。ここにテキストが入ります。
$center .= "
$pager
\n"; # yyyymmdd形式で上位pageview日間取得 &DBConnect; @res = @lines = (); $sth = $db->prepare("SELECT DISTINCT year*10000+mon*100+day AS GaP FROM event_$in{'area'} ORDER BY GaP DESC LIMIT $page,$pageView"); if(!$sth->execute){ &error ("接続失敗2"); } while(@res = $sth->fetchrow) { push(@lines,$res[0]); } &DBDisconnect; # サムネイル表示スタート。取得したyyyymmdd繰り返し。pageview回数だね。 foreach(@lines){ # 年月日分割 $year_d = substr($_, 0, 4); $mon_d = substr($_, 4, 2); $day_d = substr($_, 6, 2); # 曜日の取得(UNIXTIMEにして、また戻す。) $unixtime = timelocal(0, 0, 0, $day_d, $mon_d - 1, $year_d); ($a,$a,$a,$a,$a,$a,$wday) = localtime($unixtime); $newicon_view = ""; $nowtime = time; if (($unixtime+$newicon_time) > $nowtime){ $newicon_view = $newicon; } # 日付のバー表示 $center .= "
$year_d $mon_d/$day_d($week[$wday])
\n"; $center .= ''; # 上位pageview日間の記事をプレビュー表示。yyyymmdd形式で同じものを取得 &DBConnect; @res = (); $loopcount = 0; $sth = $db->prepare("SELECT * FROM event_$in{'area'} where year*10000+mon*100+day = \"$_\" order by id asc"); if(!$sth->execute){ &error ("接続失敗3"); } while(@res = $sth->fetchrow){ foreach(@res){ jcode::convert(\$_, 'sjis'); } # 1列3個表示。 if ($loopcount == 0){ $tr = ''; $tdwidth = 154; $loopcount++; }elsif($loopcount == 2){ $tr = ''; $tdwidth = 150; $loopcount = 0; }else{ $tdwidth = 154; $tr = ''; $loopcount++; } $thm_img = ""; if ($res[36]){ $thm_img = ""; }else{ $thm_img = ""; } # 文字数を数えて22文字以上は表示しない $str = $res[5]; jcode::convert(\$str, 'sjis'); for ($i = 0; $i < 44; $i++) { $c = substr($str, $i, 1); if ($c =~ /[\x80-\xff]/) { $c = substr($str, $i++, 2); } } if (length($res[5]) > $i) { $res[5] = substr($res[5],0,$i) . "..."; } $center .= <
$newicon_view
$newicon_view
$thm_img
$res[5]
EOF } &DBDisconnect; if ($loopcount == 2){ $center .= "\n"; } $center .= "\n
\n"; $center .= '
ページのトップへ戻る
' . "\n"; } # サムネイルここまで # ページ送り表示 $center .= "
$pager"; $center .= <イベントリポート ≫ $areatextエリア一覧 EOF $center .= "\n"; &html; } #------# # 詳細 # #------# sub view { if ($in{'area'} eq 'tokyo'){ $imgdir = 'images2/event/photo'; $areatext = '東京'; $cateimg = '東京イベントリポート'; }elsif ($in{'area'} eq 'keihin'){ $imgdir = 'images2/event/photo2'; $areatext = '京浜'; $cateimg = '京浜イベントリポート'; }elsif ($in{'area'} eq 'osaka'){ $imgdir = 'images2/event/photo3'; $areatext = '大阪・阪神'; $cateimg = '大阪・阪神イベントリポート'; }elsif ($in{'area'} eq 'sapporo'){ $imgdir = 'images2/event/photo4'; $areatext = '札幌・道央'; $cateimg = '札幌・道央イベントリポート'; } &DBConnect; @res = @lines = (); $sth = $db->prepare("select * from event_$in{'area'} where time = $in{'q'}"); if(!$sth->execute){ &error ("接続失敗2"); } while(@res = $sth->fetchrow) { foreach(@res){ jcode::convert(\$_, 'sjis'); } push(@lines,"$res[0]<>$res[1]<>$res[2]<>$res[3]<>$res[4]<>$res[5]<>$res[6]<>$res[7]<>$res[8]<>$res[9]<>$res[10]<>$res[11]<>$res[12]<>$res[13]<>$res[14]<>$res[15]<>$res[16]<>$res[17]<>$res[18]<>$res[19]<>$res[20]<>$res[21]<>$res[22]<>$res[23]<>$res[24]<>$res[25]<>$res[26]<>$res[27]<>$res[28]<>$res[29]<>$res[30]<>$res[31]<>$res[32]<>$res[33]<>$res[34]<>$res[35]<>"); } &DBDisconnect; $photo_view1 = $photo_view2 = $photo_view3 = $photo_view4 = ""; ($t,$year,$mon,$day,$week,$eve_tit,$hall_name,$P1,$P1_count,$P2,$P2_count,$P3,$P3_count,$S1,$S1_count,$S2,$S2_count,$S3,$S3_count,$PG_comment,$photo1,$w1,$h1,$photo2,$w2,$h2,$photo3,$w3,$h3,$photo4,$w4,$h4,$vid,$koukan_P,$koukan_S,$PGqueen) = split(/<>/, $lines[0]); if ($photo1 ne ""){ $photo_view1 = "\"\""; } if ($photo2 ne ""){ $photo_view2 = "\"\""; } if ($photo3 ne ""){ $photo_view3 = "\"\""; } if ($photo4 ne ""){ $photo_view4 = "\"\""; } if (($P1 == "") & ($P1_count == "") & ($P2 == "") & ($P2_count == "") & ($P3 == "") & ($P3_count == "") & ($S1 == "") & ($S1_count == "") & ($S2 == "") & ($S2_count == "") & ($S3 == "") & ($S3_count == "")){ $justwait = "只今データー処理中!!しばらくお待ちください!!"; }else{ $justwait = ""; } $center .= <イベントリポート詳細
$year $mon/$day($week)
$hall_name
EOF if (($w1 <= 150) && ($w2 <= 150) && ($w3 <= 150)){ $center .= < EOF }else{ $center .= < $photo_view1 $photo_view2 $photo_view3 $photo_view4 EOF } # イベント名表示 $center .= <イベント名

$eve_tit

EOF # 内容表示 if ($PG_comment ne ""){ $center .= <イベント内容
$PG_comment
EOF } # PGQ表示(札幌以外) if ($in{'area'} ne 'sapporo'){ if ($PGqueen ne ""){ $center .= <PGクイーン
$PGqueen
EOF } } # 出玉表示(札幌以外) if ($in{'area'} ne 'sapporo'){ $center .= <出玉 EOF if ($justwait ne ""){ $center .= "
$justwait
"; }else{ if (($P1 ne "") & ($S1 ne "")){ $center .= "\n"; $center .= "\n"; $center .= "\n"; $center .= "
\n"; } if ($P1 ne ""){ $center .= ''."\n"; $center .= "\n"; $center .= "\n"; $center .= "\n"; if ($P2 ne ""){ $center .= "\n"; $center .= "\n"; } if ($P3 ne ""){ $center .= "\n"; $center .= "\n"; } $center .= "
パチンコ
1位$P1
$P1_count P
2位$P2
$P2_count P
3位$P3
$P3_count P
\n"; if ($koukan_P ne ""){ $center .= ''; $center .= ""; $center .= "
交換率$koukan_P P
\n"; } } if (($P1 ne "") & ($S1 ne "")){ $center .= "
\n"; } if ($S1 ne ""){ $center .= ''."\n"; $center .= "\n"; $center .= "\n"; $center .= "\n"; if ($S2 ne ""){ $center .= "\n"; $center .= "\n"; } if ($S3 ne ""){ $center .= "\n"; $center .= "\n"; } $center .= "
スロット
1位$S1
$S1_count M
2位$S2
$S2_count M
3位$S3
$S3_count M
\n"; if ($koukan_S ne ""){ $center .= ''; $center .= ""; $center .= "
交換率$koukan_S M
\n"; } } if (($P1 ne "") & ($S1 ne "")){ $center .= "
\n"; } } } $center .= <[ 戻る ] EOF &html; } #----------# # カウンタ # #----------# sub count { # カウントファイル $log = "count/event.dat"; # ロックファイル名 $lockfile = 'count/lock/event.lock'; &lock; #カウントファイル読込み open(IN,"$log"); $in_line = ; close(IN); #カウント1増やす $in_line++; #カウントファイル書込み open(OUT,">$log"); print OUT $in_line; close(OUT); &unlock; } sub lock { local($retry) = 5; while (!mkdir($lockfile, 0755)) { sleep(1); } } sub unlock { rmdir($lockfile); }