vote2.inc.php

サマリインライン型の投票プラグイン(+タイムスタンプ更新しない)
リビジョン0.10
対応バージョン1.4rc3
投稿者sha
投稿日2003-08-14 (THU) 06:02:39

概要

  • インライン型で、&vote2を1行に複数個置ける。
  • notimestampを引数に書くと、ページのタイムスタンプを更新しない。
  • 従来通り、ブロック型もあるよ。
  • 投票ボタンだけ、得票だけの表示が可能。
  • 遠隔投票が可能。別のページ・位置にあるvote2へ投票できる。ただし、同じサイト内。

説明

  • 雑談?(2003-08-14 (THU) 00:41:49)をきっかけに作成を決めた。
  • 1.4標準プラグイン?にある、ブロック型なvote.inc.php?を拡張したプラグイン(vote.inc.php v1.14がベース)
  • #trackerとの組み合わせで、各ページに散らばっている得票を#tracker_listで一覧表示したり、ボタンをまとめたりできる。
  • ここで実験しています。→「sha:vote2.inc.php

使用法

  • 引数の仕様
    &vote2(<ラベル>\[数字\],[notimestamp|nonumber|nolabel|<vote2指定>]);
    #vote2(<ラベル>\[数字\],<ラベル>\[数字\],...,[notimestamp|nonumber|nolabel|<vote2指定>])
  • 引数の意味
    <ラベル>: 投票項目
    <ラベル>[数字]: 投票項目の直後にカギ括弧で投票数が保存される。
    notimestamp: 引数につけるとページのタイムスタンプを更新しない。
    nonumber: 引数につけると得票を表示しない。
    nolabel: ラベルやボタンを表示しない。
    <vote2指定>: 遠隔投票の場合の投票先の指定。詳細は下記参照
  • <vote2指定>の仕様と説明
    <vote2指定>:= <ページ名>=<vote2番号>[i|b|r]
    <ページ名>: ページ名。"this"でvote2を書いたのと同じページを指定。
    <vote2番号>: インライン型またはブロック型のどちらかにおける、
           そのページ内の絶対番号(0番から)または相対番号(r指定時)。
    i: インライン型の絶対番号を指定。省略で呼出し側のvote2の型に従う。
    b: ブロック型の絶対番号を指定。省略で呼出し側のvote2の型に従う。
    r: 相対番号を指定。投票受付側のvote2の型とページが同じことが必要。
  • インライン型の場合、<ラベル>は一つしか書けない。もし複数書くと最後最初の一つが有効になる。<ラベル>がなくても遠隔投票の受付が可能。
  • ブロック型の場合、<ラベル>を複数書ける。(従来と同じ)
  • <vote2番号>は目標とする&vote2の得票数にマウスカーソルを合わせるとポップアップで表示されるので、それを記載する。
  • 得票数以外の場所にマウスカーソルを合わせると、投票の宛先の<vote2指定>(遠隔投票の場合)か<vote2番号>が表示される。
  • 無効となる記載方法
    引数に半角空白でもいいから何かあれば、遠隔投票を受信できる。投票場所を間違えないための微妙な仕様。
    &vote2;←無効だが安全。引数なし
    &vote2();←無効だが安全。引数は空文字列
    &vote2( );←これは有効。引数に半角空白が入っている。
    &vote2(...){};←禁止&危険。bodyの中括弧がある。投票場所を間違える可能性がある。

