#!/usr/local/bin/perl use CGI::Carp qw(fatalsToBrowser); use strict; ############################################ # Wi-Fiコネクション@2ch掲示板 # # Wi-Fi板の看板を決めるスレ 発 # # # # Perl Script 「2ch掲示板看板ランダム表示」# # v1.0 (2006/01/29)【VIP クオリティ】 # # By ◆EXPwYoDqN2 (2ch-tgu-log@104.net) # # http://www.nullpo.org/2ch-logo/wifi/ # ############################################ my @img; my @img_1231; my @img_0101; my $img_boardbirth; my $img_bbsnamechange; my $img_boardbirth_mon; my $img_boardbirth_day; my $img_bbsnamechange_mon; my $img_bbsnamechange_day; # # # [注意] # このScriptはフリーソフトです。このScriptを使用したことによって # 生じた損害に対して作者は一切の責任を負いません。 # 転んでも泣かない。。。( ̄ー ̄)ニヤリッ # なお、転載改造等はは全く自由です。 # # # ▼使用方法 # 基本設定を行ってから、このScriptを適当な場所に置いてください。 # 後はパーミッションを[705 or 755]に設定し、そのURLにアクセスすることで使用することが出来ます。 # # # ▼ランダム表示以外の表示について # 以下のURL書式で第一引数と第二引数をScriptに渡してやることによって、 # ランダム表示以外の表示方法を使用することが出来ます。 # # http://ほげほげ/ほにゃらら/rand_img.cgi?第一引数+第二引数 # # ▽第一引数 # 第一引数に以下の値を設定することで、9つの表示方法を選択することが出来ます。 # # 省略時 ランダム表示 # 0 ランダム表示 # 1 秒単位表示 # 2 分単位表示 # 3 時間単位表示(「おいでよ どうぶつの森」BGM変化対応版 第2引数を設定することで特別日の変化に対応) # 4 曜日単位表示 # 5 日付単位表示 # 6 月単位表示 # 7 年単位表示(2006年を0年として画像番号を指定) # 9 各表示方法をランダム選択 # それ以外 ランダム表示 # # ▽第二引数 # 特別日変化の有無に以下の値を設定することで、時間単位表示もしくは各表示方法ランダム選択を選択した際、 # 特別な日(の特別な時間帯)に、別途指定した画像を表示することが出来ます。 # なお、この変化は原則として「おいでよ どうぶつの森」のBGM変化に対応しています。 # # 省略時 特別日変化なし # 0 特別日変化なし # 1 特別日変化あり # それ以外 特別日変化なし # # また、特別日変化をありにした場合は特別日用画像を必ず設定する必要があります。 # # ☆使用例 # ランダム表示 http://ほげほげ/ほにゃらら/rand_img.cgi # ランダム表示 http://ほげほげ/ほにゃらら/rand_img.cgi?0 # 日付単位表示 http://ほげほげ/ほにゃらら/rand_img.cgi5 # 曜日単位表示 http://ほげほげ/ほにゃらら/rand_img.cgi?4 # 時間単位表示 特別日変化なし http://ほげほげ/ほにゃらら/rand_img.cgi?3+0 # 時間単位表示 特別日変化あり http://ほげほげ/ほにゃらら/rand_img.cgi?3+1 # # ▼ディレクトリ構成 # # Script設置ディレクトリ(rand_img.cgiがあるディレクトリ) # | # +--imgディレクトリ(看板画像を置くディレクトリ) # # ################ # 基本設定開始 # ################ # #看板画像リスト #通常用画像 $img[0] = 'img20051226203753.gif'; $img[1] = 'img20051227050109.gif'; $img[2] = 'img20060110183423.gif'; $img[3] = 'img20060123033308.gif'; $img[4] = 'img20060124232811.gif'; #特別日用画像 #大晦日カウントダウン $img_1231[0] = 'img20051226203753.gif';#12月31日23時0分〜 $img_1231[1] = 'img20051227050109.gif';#12月31日23時30分〜 $img_1231[2] = 'img20060110183423.gif';#12月31日23時50分〜 $img_1231[3] = 'img20060123033308.gif';#12月31日23時55分〜 $img_1231[4] = 'img20060124232811.gif';#12月31日23時59分〜 #元旦 $img_0101[0] = 'img20051226203753.gif';#1月1日0時0分〜 $img_0101[1] = 'img20060124232811.gif';#1月1日2時0分〜 #板設置記念日 $img_boardbirth_mon = 12; $img_boardbirth_day = 15; $img_boardbirth = 'img20060123033308.gif'; #板名変更記念日 $img_bbsnamechange_mon = 12; $img_bbsnamechange_day = 30; $img_bbsnamechange = 'img20060110183423.gif'; # #看板画像のパス my $pass = "./img"; # ################ # 基本設定完了 # ################ #第1引数と第2引数を取得 my ($img_flag,$mori) = split(/\+/,$ENV{'QUERY_STRING'}); #メインルーチンここから my $rnd = 0; #現在時刻を取得 my($sec, $min, $hour, $day, $mon, $year, $wday) = localtime(time); $mon = $mon + 1; $year = $year + 1900; #各表示方法をランダム選択 第1引数 9番 if($img_flag == 9){ srand; $img_flag = int(rand(10)); } #表示方式の選択 if($img_flag == 0){ #ランダム表示 第1引数 0番(もしくは引数省略時) $rnd = &img_rand(); } elsif($img_flag == 1){ #秒表示 第1引数 1番 $rnd = &img_sec(); } elsif($img_flag == 2){ #分表示 第1引数 2番 $rnd = &img_min(); } elsif($img_flag == 3){ #時間表示 第1引数 3番(「おいでよ どうぶつの森」BGM変化対応版 第2引数が1番で特別日の変化に対応) $rnd = &img_hour(); } elsif($img_flag == 4){ #日付表示 第1引数 4番 $rnd = &img_day(); } elsif($img_flag == 5){ #曜日表示 第1引数 5番 $rnd = &img_wday(); } elsif($img_flag == 6){ #月表示 第1引数 6番 $rnd = &img_mon(); } elsif($img_flag == 7){ #年表示 第1引数 7番(2006年を0年として画像番号を設定) $rnd = &img_year(); } else{ #ランダム表示 第1引数 該当無し $rnd = &img_rand(); } print "Location: $pass\/$img[$rnd]\n\n"; exit; #メインルーチンここまで #ランダム表示 第1引数 0番(もしくは引数省略時) sub img_rand{ srand; $rnd = int(rand($#img + 1)); return($rnd); } #秒表示 第1引数 1番 sub img_sec{ $rnd = $sec%($#img + 1); return($rnd); } #分表示 第1引数 2番 sub img_min{ $rnd = $min%($#img + 1); return($rnd); } #時間表示 第1引数 3番(「おいでよ どうぶつの森」BGM変化対応版 第2引数が1番で特別日の変化に対応) #第2引数を1番にした時は、特別日用の画像リスト設定を必ず行うこと #第2引数省略時は通常の時間表示 sub img_hour{ #元旦 if($mori == 1 && $mon == 1 && $day == 1){ #1月1日0時0分〜 if(hour$ < 2){ $rnd = 0; } #1月1日2時0分〜 else{ $rnd = 1; } print "Location: $pass\/$img_0101[$rnd]\n\n"; exit; } #板設置記念日 elsif($mori == 1 && $mon == $img_boardbirth_mon && $day == $img_boardbirth_day){ print "Location: $pass\/$img_boardbirth\n\n"; exit; } #板名変更記念日 elsif($mori == 1 && $mon == $img_bbsnamechange_mon && $day == $img_bbsnamechange_day){ print "Location: $pass\/$img_bbsnamechange\n\n"; exit; } #大晦日カウントダウン elsif($mori == 1 && $mon == 12 && $day == 31){ #12月31日23時59分〜 if($min >= 59){ $rnd = 4; } #12月31日23時55分〜 elsif($min >= 55){ $rnd = 3; } #12月31日23時50分〜 elsif($min >= 50){ $rnd = 2; } #12月31日23時30分〜 elsif($min >= 30){ $rnd = 1; } #12月31日23時0分〜 else{ $rnd = 0; } print "Location: $pass\/$img_1231[$rnd]\n\n"; exit; } #通常日 else{ $rnd = $hour%($#img + 1); } return($rnd); } #日付表示 第1引数 4番 sub img_day{ $rnd = $day%($#img + 1); return($rnd); } #曜日表示 第1引数 5番 sub img_wday{ $rnd = $wday%($#img + 1); return($rnd); } #月表示 第1引数 6番 sub img_mon{ $rnd = $mon%($#img + 1); return($rnd); } #年表示 第1引数 7番(2006年を0年として画像番号を指定) sub img_year{ $year = $year - 2006; $rnd = $year%($#img + 1); return($rnd); } #EOF#