紅音ほたるの何処が好き?あなたの好きなほたるちゃんを投票してね♪

なんだかんだ言ってもやっぱり君も紅音ほたるとヤリタイんだろ? CT; //★アンケート別閲覧投票ページのアンケート名の上に表示するメッセージ。 //このすぐ下の行と CM; という行の間の行に(HTMLタグも通常通り)書いてください。 //何も表示しないなら間の行を削除します。 $ContentsMode = <<複数投票はOKですが1項目1票でお願いします。

CM; //================================================================================================== //メイン処理(変数初期化) //================================================================================================== $This = $_SERVER['PHP_SELF']; $InputErrorMessage = array(); $ProcessEndMessage = array(); $Reload = ""; $ADMIT = 0; $Version = "紅音ほたるを照らす愛のほたる研究会"; //-------------------------------------------------------------------------------------------------- //グローバルナビリンク //$TopPage = "TOP"; $TopPage = ($Pmt_AddTheme) ? "一覧/登録" : "一覧"; $Navi = "
{$Title} [ {$TopPage} ] [ 過去ログ ] [ HELP ] [ 紅音ほたる無修正画像へ ]"; if ($_GET['mode' ]== "vvr") { $Navi .=" [ 更新 ]"; } if ($_GET['mode'] == "vic" or $_GET['mode']=="vac") { $Navi .=" [ 投票ページへ戻る ]"; } $Navi .="
"; //================================================================================================== //メイン処理(モード別) //================================================================================================== //モード別(ポスト) if ($_POST['adminpass'] and $_GET['mode'] !="" and $_POST['mode'] !="html" and $_GET['mode'] !="past") { CheckPassword($_POST['adminpass'],$Pmt_AuthorAdmin); } switch ($_POST['mode']) { case "html": //過去ログ化 if ($_POST['adminpass']) { CheckPassword($_POST['adminpass'],0); } if ($ADMIT) { GetThemeData($_POST['themenum']); $dat = date("YmdHi",$Theme_EntrytDay[0]); $PastLog = @fopen("./past/".$dat.".html", "w") or DieIOError("投票ログファイルが開けません。"); flock($PastLog, LOCK_EX); WriteVoteLog(); flock($PastLog, LOCK_UN); fclose($PastLog); $link = ""; if ($handle = opendir("./past/")) { while (false !== ($ftmp = readdir($handle))) { $finfo = pathinfo($ftmp); if (!is_dir($ftmp) and $finfo['extension'] == "html") { $lines = @file("./past/".$ftmp); foreach ($lines as $tmp) { if (eregi("(.*)", $tmp, $out)) { $link .= "".$out[1]."\n"; break; } } } } closedir($handle); } $fp = fopen("./past/past.dat","w") or DieIOError("過去ログタイトルファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, $link); flock($fp, LOCK_UN); fclose($fp); $ProcessEndMessage[count($ProcessEndMessage)] = "過去ログ化は正常に終了しました。
過去ログは ".$dat.".html です。"; $ADMIT = 0; } break; case "dellog": //過去ログ削除 if (isset($_POST['lognum'])) { @unlink($_POST['lognum']) or DieIOError("過去ログファイルが開けません。"); $link = ""; if ($handle = opendir("./past/")) { while (false !== ($ftmp = readdir($handle))) { $finfo = pathinfo($ftmp); if (!is_dir($ftmp) and $finfo['extension'] == "html") { $lines = @file("./past/".$ftmp); foreach ($lines as $tmp) { if (eregi("(.*)", $tmp, $out)) { $link .= "".$out[1]."\n"; break; } } } } closedir($handle); } $fp = fopen("./past/past.dat","w") or DieIOError("過去ログタイトルファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, $link); flock($fp, LOCK_UN); fclose($fp); $ProcessEndMessage[count($ProcessEndMessage)] = "削除しました。"; } else { $InputErrorMessage[count($InputErrorMessage)] = "削除する過去ログが選択されていません。"; } break; case "editdata": //アンケート設定変更 $NEWAUTHORCOMMENT = $_POST['authorcomment']; $NEWTHEME = $_POST['newtheme']; $NEWTHEMEAUTHOR = $_POST['newthemeauthor']; $THEMEAUTHORPASS = $_POST['themeauthorpass']; CheckString($NEWAUTHORCOMMENT,0,$ThemeComment_maxlen,"コメント"); $NEWAUTHORCOMMENT = ConvertString($NEWAUTHORCOMMENT); CheckString($NEWTHEME,4,$ThemeTitle_maxlen,"アンケート名"); $NEWTHEME = ConvertString($NEWTHEME); CheckString($NEWTHEMEAUTHOR,2,$ThemeAuthor_maxlen,"登録者名"); $NEWTHEMEAUTHOR = ConvertString($NEWTHEMEAUTHOR); if ($_POST['nolimit'] or !$_POST['yyyy']) { $NewClosingDay = 0; } else { $NewClosingDay = mktime(0,0,0,$_POST['mm'],$_POST['dd'],$_POST['yyyy']); } if (!count($InputErrorMessage)) { $LogLines = @file($DataDir.$_POST['editthemenum'].$LogExt); $fp = @fopen($DataDir.$_POST['editthemenum'].$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); $logline = explode("<|>", $LogLines[0]); $tmp = explode("<>", $logline[0]); $tmpline = $_POST['editthemenum']."<>".$NEWTHEME."<>".$NEWTHEMEAUTHOR."<>".$tmp[3]."<>".$tmp[4]."<>".$NewClosingDay."<>".$_POST['newpmt_additem']."<>".$_POST['newpmt_secretvote']."<>".$_POST['newpmt_writecomment']."<>".$NEWAUTHORCOMMENT."<>".$_POST['newdispcommvote']."<>".$tmp[11]; $LogLines[0] = $tmpline."<|>".$logline[1]; fputs($fp, implode('', $LogLines)); flock($fp, LOCK_UN); fclose($fp); $IndexLines = @file($DataDir.$IndexFile); $fp = @fopen($DataDir.$IndexFile, "w") or DieIOError("インデックスファイルが開けません。"); flock($fp, LOCK_EX); for ($i = 0 ; $i < count($IndexLines) ; $i++) { $dat = explode("<>", $IndexLines[$i]); if ($dat[0] == $_POST['editthemenum']) { $IndexLines[$i] = $tmpline."<|>dummy\n"; } } fputs($fp, implode('', $IndexLines)); flock($fp, LOCK_UN); fclose($fp); $Reload = $This."?mode=vvr&tn=".$_POST['editthemenum']; $ProcessEndMessage[count($ProcessEndMessage)] = "アンケートの設定を変更しました。
変更した「{$NEWTHEME}」を確認する。"; WriteThemeTitle(); } break; case "deltheme": //アンケート削除 if ($ADMIT) { $IndexLines=@file($DataDir.$IndexFile) or DieIOError("インデックスファイルが開けません。"); if (count($IndexLines) > 0) { for ($i = 0 ; $i < count($IndexLines) ; $i++) { $tmp = explode("<>", $IndexLines[$i]); $dat[$i] = $tmp[0]; } if (!in_array($_POST['themenum'],$dat)) { $InputErrorMessage[count($InputErrorMessage)] = "アンケートナンバーが正しくありません。"; } if (!count($InputErrorMessage)) { array_splice($IndexLines,array_search($_POST['themenum'],$dat),1); $fp = @fopen($DataDir.$IndexFile, "w") or DieIOError("インデックスファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, implode('', $IndexLines)); flock($fp, LOCK_UN); fclose($fp); unlink($DataDir.$_POST['themenum']."$LogExt"); $Reload = $This; $ProcessEndMessage[count($ProcessEndMessage)] = "アンケートを削除しました。更新"; WriteThemeTitle(); $_GET['mode'] = ""; } } } break; case "addtheme": //アンケート登録 $NEWAUTHORCOMMENT = $_POST['authorcomment']; $NEWTHEME = $_POST['newtheme']; $NEWTHEMEAUTHOR = $_POST['newthemeauthor']; $THEMEAUTHORPASS = $_POST['themeauthorpass']; CheckString($NEWAUTHORCOMMENT,0,$ThemeComment_maxlen,"コメント"); $NEWAUTHORCOMMENT = ConvertString($NEWAUTHORCOMMENT); CheckString($NEWTHEME,4,$ThemeTitle_maxlen,"アンケート名"); $NEWTHEME = ConvertString($NEWTHEME); CheckOldTheme($NEWTHEME); CheckString($NEWTHEMEAUTHOR,2,$ThemeAuthor_maxlen,"登録者名"); $NEWTHEMEAUTHOR = ConvertString($NEWTHEMEAUTHOR); CheckString($THEMEAUTHORPASS,4,10,"削除用パスワード"); $THEMEAUTHORPASS = ConvertString($THEMEAUTHORPASS); $THEMEAUTHORPASS = crypt($THEMEAUTHORPASS, "adminpass"); if ($_POST['nolimit'] or !$_POST['yyyy']) { $NewClosingDay = 0; } else { $NewClosingDay = mktime(0,0,0,$_POST['mm'],$_POST['dd'],$_POST['yyyy']); $nowdate = getdate(); $nowdate["now"] = mktime(0,0,0,$nowdate["mon"],$nowdate["mday"],$nowdate["year"]); if ($nowdate["now"] > $NewClosingDay) { $InputErrorMessage[count($InputErrorMessage)] = "投票締切り日が現在より過去の日付になっています。"; } } if (!count($InputErrorMessage)) { $IndexLines = @file($DataDir.$IndexFile); $fp = @fopen($DataDir.$IndexFile, "a") or DieIOError("インデックスファイルが開けません。"); flock($fp, LOCK_EX); $tmp = explode("<>", $IndexLines[count($IndexLines)-1]); $NewThemeNumber = $tmp[0]+1; $NewEntryDay = time(); $NewThemeLine = $NewThemeNumber."<>".$NEWTHEME."<>".$NEWTHEMEAUTHOR."<>".$THEMEAUTHORPASS."<>".$NewEntryDay."<>".$NewClosingDay."<>".$_POST['newpmt_additem']."<>".$_POST['newpmt_secretvote']."<>".$_POST['newpmt_writecomment']."<>".$NEWAUTHORCOMMENT."<>".$_POST['dispcommvote']."<>0<|>dummy\n"; fputs($fp, $NewThemeLine); flock($fp, LOCK_UN); fclose($fp); $fp = @fopen($DataDir.$NewThemeNumber.$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, $NewThemeLine); flock($fp, LOCK_UN); fclose($fp); $Reload = $This."?mode=vvr&tn=".$NewThemeNumber; $ProcessEndMessage[count($ProcessEndMessage)] = "新規アンケートを登録しました。パスワードは忘れないようにしてください。
今登録した「{$NEWTHEME}」への項目追加・投票もお忘れなく!"; WriteThemeTitle(); } break; case "vote": //投票、単項目追加 $VOTERIP = $_SERVER['REMOTE_ADDR']; $VOTERDATE = time(); if ($SerialVoteWait_Item) { GetThemeData($_GET['tn']); CheckSerialVote_Item($_POST['voteitemnum']); } if ($SerialVoteWait_Theme) { (isset($LASTVOTE)) or GetThemeData($_GET['tn']); CheckSerialVote_Theme(); } $VOTERNAME = $_POST['votername']; $VOTERCOMMENT = $_POST['votercomment']; GetThemeData($_POST['themenum']); CheckString($VOTERNAME,$SECRETVOTE,$VoterName_maxlen,"名前"); $VOTERNAME = ConvertString($VOTERNAME); if (!$VOTERNAME) { $VOTERNAME = $SecretVoteName; } CheckString($VOTERCOMMENT,$WRITECOMMENT,$VoterComment_maxlen,"コメント"); $VOTERCOMMENT = ConvertString($VOTERCOMMENT); if ($_POST['newitem'] != "") { $NEWITEM = $_POST['newitem']; CheckString($NEWITEM,1,$ItemName_maxlen,"新項目"); $NEWITEM = ConvertString($NEWITEM); CheckOldItem($NEWITEM,$_POST['themenum']); $VoteLines[0] = rtrim($VoteLines[0])."<>".$NEWITEM."\n"; if (!$_POST['novote']) { $VoteLines[count($VoteLines)] = count($ITEM)."<>".$NEWITEM."<>".$VOTERNAME."<>".$VOTERCOMMENT."<>".$VOTERIP."<>".$VOTERDATE."\n"; } else { $novoteflg = 1; } } elseif ($_POST['voteitemnum'] == "dummy") { $InputErrorMessage[count($InputErrorMessage)] = "投票項目が選択されていません。"; } else { $VoteLines[0] .= "\n"; $VoteLines[count($VoteLines)] = $_POST['voteitemnum']."<>アイテム名(未使用)<>".$VOTERNAME."<>".$VOTERCOMMENT."<>".$VOTERIP."<>".$VOTERDATE."\n"; } if (!count($InputErrorMessage)) { $fp = @fopen($DataDir.$_POST['themenum'].$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, implode('', $VoteLines)); flock($fp, LOCK_UN); fclose($fp); if (!$novoteflg) { WriteThemeIndex($_POST['themenum']); } $Reload = $This."?mode=vvr&tn=".$_POST['themenum']; if ($_POST['newitem'] != "") { $ProcessEndMessage[count($ProcessEndMessage)] = "項目「{$NEWITEM}」を追加/投票しました。更新"; } else { $ProcessEndMessage[count($ProcessEndMessage)] = "項目「{$ITEM[$_POST['voteitemnum']]}」に1票入れました。更新"; } } break; case "delvote": //投票削除 if ($ADMIT) { if ($_POST['votenum'] > $Total or !$_POST['votenum']) { $InputErrorMessage[count($InputErrorMessage)] = "投票ナンバーが正しくありません。"; } else { array_splice($VoteLines,$_POST['votenum'],1); $fp = @fopen($DataDir.$_GET['tn'].$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); $VoteLines[0] .= "\n"; fputs($fp, implode('', $VoteLines)); flock($fp, LOCK_UN); fclose($fp); $Reload = $This."?mode=vac&tn=".$_GET['tn']; $ProcessEndMessage[count($ProcessEndMessage)] = "投票ナンバー {$_POST['votenum']} を削除しました。"; } } break; case "delitem": //項目削除 GetThemeData($_POST['themenum']); if ($_POST['delitemnum'] == "dummy") { $InputErrorMessage[count($InputErrorMessage)] = "削除する項目を選択してください。"; } else { $olditem = $ITEM[$_POST['delitemnum']]; array_splice($ITEM,$_POST['delitemnum'],1); for ($i = 1 ; $i <= $Total ; $i++) { $dat = explode("<>", $VoteLines[$i]); if ($dat[0] == $_POST['delitemnum']) { $VoteLines[$i] = ""; } if ($dat[0] > $_POST['delitemnum']) { $dat[0]--; $VoteLines[$i] = implode('<>', $dat); } } $VoteLines[0] = implode('<>', $ITEM); $VoteLines[0] = $THEMEDATA[0]."<|>".$VoteLines[0]."\n"; $fp = @fopen($DataDir.$_POST['themenum'].$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, implode('', $VoteLines)); flock($fp, LOCK_UN); fclose($fp); $Reload = $This."?mode=vvr&tn=".$_POST['themenum']; $ProcessEndMessage[count($ProcessEndMessage)] = "項目「{$olditem}」 を削除しました。更新"; } break; case "additems": //項目一括追加 GetThemeData($_GET['tn']); $NEWITEMS = array(); $flg = 0; $array = array_unique($_POST['newitems']); while (list($key, $val) = each($array)) { $val = rtrim($val); if ($val) { $NEWITEMS[$key] = ConvertString($val); if (!in_array($NEWITEMS[$key],$ITEM)) { $VoteLines[0] .= "<>".$NEWITEMS[$key]; $ProcessEndMessage[count($ProcessEndMessage)] = "「$NEWITEMS[$key]」を追加しました。"; $flg++; } } } if ($flg) { $VoteLines[0] .= "\n"; $fp = @fopen($DataDir.$_POST['themenum'].$LogExt, "w") or DieIOError("投票ログファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, implode('', $VoteLines)); flock($fp, LOCK_UN); fclose($fp); $Reload = $This."?mode=vvr&tn=".$_POST['themenum']; $ProcessEndMessage[count($ProcessEndMessage)] = "以上、全部で{$flg}項目を追加しました。更新"; } else { $InputErrorMessage[count($InputErrorMessage)] = "追加項目が入力されていないか、項目が重複していたために追加されませんでした。"; } break; } // end of switch echo << HEAD; #正常処理後HTTPヘッダリフレッシュでページリロードもいいかも #if ($Reload) { echo ""; } //-------------------------------------------------------------------------------------------------- //モード別(ゲット) $TitleList = @file($DataDir.$TitleFile); switch ($_GET['mode']) { case "": //アンケート一覧・登録 echo "{$Title}\n\n\n{$Navi}\n{$TitleList[0]}\n

