このファイルは、PukiWiki用投票プラグインtvoteの使い方を記述したものです。 ■概要 1.4標準のvoteプラグインを改造したものでしたが、すでに原型を留めておりません。 以下のような特徴をもつ投票プラグインです。 ・得点順に降順(同順の場合は選択肢アルファベット順)にソートすることができる ・クッキーよる複数回投票の抑制ができる ・選択要素のフォームによる動的追加ができる ・同時投票時の警告回避するためMD5DigestチェックをOFFにできる ・得票率表示と得票総数表示する ・ページの凍結に同期して投票を締め切ることができる ・投票後に得票数を表示することができる ・投票後に自動的に設問位置を表示(ブラウザ依存?) ■使い方 1、動作環境 PukiWiki1.4.4(Windows2000SP4, Apache2.0.52, PHP5.0.3)で動作試験をしています。それ以外の環境での動作については試験していません。 2、インストール tvote.inc.zipを解凍し、tvote.inc.phpをPukiWikiのpluginフォルダにコピーまたは移動してください。 3、tvote.inc.php内の定数を使用目的に合わせて変更してください。そのままでも動きます。 4、PukiWikiのメニューから新規にページを作成するか、既存のページの編集を開始します。 5、編集モードでテキスト欄に #tvote(選択肢1,選択肢2) と入力して改行したあとページの更新をしてください。tvoteはブロック要素なので1行に記述できるのは1要素だけです。また、選択肢の中に [ ] " は使わないで下さい。 6、投票ボタンを押すと投票されます。その他に入力した場合には、その内容が選択肢として追加され、同時に投票されます。 7、投票数を改ざんされたくない場合には、_TVOTE_FREEZE_SYNCをFALSEにしてページを凍結してください。 ■制限等 1、クッキーに記録する最大投票履歴数を_TVOTE_VOTEDLIST_MAX定数で制限できます。最大を越えた場合は古いデータから消えていきます。100以上にはしないで下さい。 2、選択肢の中に [ ] " は使用しないでください。これらは選択肢と得票数の区切りなどに使われます。 3、得票数の上限は2147483647(符号付32ビット整数の上限と同じ)です。これ以上の値や負の値、整数以外の値が指定された場合は得票数は0にリセットされます。 ・クッキーについて クッキーに記録する投票データにはハッシュ値を用いています。ハッシュにはデフォルトでCRC32を使っていますが、ごく稀に値が重複して投票結果が正しく表示されない可能性あるかもしれません。 ■既知の問題 1、投票後、新たにtvoteを追加すると、投票済みの物がずれて認識されてしまう。 (対策)現在の実装では、既存の投票済みtvoteより前に新にtvoteを設置すると、 それが投票済みとして認識されてしまいます。追加する場合には既存のものより 後に設置するよう、お願いいたします。 ■バージョン履歴 0.25 2005/02/12 得票数が0〜2147483647の整数に収まるように修正。 デフォルトでは、得票数を表示するようにオプションの初期値を変更。 0.24 2004/12/22 インライン要素内にカンマ","があると動作がおかしくなるバグを修正しました。カンマがあるインライン要素を記入する場合には選択肢をダブルクォーテーション「"」で括るようにしてください(例:#tvote("&ref(hoge1.png,link);[0]",abc[0])↓ )。 投票した後に、選択肢を変更したり削除してもクッキーにゴミが残らないようにしました。 フォームからのインライン要素の追加に対応。 ソートON/OFFオプションに対応。 その他の表示/非表示オプションに対応。 ページを凍結した後も投票を継続するオプションに対応。 MD5ダイジェストによる更新衝突チェックを行うオプションに対応 投票時に自動的に設問位置を表示する。(ブラウザによっては動作しないかもしれません) 0.23 2004/12/19 文字コードの種類をEUC-JP固定からドキュメントのエンコードに合わせるようにしました。 0.22 2004/10/23 _TVOTE_TIMESTAMPをTRUEしてもタイムスタンプが更新されないバグ修正。定数名も変更。 0.21 2004/10/20 凍結すると得票数が表示されないバグを修正。 0.20 2004/10/10 クッキーの仕様変更。投票総数、得票率の表示追加。投票後に投票数を表示。 フォームから追加した時の初期得票数を1に変更しました。 0.12 2004/09/01 比較関数が他のプラグインの関数と衝突する可能性があるため匿名関数に変更。 0.11 2004/08/17 XHTMLでの不具合修正。 0.10 2004/04/01 初出。 ■ライセンス等 GNU General Public License ( http://www.gnu.org/licenses/gpl.ja.html ) 派生バージョンを作る場合はプラグインの名前を必ず変えてください。 ■製作者/連絡先 不具合等ありましたら下記のサイトのフォームから連絡いただけると幸いです。 常盤亮太(Tokiwa Ryota) http://tokiwa.hn.org/