[Hiki-dev:00948] Re: 簡易アンケートプラグイン

Back to archive index

Kazuhiko kazuh****@fdiar*****
2005年 7月 15日 (金) 12:03:48 JST


かずひこです。

At Thu, 14 Jul 2005 17:17:39 +0900,
fumifumi wrote:

> #と、いうような自作プラグインの宣伝(?)はどこでやればいいのでしょうか?

自分の Wiki で稼働例を置くとかですかね? で、いい感じにこなれてきたらマー
ジを検討するとか。

気になったところをいくつかいじってみたので末尾のパッチを見てみてください。

* HTML が変なのを修正
* body_enter_proc の戻り値を '' に
* info.db 保存時にエスケープではなく HTML 表示時にエスケープ

> #あと、アンケートの投票データは(以前MLで流れたmemo.rbを参考に)
> #締切るまでinfo.db に格納するようになってますが、
> #プラグイン側で気軽にこういう使いかたしちゃってもいいんでしょうか?>info.db

info.db があまり重くなると、他のページの閲覧も重くなるので、cache/vote/
とかに格納するほうがいいかもしれませんね。そういう、プラグイン用のデータ
保持の API があればいいような気はします。

あと、現在は @db.delete_attribute( page, attr_name ) みたいなことができな
いので、info.db を使うケースが多いのならそういうメソッドも欲しいかな。

--- vote.rb
+++ vote.rb
@@ -71,4 +71,5 @@
     @options['vote_add_onlyadmin']= true
   end
+  ''
 end)
 
@@ -97,5 +98,5 @@
     end
     form << %Q|<tr><td>#{rank}</td><td><input type="radio" name="vitem" value="#{v['time'].to_i}"></td>|
-    form << %Q|<td>#{v['desc']}</td><td>#{v['cnt']}</td><td>#{format_date(v['ltime'])}</td>|
+    form << %Q|<td>#{v['desc'].escapeHTML}</td><td>#{v['cnt']}</td><td>#{format_date(v['ltime'])}</td>|
     form << %Q|<td><input type="submit" name="d#{v['time'].to_i}" value="#{vote_del_label}"></td>| if admin?
     form << %Q|</tr>\n|
@@ -104,5 +105,5 @@
   form << %Q|  </table> \n<div><p>\n|
   form << %Q|  #{vote_name_label}: <input type="text" name="name" value="" size="10">\n|
-  form << %Q|  #{vote_msg_label}: <input type="text " name="msg" size="60">\n|
+  form << %Q|  #{vote_msg_label}: <input type="text" name="msg" size="60">\n|
   form << %Q|  <input type="submit" name="vote" value="#{vote_post_label}">|
   form << %Q|  <input type="hidden" name="c" value="plugin">|
@@ -113,5 +114,5 @@
   if admin?  or !@options['vote_add_onlyadmin'] 
     form << %Q|<div><form action="#{@conf.cgi_name}" method="post"><p>\n|
-    form << %Q|  #{vote_new_label}: <input type="text " name="newitem" size="40">\n|
+    form << %Q|  #{vote_new_label}: <input type="text" name="newitem" size="40">\n|
     form << %Q|  <input type="submit" name="vote" value="#{vote_add_label}">|
     form << %Q|  <input type="hidden" name="c" value="plugin">|
@@ -190,5 +191,5 @@
       time=Time.now.to_i
       vdata =****@db*****_attribute(@page, :vote) || ''
-      vdata << "#{@dlm_l}#{time}#{@dlm_i}#{newitem.escapeHTML}#{@dlm_i}0#{@dlm_i}#{time}"
+      vdata << "#{@dlm_l}#{time}#{@dlm_i}#{newitem}#{@dlm_i}0#{@dlm_i}#{time}"
       @db.set_attribute( @page, {:vote => vdata} )
     end
-- 
かずひこ <http://wiki.fdiary.net/kazuhiko/>
  「恋とハックはアジャイルが命!」



Hiki-dev メーリングリストの案内
Back to archive index