{$Title}

\n"; echo $ContentsTop; DispAllTheme(); if ($_POST['adminpass'] and !$ADMIT) { CheckPassword($_POST['adminpass'],0); } (!count($InputErrorMessage)) or EchoInputError(); (!count($ProcessEndMessage)) or EchoProcessEnd(); if ($Pmt_AddTheme or $ADMIT or $_POST['mode'] =="addtheme") { DispEntryForm(); } break; case "past": //過去ログ選択 if ($_POST['adminpass']) { CheckPassword($_POST['adminpass'],0); } $PastList = @file("./past/past.dat"); echo "{$Title}:過去ログ\n\n\n{$Navi}\n{$TitleList[0]}

過去ログ

\n"; (!count($InputErrorMessage)) or EchoInputError(); (!count($ProcessEndMessage)) or EchoProcessEnd(); echo "

過去に実施していたアンケートの結果を見ることができます。

\n"; if ($PastList) { $PastList = array_reverse($PastList); if ($ADMIT) { echo "
\n"; } echo "\n"; echo "\n"; while (list($key) = each($PastList)) { if ($ADMIT) { eregi("href=\"(.*)\">", $PastList[$key], $out); echo ""; } echo ""; echo "\n"; } echo "
アンケート名
".$PastList[$key]."
\n"; if ($ADMIT) { echo "

