# アンケート(Polls)プラグイン

アンケート機能はかつてGeeklogのコアコードの一部でしたが、Geeklog 1.4.0よりプラグインとして分離されました。

## 設定

アンケートプラグインの設定は、「管理者用メニュー - コンフィギュレーション - アンケート」から変更できます。

### アンケートのメイン設定

項目(変数) | デフォルト | 説明
--- | --- | ---
ログインを要求する(pollsloginrequired) | いいえ(0) | はい(1)にすると、登録ユーザしか最近のアンケートにアクセスできなくなります。 この設定値よりも、「管理者用メニュー - コンフィギュレーション - Geeklog - ユーザと投稿」の「すべてにログインを要求する(loginrequired)」の設定の方が優先されます。「すべてにログインを要求する」をはい(1)にすると、アンケートプラグインでログインを要求していなくても、ゲストユーザはアンケートにアクセスできなくなります。
メニューに表示しない(hidepollsmenu) | いいえ(0) | はい(1)にすると、サイトのメニューに「アンケート」メニューを表示しません。
アンケート毎の質問の最大数(maxquestions) | 10 | アンケート毎の質問の最大数を指定します。
質問毎の選択肢の最大数(maxanswers) | 10 | 質問毎の選択肢の最大数を指定します。
アンケート結果の表示順(answerorder) | 登録順(submitorder) | アンケート結果を「得票順(voteorder)」に並び替えるか、アンケートの「登録順(submitorder)」で並び替えるかを指定します。
投票者のクッキーの有効期間(pollcookietime) | 86400（秒） | 投票者のクッキーの有効期間を秒数で指定します。いったん投票すると、この期間は同じ質問に投票できません。デフォルトは86,400秒（＝24時間）です。
投票者のIPアドレスの有効期間(polladdresstime) | 604800 | 投票者のIPアドレスの有効期間を秒数で指定します。いったん投票すると、この期間は同じIPから投票できません。デフォルトは604,800秒（＝7日間）です。
所有者の削除と共に削除する(delete_polls) | いいえ(0) | はい(1)にすると、アンケート所有者のアカウントが削除されたときに、所有していたすべてのアンケートが全コメントと共に削除され、いいえ(0)にすると、Rootグループに属するユーザ（たとえば、サイトの管理者）に引き継がれます。
アンケート保存後の画面遷移(aftersave) | アンケート管理を表示する(list) | アンケートを保存した後にどのページへ移動するかをを指定します。 作成したアンケートを表示する(item): 作成したアンケートを表示します。 アンケート管理一覧を表示する(list): 管理者用のアンケートのリストを表示します（デフォルト）。 アンケート一覧を表示する(plugin): 公開されているアンケート一覧を表示します。 Homeを表示する(home): サイトのHomeページ（トップページ）を表示します。 管理画面TOPを表示する(admin): 管理画面を表示します。
メタタグ(meta_tags) | いいえ(false) | アンケートを表示するときに、メタタグを出力するかどうかを指定します。

### 新着ブロック

項目(変数) | デフォルト | 説明
--- | --- | ---
新着の期間(newpollsinterval) | 1209600 | アンケートが "新着" 状態である期間の秒数を指定します。
新着ブロック表示(hidenewpolls) | 表示しない | 新着ブロックに、'修正'日付または'新規作成'日付によって新着アンケートとして表示するか、あるいは表示しないのかを指定します。
タイトル最大長(title_trim_length) | 20 | 新着ブロックに表示するタイトルのトリミングの文字数を指定します。

## アンケートの仕組み

(Geeklog FAQより転載)

アンケートの操作を防ぐ（少なくとも困難にする）ために、Geeklogは投票時に次の2つのことを行います。

1. クッキーを保存します。
2. 投票者のIPアドレスを記録します。

クッキーとIPアドレスは一定期間有効で（下記参照）、その期間中は同じアンケートに答えることはできません。

クッキーとIPアドレスの有効期間は「管理者用メニュー - コンフィギュレーション - アンケート」で変更できます（上記参照）。

    $_PO_CONF['pollcookietime']    = 86400;
    $_PO_CONF['polladdresstime']   = 604800;

単位は共に秒で、上記の例ではクッキーの有効期間は24時間であり、IPアドレスは1週間記録されることになります。

複数の人間が同一コンピュータや同一IPアドレスを使用する状況では、いずれか（または両方の）数値を `1` に設定するとよいでしょう。

どんなアンケートでも操作される可能性があることを忘れないでください。したがって結果をあまり重大に受け止めない方がよいでしょう。

## 自動タグ

アンケートプラグインは、`[poll:]`、`[poll_result:]`、`[poll_vote:]`という3種類の自動タグを提供します。

- `[poll:]` 自動タグはアンケートへのリンクに変換されます。コロンの後にアンケートIDを記述してください。既定では、アンケートのタイトルがリンクテキストとして使用されます。別の方法としては、アンケートIDの後に半角スペースに続けて独自のリンクテキストを指定することもできます（閉じカッコの前でなければなりません）。
- `[poll_result:]` 自動タグを使用すると、アンケート結果を記事(や、自動タグが使用できるところならどこにでも)に埋め込むことができます。
- `[poll_vote:]` 自動タグを使用すると、アンケートを記事（や、自動タグが使用できるところならどこにでも)に埋め込むことができます。ユーザがアンケートのページへ移動する手間を省くわけです。