#!/usr/bin/perl
# 上のperlのパスはサーバーによって違うことがあるので、
# プロバイダーのCGI設置案内を参照して下さい。
# ===================================================================
# EASY 投票アンケート(EASY Tohyo Ver2.2)
# File name: eztohyo.cgi
# Copyright; Hiroshi Ishikawa (e-mail; laut@tky.3web.ne.jp)
# (URL; http://www.net-easy.com)
# Last Update: 2000/01/14
#
# EASY Tohyo Ver2.2は個人使用に限りフリーウェアです。
# 課金の発生する商用利用などはお問い合わせ下さい。
# また、改造は自由ですが、この欄は削除しないで下さい。
# ===================================================================
#このスクリプトは、EASY投票を改造したものです。
# Arranged by K-ji
#(E-mail : k-ji@ma5.seikyou.ne.jp)
#(URL: http://ha5.seikyou.ne.jp/home/k-ji/)
require 'cgi-lib.pl'; #他の場所にあるときは相対パスで指定
require 'jcode.pl'; #他の場所にあるときは相対パスで指定
&ReadParse;
# タイトル
$title = '2000年CDランキング';
# 見出し
$title2 = '
';
# 戻るページのURL
$back = 'http://ha5.seikyou.ne.jp/home/k-ji/main2.html'; #相対パスでも可
# この投票の説明文
$kaisetsu = '2000年シングルCDランキングです。
ぜひ1票入れていってください♪';
# グラフ用のGIFファイルの設置場所
$gif = "./graph.gif"; #左は同じディレクトリの場合。別の場所に置く時はパスも記入。
# 記録保存ファイル
$file = 'eztohyo.txt';
# パスワード(投稿記事の削除の際必要・適宜変更して下さい)
$psw = '1234';
# 各コメントの最大保存数、これを越えると古いものから削除される
$max = 5;
# 各項目の最大文字数(日本語の場合の文字数)
$length_max = '15';
# cookieを使用するかしないか
# 1を選ぶと,1回の訪問につき1回だけの投票になります。
$cook = '0'; #使用は1、使用しないは0
# cookieの初期設定
# 上の項目で「1」を選んだ場合のみ必要,「0」を選んだときはそのまま。
$cookie = 'easytohyo'; #変更してもしなくても可
# 項目の追加を認めるか
$koumoku_add = 'yes'; #認めない時は'no'に変更
# =====================================================================
# 初期設定が必要なのはここまでです
# ---------------------------------------------------------------------
# これ以下は変更の必要はありませんが、BODYタグなどを変更するだけなら
# 変更可能です。ただし、$xxxxのように変数を使っているところを変更すると
# エラーの原因となるので注意して下さい。
# =====================================================================
# cookie用に時間を取得
$time = time;
$time_last = $time - (60 * 10);
# cookieの有無を調べ、あれば取得サブルーチンへ
if($cook eq '1'){
if ($ENV{'HTTP_COOKIE'} =~ /$cookie/){
&CookieCutter;
}
}
# 時間の取得
($sec,$min,$hour,$mday,$mon,$year,$wday) = localtime;
$mon++;
@week = ('日','月','火','水','木','金','土');
$wday = $week[$wday];
$mon = sprintf("%.2d",$mon);
$mday = sprintf("%.2d",$mday);
$hour = sprintf("%.2d",$hour);
$min = sprintf("%.2d",$min);
$sec = sprintf("%.2d",$sec);
$year = substr($year,1,2);
$jikan = "$year/$mon/$mday($wday) $hour:$min:$sec";
# CGIを呼び出された場合分けに応じて条件分岐
if($in{'forked'} eq 'tohyo'){
&tohyo;
&html;
}elsif($in{'forked'} eq 'add'){
&add;
&html;
}elsif($in{'forked'} eq 'add_admin'){
&add_admin;
&delete_html;
}elsif($in{'forked'} eq 'link'){
&comment_link_html;
}elsif(($in{'forked'} eq 'admin') && ($in{'psw'} eq "$psw")){
&delete_html;
}elsif(($in{'forked'} eq 'delete') && ($in{'psw'} eq "$psw")){
&delete;
&delete_html;
}elsif($in{'action'} eq 'add_com'){
&add_com;
}else{
&html;
}
# 最初に呼び出されたときのサブルーチン
sub html{
if(!open(TXT,"$file")){&error(err_fail);}
@DATA = ;
close(TXT);
if($DATA[0] eq ''){
if(!open(TXT,"$file")){&error(err_fail);}
print TXT "0,$jikan\n";
close(TXT);
$DATA[0] = "0,$jikan\n";
}
@line1 = split(/\,/,$DATA[0]);
$total = $line1[0];
$last_time = $line1[1];
print "Content-type: text/html\n";
&SetCookie;
print "\n";
print <
$title
$title2
$kaisetsu
20$last_time現在、投票総数$totalです。
下の曲名1つにチェックして、投票ボタンを押してください。
EOM
if($koumoku_add eq 'yes'){
print "
投票したい曲が無い場合には、一番下のフォームから曲の追加もできます。\n";
}
if($cook eq '1'){
print "
1回のご訪問で1回だけ投票(または項目の追加)ができます。\n";
}
print <
EOM
}
# 以下13行は削除しないで下さい。(Copyrightです)
print <