削除する過去ログを選択して下の削除ボタンをクリックしてください。

"; echo "\n
\n"; } } else { echo "

過去ログはありません。

"; } break; case "vvr": //投票結果表示 if ($_POST['mode'] == "edittheme" and $ADMIT) { echo "{$Title} Q:{$Theme_Title[0]}\n\n\n{$Navi}\n{$TitleList[0]}\n"; echo $ContentsMode; (!count($ProcessEndMessage)) or EchoProcessEnd(); $nes_name = ($SECRETVOTE) ? "・必須" : ""; $nes_comment = ($WRITECOMMENT) ? "・必須" : ""; echo "

{$Theme_Title[0]}

\n"; echo "
[ 登録者:{$Theme_AuthorName[0]} さん / 登録日:".date("y/m/d",$Theme_EntrytDay[0])." / 締切日:{$CLOSINGDAY} / 得票数:{$Total}票 ]
\n"; if ($Theme_Comment[0]) { echo "

$Theme_Comment[0]

\n"; } EditEntryForm($_GET['tn']); } else { GetThemeData($_GET['tn']); echo "{$Title} Q:{$Theme_Title[0]}\n\n\n{$Navi}\n{$TitleList[0]}\n"; echo $ContentsMode; (!count($InputErrorMessage)) or EchoInputError(); (!count($ProcessEndMessage)) or EchoProcessEnd(); DispAllVote($_GET['tn']); } break; case "vic": //項目別投票表示 GetThemeData($_GET['tn']); echo "{$Title} Q:{$Theme_Title[0]} / A:{$ITEM[$_GET['in']]}\n\n\n{$Navi}\n{$TitleList[0]}\n"; echo $ContentsMode; DispItemComment($_GET['tn'],$_GET['in']); break; case "vac": //全ての投票表示 GetThemeData($_GET['tn']); echo "{$Title} Q:{$Theme_Title[0]} / すべての投票\n\n\n{$Navi}\n{$TitleList[0]}\n"; echo $ContentsMode; (!count($InputErrorMessage)) or EchoInputError(); (!count($ProcessEndMessage)) or EchoProcessEnd(); DispAllComment($_GET['tn']); break; case "help": //ヘルプ echo "マルチアンケートEX HELPページ\n\n\n{$Navi}\n{$TitleList[0]}\n"; ?>