使用例

  1. インライン型なので1行中に項目を並べて書ける
    テーブルで記載すると、従来のブロック型を横にした記載も可能。
    |>|>|>|CENTER:どう思いますか?|h
    |~Oかめ納豆|&vote2(すばらしい[123]);|&vote2(まあまあ[2]);|&vote2(そうでもない[3]);|
    |~K粒納豆|&vote2(すばらしい[8]);|&vote2(まあまあ[1]);|&vote2(そうでもない);|
    【表示例】(区別のため赤字で示す)。
    どう思いますか?
    Oかめ納豆すばらしい 123まあまあ 2そうでもない 3
    K粒納豆すばらしい 8まあまあ 1そうでもない 0


  2. インライン型。タイムスタンプを更新しないモード
    引数にnotimestampを付ける。
    --&vote2(はい[3],notimestamp); / &vote2(いいえ[1],notimestamp);
    【表示例】(区別のため赤字で示す)。
    • はい 3 / いいえ 1

  3. ブロック型。タイムスタンプを更新しないモード
    引数にnotimestampを付ける。
    #vote2(はい[4],いいえ[2],notimestamp)
    【表示例】。従来の#voteと同じ。
    選択肢投票
    はい4 [投票]
    いいえ2 [投票]

  4. 遠隔投票
    次のi.の&vote2がインライン型の0番目だとして「りんご 345」が表示されている。ii.の&vote2は「りんごに一票」というリンクだけが表示されている。iii.は相対指定の場合。ii.とiii.のリンクでi.の得票に投票できる。
    ++&vote2(りんご[345],notimestamp);
    ++&vote2(りんごに一票,nonumber,this=0i);
    ++&vote2(相対指定で一票,nonumber,this=-2r);
    【表示例】(区別のため赤字で示す)。
    1. りんご 345
    2. りんごに一票
    3. 相対指定で一票

  5. インライン型をテーブル内に使って数字だけ右寄せにする方法
    遠隔投票の応用で実現する。
    |CENTER:|RIGHT:|c
    |項目|カウンター|h
    |&vote2(赤信号,this=1r,nonumber);|&vote2([123],nolabel);|
    |&vote2(黄信号,this=1r,nonumber);|&vote2([12],nolabel);|
    |&vote2(青信号,this=1r,nonumber);|&vote2([1],nolabel);|
    【表示例】
    項目カウンター
    赤信号123
    黄信号12
    青信号1


  6. #trackerとの連携
    • #trackerとの組み合わせで、各ページに散らばっている得票を#tracker_listで一覧表示したり、ボタンをまとめたりできる。
      詳細はここを参照→「#trackerとの連携

ダウンロード

ここに添付しました。御利用下さい。

  • 「&ref(): ERROR: File not found: "vote2.inc.php.10" at page "バックアップ/vote2.inc.php";」←提供中
    リビジョン内容
    v0.10遠隔投票でthisで同じページ内。エラー処理
    v0.9遠隔投票で相対指定(r)。インライン型でラベル無しでも遠隔投票受付可
    v0.8debug/引数が無い&vote2により投票場所を間違える現象。他
    v0.7debug/遠隔投票の後にある通常投票のdigestが嘘。他
    v0.6debug/投票先が無いなどで失敗した時にはそう表示
    v0.5debug/digest関連を元に戻す。細かい修正
    v0.4debug/digestをページに埋め込むべきでない。べきだ
    v0.3細かい修正
    v0.2遠隔投票、得票表示のみ、投票ボタン表示のみに対応
    v0.1vote.inc.phpとaddline.inc.phpから新規作成。debug

アンケート

  • このプラグインに満足しておりますか?
    選択肢 投票
    はい 11  
    いいえ 1  
  • 「いいえ」に投票した方に質問です。
    どのような修正を加えれば、よくなると思いますか?下記のコメントに記入して下さい。

コメント

  • sha 2003-08-14 (THU) 07:12:33

    引数にページ名と番号を指定して、別のページに張り付けた&vote2に投票できる仕組みが必要かも。

    • sha 2003-08-14 (THU) 12:14:32

      vote2.inc.php.2で対応済み。

  • sha 2003-08-14 (THU) 22:23:13

    懸案事項。どこも更新してないのに更新したと出ることがある。ちゃんとチェックしなきゃ。

    • sha 2003-08-14 (THU) 22:50:56

      vote2.inc.php.6で対応しました。

  • sha 2003-08-17 (SUN) 11:56:46

    vote2.inc.php.9で、遠隔投票の相対指定は投票先が同じページないといけないので、引数の仕様としてはもっと工夫の余地ありかな。

    • sha 2003-08-17 (SUN) 20:15:08

      vote2.inc.php.10で対応。また、ページ名としてthisを書くと同じページを指定したことになる。

  • 名無しさん? 2003-08-20 (WED) 12:01:00

    これって投票結果を降順ソートしたりできないんですかね?

    • sha 2003-08-20 (WED) 13:19:20

      インライン型は配置がばらばらなのでブロック型の話ですね。現状ではできませんが、それって、もしかして要望?(^_^;)

  • みこ? 2003-09-02 (TUE) 13:02:03

    数字のみ右寄せってCSSつかってできるとうれしいのですが・・・

    • sha 2003-09-02 (TUE) 13:52:47

      ブロック型の場合ですね。カラム<td>を数字用に1つ用意して、CSS用のクラスを用意すればよいでしょうか?vote2_td2とか?

    • sha 2003-09-03 (WED) 01:44:19

      あれ?CSSを使わなくても既に右寄せになってますよ。もしかして、インライン型をテーブルで使った場合の話でしょうか?もしその場合だとしたら、CSSではコントロールできませんが、遠隔投票の応用で実現できます。上の使用例に載せておきました。

      • みこ? 2003-09-03 (WED) 09:59:46

        すみません、言葉が足りませんでした。インラインです。使用例ありがとうございます。

##comment


トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2014-09-05 (金) 14:55:29 (2335d)