マルチアンケートEX HELP

マルチアンケートEXは1つのスクリプトで複数のアンケート(というか投票?)を行えるPHPのフリースクリプトです。管理者の設定にもよりますが、管理者だけではなく参加者もアンケートと投票項目を自由に追加でき、アンケートはコメントの要・不要や投票締切日などをアンケート毎に設定することができます。

各ページの説明

一覧/登録ページ(マルチアンケートEXトップ)

現在登録されているアンケートの詳細を一覧できるマルチアンケートEXのトップページです。アンケート名のリンクをクリックするとそのアンケートの閲覧・投票ページが表示されます。アンケートの登録もこのページで行います(ただし、誰でもアンケートを登録できる設定になっている場合のみ)。

アンケート別閲覧投票ページ

登録されているアンケートを個別に閲覧・投票するページです。投票結果は見れば分かるでしょうから説明は省略します。投票フォームの下には最近の投票が表示されます。すべての投票を見るには「すべての投票を見る」というリンクをクリックしてください。項目別に投票を見るには投票結果の項目名のリンクをクリックしてください。アンケートの設定変更や項目の削除などもこのページから行います。

過去ログ選択ページ

アンケートの過去ログがあれば、このページで選択し閲覧できます。

投票

投票は、投票したい項目をセレクトボックスで選択して必要に応じて名前やコメントを記入してから投票ボタンをクリックします。

項目追加

投票したい項目がない場合は、「新項目」の欄に項目を記入してから投票してください。その際、「新項目に票は入れない」をチェックしておくと票を入れずに項目のみを追加することができます。あらかじめ項目を用意しておきたい時はそうしてください。管理者が登録者のアンケート管理を許可している場合は「項目管理」で30項目まで一括追加できます。登録者パスでも管理者やアンケート登録者の設定によっては項目を追加できないこともあります。

連続投票制限

管理者設定により、同じアンケートや同じ項目への連続投票が制限されることもあります。

アンケート登録

誰でも自由にアンケートを登録できる設定になっている場合は一覧/登録ページにアンケート登録フォームが表示されます。登録時に可能な設定もまた管理者により制限されることがありますが、登録時には以下の設定が可能です。これらの設定は登録者のアンケート管理が許可されていれば登録後に変更できます。

アンケート名

アンケートあるいは投票の名前(テーマ)です。もちろん必須。

あなたの名前

登録者として表示されるあなたの名前です。必須。

コメント

アンケート別投票閲覧ページのアンケート名の下に表示されます。登録者として何か一言あれば記入してください。なければ無記入でも構いません。

管理パス

登録したアンケートの管理(削除や設定変更)の際に必要なパスワードです。必須。

投票締切り日

投票締切り日をなしにするには「締切りなし」をチェックします。投票の締切り日を設定したい場合は、締切り年月日をセレクトボックスで選んで、「締切りなし」のチェックをはずしておきます。締切り日が4月31日のように無効な日付だった場合は、有効な日付に自動的に繰り越されます(この場合は5月1日)。締切り単位は日です。締切りが4月30日の場合は5月1日からは投票できなくなります。

投票表示設定 コメント付き投票のみ表示する

「コメント付き投票のみ表示する」をチェックしておくと「最近の投票」などの投票を表示する際にコメントのある投票のみを表示します。

投票時設定 項目追加可

「項目追加可」をチェックしておくとアンケートに誰でも自由に新項目を追加できます。管理者がアンケート登録者のアンケート管理を許可していない場合は、ここをチェックしておかないと自分でも追加できないので注意してください。

投票時設定 名前必須

「名前必須」をチェックしておくと投票時に投票者名の記入が必要になります。これをチェックしない場合は無記名投票が可能になり、管理者が設定した匿名が勝手に付けられます。

投票時設定 コメント必須

「コメント必須」をチェックしておくと投票時にコメントの記入が必要になります。

アンケート管理

管理者パスによる管理モードではアンケート毎の設定や管理者設定に制限されることなくすべての操作・設定が可能になります。管理者が登録者のアンケート管理を許可している場合は登録者パスでも、以下の操作・設定が可能になります(管理者設定により制限されるものもあります)。

アンケートの登録

管理者設定が誰でもアンケートを登録できるようになっていれば、一覧/登録ページにアンケート登録フォームが表示されるので、そのフォームに必要事項を記入してから登録ボタンをクリックします。

アンケートの削除

削除したいアンケートの投票閲覧ページの最下部にあるフォームに、管理パスを入力してセレクトボックスで「削除」を選択してから送信ボタンをクリックします。

アンケートのHTML化

HTML化したいアンケートの投票閲覧ページの最下部にあるフォームに、管理パスを入力してセレクトボックスで「HTML化」を選択してから送信ボタンをクリックします。「HTML化」では投票結果(グラフと全投票)をHTMLファイルで保存します。投票期間が過ぎたアンケート等を過去ログとして残しておきたい時は、削除する前にHTML化しておくと過去ログページから選択・閲覧できます。この機能は管理者パスでのみ使用できます。

過去ログの削除

過去ログ選択ページの管理パス送信フォームに管理パスを入力して送信すると、過去ログの削除フォームが表示されます。チェックボックスで削除する過去ログを選択して削除ボタンをクリックします。

項目の追加・削除

アンケート別投票閲覧ページの最下部にあるフォームに、管理パスを入力してセレクトボックスで「項目管理」を選択してから送信ボタンをクリックすると、項目の追加・削除フォームが表示されます。項目1つずつの追加については上述の「項目追加」を見てください。項目追加と同時に票を入れることはできませんが、一度に30項目まで一括追加も可能です。ただし、一括追加時は文字列の長さをチェックしないので注意してください。既に同じ項目があれば追加されません。項目を削除するにはセレクトボックスで削除する項目を選択してから削除ボタンをクリックします。項目を削除するとその項目への投票もすべて削除されます。

投票の削除

「すべての投票を見る」ページの最下部にあるフォームに削除する投票の番号と管理パスを入力して削除ボタンをクリックします。投票が1件もなくなってしまっても項目は残ります。

アンケートの設定変更

アンケート別投票閲覧ページの最下部にあるフォームに、管理パスを入力してセレクトボックスで「設定変更」を選択してから送信ボタンをクリックします。するとアンケート登録フォームと同じような設定変更フォームが表示されるので、必要な個所を変更してから変更ボタンをクリックします。

{$Version}\n"; DispAdminForm(); echo "\n"; //================================================================================================== //関数 //================================================================================================== //ファイル入出力エラーを表示してスクリプト終了 function DieIOError($string) { global $Navi; echo $Navi; echo "

{$string}

\n\n"; exit; } //-------------------------------------------------------------------------------------------------- //クライアント入力データエラー表示 function EchoInputError() { global $InputErrorMessage; echo "

"; foreach ($InputErrorMessage as $array) { echo "$array
\n"; } echo "

"; } //-------------------------------------------------------------------------------------------------- //各処理正常終了表示 function EchoProcessEnd() { global $ProcessEndMessage,$Reload; echo "

"; foreach ($ProcessEndMessage as $array) { echo "$array
\n"; } echo "

"; #正常処理後HTTPヘッダリフレッシュでページリロードもいいかも #if ($Reload) { echo "

5秒後にページを自動更新します

"; } } //-------------------------------------------------------------------------------------------------- //送信された文字列が指定byte以内かチェック function CheckString($string,$strminlen,$strmaxlen,$itemname) { global $InputErrorMessage; if (strlen($string) < $strminlen or strlen($string) > $strmaxlen) { $InputErrorMessage[count($InputErrorMessage)] = $itemname."は ".$strminlen." 〜 ".$strmaxlen." byte以内で入力してください。"; } } //-------------------------------------------------------------------------------------------------- //送信された文字列からスラッシュやHTML/PHPタグを取り除く function ConvertString($string) { if (get_magic_quotes_gpc()) { $string = stripslashes($string); //スラッシュ除去 } $string = strip_tags($string); //タグ除去 $string = nl2br($string); //改行>
変換 $string = str_replace("\r\n","",$string); $string = str_replace("\r","",$string); $string = str_replace("\n","",$string); return $string; } //-------------------------------------------------------------------------------------------------- //入力パスワードのチェック function CheckPassword($string,$int) { global $AdminPass,$Theme_AuthorPass,$InputErrorMessage,$ProcessEndMessage,$ADMIT; $ADMIT = 0; if ($int == 0) { if ($string === $AdminPass) { $ADMIT = 2; } } else { GetThemeData($_GET['tn']); if ($string === $AdminPass) { $ADMIT = 2; } elseif (crypt(ConvertString($string), "adminpass") == $Theme_AuthorPass[0]) { $ADMIT = 1; } } if ($ADMIT) { $ProcessEndMessage[count($ProcessEndMessage)] = "【管理モード】"; } else { $InputErrorMessage[count($InputErrorMessage)] = "パスワードが違います。"; } } //-------------------------------------------------------------------------------------------------- //連続投票チェック(アンケート) function CheckSerialVote_Theme() { global $InputErrorMessage,$LASTIP,$LASTDATE,$VOTERIP,$VOTERDATE,$SerialVoteWait_Theme; $interval = ($VOTERDATE - $LASTDATE[0] > $SerialVoteWait_Theme) ? 1 : 0; if ($VOTERIP == $LASTIP[0] and (!$interval)) { $InputErrorMessage[count($InputErrorMessage)] = "同じアンケートへの{$SerialVoteWait_Theme}秒以内の連続投票はできません。"; } } //-------------------------------------------------------------------------------------------------- //連続投票チェック(項目) function CheckSerialVote_Item($int) { global $InputErrorMessage,$LASTIP,$LASTDATE,$VOTERIP,$VOTERDATE,$SerialVoteWait_Item; $interval = ($VOTERDATE - $LASTDATE[$int] > $SerialVoteWait_Item) ? 1 : 0; if ($VOTERIP == $LASTIP[$int] and (!$interval)) { $InputErrorMessage[count($InputErrorMessage)] = "同じ項目への{$SerialVoteWait_Item}秒以内の連続投票はできません。"; } } //-------------------------------------------------------------------------------------------------- //追加アンケートの重複チェック function CheckOldTheme($themename) { global $IndexFile,$InputErrorMessage,$ProcessEndMessage,$DataDir; $IndexLines=file($DataDir.$IndexFile); if ($IndexLines) { for ($i = count($IndexLines)-1 ; $i >= 0 ; $i--) { $IndexLine = explode("<>", $IndexLines[$i]); $oldtheme[$i] = $IndexLine[1]; } if (in_array($themename,$oldtheme)) { $InputErrorMessage[count($InputErrorMessage)] = $themename."は既に登録されています。"; } } } //-------------------------------------------------------------------------------------------------- //追加項目の重複チェック function CheckOldItem($itemname,$themenumber) { global $InputErrorMessage,$ITEM; if (in_array($itemname,$ITEM)) { $InputErrorMessage[count($InputErrorMessage)] = $itemname."は既に項目にあります。"; } } //-------------------------------------------------------------------------------------------------- //アンケート基本情報取得 function GetThemeData($int) { global $Theme_Number,$Theme_Title,$Theme_AuthorName,$Theme_AuthorPass,$Theme_EntrytDay,$Theme_ClosingDay,$Theme_AddItem,$Theme_SecretVote,$Theme_WriteComment,$VoteStatus_prm,$VOTE,$ITEM,$COMMENT,$Total,$Pmt_AddItem,$Pmt_AddItem_P,$Pmt_SecretVote,$Pmt_SecretVote_P,$Pmt_WriteComment,$Pmt_WriteComment_P,$ADDITEM,$SECRETVOTE,$WRITECOMMENT,$CLOSINGDAY,$VoteLines,$LASTIP,$LASTDATE,$THEMEDATA,$LogExt,$DataDir,$Theme_Comment,$DispCommentVote; $VoteLines = @file($DataDir.$int.$LogExt) or DieIOError("投票ログファイルが開けません。"); $Total = 0; $number = 1; if ($VoteLines) { $VoteLines[0] = rtrim($VoteLines[0]); $THEMEDATA = explode("<|>", $VoteLines[0]); $ITEM = explode("<>", $THEMEDATA[1]); $tmp = explode("<>", $THEMEDATA[0]); list($Theme_Number[0],$Theme_Title[0],$Theme_AuthorName[0],$Theme_AuthorPass[0],$Theme_EntrytDay[0],$Theme_ClosingDay[0],$Theme_AddItem[0],$Theme_SecretVote[0],$Theme_WriteComment[0],$Theme_Comment[0],$DispCommentVote[0])=$tmp; $nowdate = getdate(); $nowdate["now"] = mktime(0,0,0,$nowdate["mon"],$nowdate["mday"],$nowdate["year"]); $VoteStatus_prm = ($nowdate["now"] <= $Theme_ClosingDay[0]) ? 1 : 0; if (!$Theme_ClosingDay[0]) { $VoteStatus_prm = 1; } $CLOSINGDAY = ($Theme_ClosingDay[0]) ? date("y/m/d",$Theme_ClosingDay[0]) : "なし"; $ADDITEM = ($Pmt_AddItem_P) ? $Theme_AddItem[0] : $Pmt_AddItem; $SECRETVOTE = ($Pmt_SecretVote_P) ? $Theme_SecretVote[0] : $Pmt_SecretVote; $WRITECOMMENT = ($Pmt_WriteComment_P) ? $Theme_WriteComment[0] : $Pmt_WriteComment; } if (count($VoteLines) > 1) { $LASTIP = array(); $LASTIP=array_pad($LASTIP, count($ITEM), 0); $LASTDATE = array(); $LASTDATE=array_pad($LASTDATE, count($ITEM), 0); $VOTE = array(); $VOTE=array_pad($VOTE, count($ITEM), 0); $COMMENT = array(); $VOTELINES = array_slice($VoteLines,1); foreach ($VOTELINES as $tmp) { $dat = explode("<>", $tmp); // 回答のコメントを配列に入れる。 $COMMENT_tmp = ""; $LASTIP[$dat[0]] = $dat[4]; $LASTIP[0] = $dat[4]; $LASTDATE[$dat[0]] = $dat[5]; $LASTDATE[0] = $dat[5]; $VOTE[$dat[0]]++; $dat[3]=rtrim($dat[3]); if (empty($DispCommentVote[0]) or $dat[3]) { $COMMENT_tmp = "{$dat[0]}<|>
No.{$number} [ {$ITEM[$dat[0]]} ] Name:{$dat[2]} Date:".date("y/m/d (D)",$dat[5])."
"; if ($dat[3]) { $COMMENT_tmp .= "

{$dat[3]}

"; } $COMMENT_tmp .= "
\n"; array_unshift($COMMENT, $COMMENT_tmp); } $Total++; $number++; } } } //-------------------------------------------------------------------------------------------------- //アンケートインデックス更新 function WriteThemeIndex($int) { global $IndexFile,$DataDir; $IndexLines=@file($DataDir.$IndexFile); $fp = @fopen($DataDir.$IndexFile, "w") or DieIOError("インデックスファイルが開けません。"); flock($fp, LOCK_EX); for ($i = 0 ; $i < count($IndexLines) ; $i++) { $dat = explode("<>", $IndexLines[$i]); if ($dat[0] == $int) { $allvote = count($VoteLines) - 1; $logline = explode("<|>", $IndexLines[$i]); $tmp = explode("<>", $logline[0]); $tmpline = $tmp[0]."<>".$tmp[1]."<>".$tmp[2]."<>".$tmp[3]."<>".$tmp[4]."<>".$tmp[5]."<>".$tmp[6]."<>".$tmp[7]."<>".$tmp[8]."<>".$tmp[9]."<>".$tmp[10]."<>".time(); $IndexLines[$i] = $tmpline."<|>\n"; } } fputs($fp, implode('', $IndexLines)); flock($fp, LOCK_UN); fclose($fp); } //-------------------------------------------------------------------------------------------------- //アンケートリンクリスト作成 function WriteThemeTitle() { global $This,$IndexFile,$TitleFile,$DataDir; $IndexLines=@file($DataDir.$IndexFile); if ($IndexLines) { $line = "
"; for ($i = 0 ; $i < count($IndexLines) ; $i++) { $dat = explode("<>", $IndexLines[$i]); $line .= "[{$dat[0]}] {$dat[1]} "; } $line .= "
"; $fp = fopen($DataDir.$TitleFile,"w") or DieIOError("タイトルファイルが開けません。"); flock($fp, LOCK_EX); fputs($fp, $line); flock($fp, LOCK_UN); fclose($fp); } else { $fp = fopen($DataDir.$TitleFile,"w") or DieIOError("タイトルファイルが開けません。"); fclose($fp); } } //-------------------------------------------------------------------------------------------------- //全てのアンケート表示 function DispAllTheme() { global $This,$IndexFile,$VoteStatus,$ThemeCount,$Theme_Title,$ProcessEndMessage,$InputErrorMessage,$DataDir,$ThemeSort; if (file_exists($DataDir.$IndexFile)) { $IndexLines=file($DataDir.$IndexFile); } else { $fp = @fopen($DataDir.$IndexFile,"w") or DieIOError("インデックスファイルが作成できません。"); fclose($fp); } if ($IndexLines) { $ThemeCount = count($IndexLines)-1; echo "\n"; echo "\n"; echo "\n"; for ($i = $ThemeCount ; $i >= 0 ; $i--) { $dat = explode("<>", $IndexLines[$i]); list($Theme_Number[$i],$Theme_Title[$i],$Theme_AuthorName[$i],$Theme_AuthorPass[$i],$Theme_EntrytDay[$i],$Theme_ClosingDay[$i],$Theme_AddItem[$i],$Theme_SecretVote[$i],$Theme_WriteComment[$i],$Theme_AuthorComment[$i],$DispCommVote[$i],$LastVoteDate[$i])=$dat; switch ($ThemeSort) { case 0: $value = $Theme_EntrytDay[$i]; break; case 1: $value = $LastVoteDate[$i]; break; case 2: $value = $Theme_ClosingDay[$i]; break; } if ((int)$value <= 1) $value = 0; $keyarr[$i] = $value; $nowdate = getdate(); $nowdate["now"] = mktime(0,0,0,$nowdate["mon"],$nowdate["mday"],$nowdate["year"]); $VoteStatus_prm = ($nowdate["now"] <= $Theme_ClosingDay[$i]) ? 1 : 0; if (!$Theme_ClosingDay[$i]) { $VoteStatus_prm = 1; } $CLOSINGDAY = ($Theme_ClosingDay[$i]) ? date("y/m/d",$Theme_ClosingDay[$i]) : "なし"; $LASTVOTE = ($LastVoteDate[$i] > 1) ? date("y/m/d H:i",$LastVoteDate[$i]) : "-"; $Theme[$i] = "\n"; } arsort($keyarr); while (list($key) = each($keyarr)) { echo $Theme[$key]; } echo "
紅音ほたる熱烈アンケート実施中
No.アンケート名登録者登録日締切日投票最終投票
{$Theme_Number[$i]}{$Theme_Title[$i]}{$Theme_AuthorName[$i]}".date("y/m/d",$Theme_EntrytDay[$i])."{$CLOSINGDAY}{$VoteStatus[$VoteStatus_prm]}{$LASTVOTE}

\n"; } else { $ProcessEndMessage[count($ProcessEndMessage)] = "現在登録されているアンケートはありません。"; } } //-------------------------------------------------------------------------------------------------- //アンケート別投票結果表示 function DispAllVote($int) { global $Theme_Number,$Theme_Title,$Theme_AuthorName,$Theme_EntrytDay,$Theme_ClosingDay,$VoteStatus_prm,$VOTE,$ITEM,$COMMENT,$Total,$This,$ADDITEM,$SECRETVOTE,$WRITECOMMENT,$DispVoteLimit,$CLOSINGDAY,$ADMIT,$UseImage,$Image,$InputErrorMessage,$Theme_Comment,$DispCommentVote,$VoterName_maxlen,$ItemName_maxlen,$VoterComment_maxlen; $nes_name = ($SECRETVOTE) ? "・必須" : ""; $nes_comment = ($WRITECOMMENT) ? "・必須" : ""; echo "

{$Theme_Title[0]}

\n"; echo "
[ 登録者:{$Theme_AuthorName[0]} さん / 登録日:".date("y/m/d",$Theme_EntrytDay[0])." / 締切日:{$CLOSINGDAY} / 得票数:{$Total}票 ]
\n"; if ($Theme_Comment[0]) { echo "

$Theme_Comment[0]

\n"; } echo "\n"; echo ""; if ($UseImage) { echo "\n"; } else { echo "\n"; } @arsort ($VOTE); @reset ($VOTE); $jun = 0; if ($Total > 0) { $key_ = $VOTE; } else { $key_ = $ITEM; if (count($ITEM) <= 1) { echo "\n"; } } while (list($key) = each($key_)) { if ($key >= 1) { ++$jun; $width=0; $nokori=0; $per = @sprintf("%01.1f", ($VOTE[$key] / $Total * 100)); $width = ceil($per * 2); $nokori = 200 - $width; if (empty($VOTE[$key])) { $VOTE[$key]=0; } echo "\n"; echo "\n"; if ($UseImage == 1) { if (!$VOTE[$key]) { //HTML+画像でグラフ表示 echo ""; } else { echo ""; } } elseif ($UseImage == 2) { //スタイルシート+画像でグラフ表示 if (!$VOTE[$key]) { echo ""; } elseif ($width == 200) { echo ""; } else { echo ""; } } else { //画像使わないでグラフ表示 echo "\n"; echo "\n"; } if (count($ITEM)) { $select .= "\n"; echo "\n"; } echo "\n"; echo "
順位項目得票数グラフ
割合グラフ

投票項目はありません。

{$jun}{$ITEM[$key]}{$VOTE[$key]} {$per}%
\"棒グラフのバー\" {$per}%
 {$per}%
 
 
 {$per}%
 
 
 {$per}%
{$per}%\n"; if (!$VOTE[$key]) { echo ""; } elseif ($width == 200) { echo ""; } else { echo ""; echo ""; } echo "
 
 
  
\n
\n"; echo "
\n"; echo "項目:
\n"; echo "
\n"; echo "
\n"; echo "項目一括追加:
一度に30項目までまとめて追加できます(票は入れられません)。
文字列の長さはチェックしませんので注意してください。
"; for ($i = 0; $i < 15 ; $i++) { echo " 
"; } echo "
\n"; echo "
\n"; if ($VoteStatus_prm or $ADMIT) { echo "
\n"; echo "■投票する
\n"; echo "項目 :
\n"; echo "名前 :(〜{$VoterName_maxlen}byte{$nes_name})
\n"; if ($ADDITEM or $ADMIT) { echo "新項目:(〜{$ItemName_maxlen}byte)
\n"; } echo "コメント(〜{$VoterComment_maxlen}byte・タグ不可{$nes_comment})
\n"; echo "
\n"; echo " \n"; echo "\n"; echo "
\n"; } else { echo "

このアンケートの投票は終了しました。
現在、閲覧のみ可能です。

"; } echo "
\n"; if (count($COMMENT)) { echo "
\n
[ 最近の投票 ]
すべての投票を見る\n"; for ($i = 0; $i < count($COMMENT); $i++) { if ($i > $DispVoteLimit) { break; } $string = explode("<|>", $COMMENT[$i]); echo $string[1]; } echo "
\n"; } elseif ($Total and $DispCommentVote[0]) { echo "

コメントのある投票はありません。

"; } } //-------------------------------------------------------------------------------------------------- //投票表示(アイテム別) function DispItemComment($int_t,$int_i) { global $Theme_Number,$Theme_Title,$Theme_AuthorName,$Theme_EntrytDay,$Theme_ClosingDay,$VOTE,$ITEM,$COMMENT,$Total,$DispVoteLimit,$CLOSINGDAY; echo "

{$Theme_Title[0]}

\n"; echo "
[ 登録者:{$Theme_AuthorName[0]} さん / 登録日:".date("y/m/d",$Theme_EntrytDay[0])." / 締切日:{$CLOSINGDAY} / 得票数:{$Total}票 ]
\n"; echo "

{$ITEM[$int_i]}

\n"; if ($VOTE[$int_i]) { echo "
\n
[ 得票数 {$VOTE[$int_i]} 票 ]
\n"; for ($i = 0; $i < count($COMMENT); $i++) { $string = explode("<|>", $COMMENT[$i]); if ($string[0] == $int_i) { echo $string[1]; $flg=1; } } echo "
\n"; if (!$flg) { echo "

この項目へのコメントのある投票はありません。

"; } } else { echo "

この項目への投票はありません。

"; } } //-------------------------------------------------------------------------------------------------- //投票表示(全部) function DispAllComment($int) { global $Theme_Number,$Theme_Title,$Theme_AuthorName,$Theme_EntrytDay,$Theme_ClosingDay,$COMMENT,$Total,$CLOSINGDAY; echo "

{$Theme_Title[0]}

\n"; echo "
[ 登録者:{$Theme_AuthorName[0]} さん / 登録日:".date("y/m/d",$Theme_EntrytDay[0])." / 締切日:{$CLOSINGDAY} / 得票数:{$Total}票 ]
\n"; if (count($COMMENT)) { echo "
\n
[ 全投票 {$Total} 票 ]
\n"; for ($i = 0; $i < count($COMMENT); $i++) { $string = explode("<|>", $COMMENT[$i]); echo $string[1]; } echo "
\n"; } } //-------------------------------------------------------------------------------------------------- //フォーム表示(アンケート登録) function DispEntryForm() { global $This,$ThemeLimit,$Pmt_AuthorSetup,$Pmt_ClosingDay,$ThemeCount,$ADMIT,$ThemeTitle_maxlen,$ThemeComment_maxlen,$ThemeAuthor_maxlen; if ($ThemeCount+1 < $ThemeLimit) { echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; if ($Pmt_ClosingDay or $ADMIT == 2) { echo ""; } echo "\n"; if ($Pmt_AuthorSetup or $ADMIT ==2) { echo ""; } echo "\n
■アンケート登録 アンケートを{$ThemeLimit}件まで登録できます。
アンケート名:(4〜{$ThemeTitle_maxlen}byte)
コメント:
(〜{$ThemeComment_maxlen}byte
タグ不可)
あなたの名前:(2〜{$ThemeAuthor_maxlen}byte)"; echo " 管理パス:(4〜10byte)
投票締切り日:年 "; echo "月 "; echo "日 
投票表示設定:
投票時設定: / /

\n"; echo "「項目追加可」をチェックすると誰でも新項目を追加できます。

以上の内容で \n"; echo "
\n"; } else { echo "

現在、登録アンケート数が上限{$ThemeLimit}件に達しているため新規アンケートは作成できません。

\n"; } } //-------------------------------------------------------------------------------------------------- //フォーム表示(アンケート設定変更) function EditEntryForm() { global $This,$ThemeLimit,$Pmt_AuthorSetup,$Pmt_ClosingDay,$ADMIT,$Theme_Title,$Theme_AuthorName,$Theme_AuthorPass,$Theme_EntrytDay,$Theme_ClosingDay,$Theme_AddItem,$Theme_SecretVote,$Theme_WriteComment,$Theme_Comment,$ADDITEM,$SECRETVOTE,$WRITECOMMENT,$_POST,$DispCommentVote,$ThemeTitle_maxlen,$ThemeComment_maxlen,$ThemeAuthor_maxlen; $Theme_Comment[0] = str_replace("
", "\n", $Theme_Comment[0]); echo "
\n"; echo "\n"; echo "\n"; echo "\n"; echo "\n"; echo ""; } $check = ($DispCommentVote[0]) ? " checked" : ""; echo "\n"; if ($Pmt_AuthorSetup or $ADMIT == 2) { $check = ($ADDITEM) ? " checked" : ""; echo "\n"; } echo "\n
■アンケート設定変更
アンケート名:(4〜{$ThemeTitle_maxlen}byte)
コメント:
(〜{$ThemeComment_maxlen}byte
タグ不可)
あなたの名前:(2〜{$ThemeAuthor_maxlen}byte)"; if ($Pmt_ClosingDay or $ADMIT == 2) { echo "
投票締切り日:年 "; echo "月 "; echo "日 
投票表示設定:
投票時設定:"; $check = ($SECRETVOTE) ? " checked" : ""; echo " / "; $check = ($WRITECOMMENT) ? " checked" : ""; echo " /

以上の内容に \n"; echo "
\n"; } //-------------------------------------------------------------------------------------------------- //管理パス送信フォーム表示 function DispAdminForm() { global $This; switch ($_GET['mode']) { case "": echo "
\n"; echo "管理パス:\n"; echo "\n
\n"; break; case "vvr": echo "
\n"; echo "\n"; echo "管理パス:\n"; echo " \n"; echo "\n
\n"; break; case "vac": echo "
\n"; echo "\n"; echo "投票ナンバー:\n"; echo " 管理パス:\n"; echo "\n
\n"; break; case "past": echo "
\n"; echo " 管理パス:\n"; echo "\n
\n"; break; } } //-------------------------------------------------------------------------------------------------- //過去ログ出力用 function AddLine($string) { global $PastLog; fputs($PastLog,$string); } //-------------------------------------------------------------------------------------------------- //過去ログ(HTMLファイル)作成 function WriteVoteLog() { global $Theme_Number,$Theme_Title,$Theme_AuthorName,$Theme_EntrytDay,$Theme_ClosingDay,$VoteStatus_prm,$VOTE,$ITEM,$COMMENT,$Total,$This,$ADMIT,$UseImage,$Image,$Theme_Comment,$Version,$Title,$TopPage,$Home,$CLOSINGDAY,$CSS; $Navi = "
{$Title} [ {$TopPage} ] [ 過去ログ ] [ HELP ] [ HOME ]
"; AddLine("\n"); AddLine("\n\n\n"); AddLine("\n"); AddLine("{$Theme_Title[0]}\n\n\n{$Navi}\n"); AddLine("◆過去ログです◆"); AddLine("

{$Theme_Title[0]}

\n"); AddLine("
[ 登録者:{$Theme_AuthorName[0]} さん / 登録日:".date("y/m/d",$Theme_EntrytDay[0])." / 締切日:{$CLOSINGDAY} / 得票数:{$Total}票 ]
\n"); if ($Theme_Comment[0]) { AddLine("

$Theme_Comment[0]

\n"); } AddLine("\n"); AddLine(""); if ($UseImage) { AddLine("\n"); } else { AddLine("\n"); } @arsort ($VOTE); @reset ($VOTE); $jun = 0; if ($Total > 0) { $key_ = $VOTE; } else { $key_ = $ITEM; if (count($ITEM) <= 1) { AddLine("\n"); } } while (list($key) = each($key_)) { if ($key >= 1) { ++$jun; $width=0; $nokori=0; $per = @sprintf("%01.1f", ($VOTE[$key] / $Total * 100)); $width = ceil($per * 2); $nokori = 200 - $width; if (empty($VOTE[$key])) { $VOTE[$key]=0; } AddLine("\n"); AddLine("\n"); if ($UseImage == 1) { if (!$VOTE[$key]) { AddLine(""); } else { AddLine(""); } } elseif ($UseImage == 2) { if (!$VOTE[$key]) { AddLine(""); } elseif ($width == 200) { AddLine(""); } else { AddLine(""); } } else { AddLine("\n"); AddLine("\n"); } } } AddLine("
順位項目得票数グラフ
割合グラフ

投票項目はありません。

{$jun}{$ITEM[$key]}{$VOTE[$key]} {$per}%
\"棒グラフのバー\" {$per}%
 {$per}%
 
 
 {$per}%
 
 
 {$per}%
{$per}%\n"); if (!$VOTE[$key]) { AddLine(""); } elseif ($width == 200) { AddLine(""); } else { AddLine(""); AddLine(""); } AddLine("
 
 
  
\n
\n"); if ($Total) { AddLine("
\n
[ 全投票 {$Total} 票]
\n"); for ($i = 0; $i < count($COMMENT); $i++) { $string = explode("<|>", $COMMENT[$i]); AddLine($string[1]); } AddLine("
\n"); } AddLine("
{$Version}
\n\n"); } //================================================================================================== //PHPスクリプト終了 //================================================================================================== ?>