H"PhoneでtDiary

H"PhoneからtDiaryを使うと絵日記プラグインの画像uploadフォームが 表示されない。調べてみると、tdiary.rbの中で、

class CGI
    :
    :
   def mobile_agent?
      self.user_agent =~ %r[(DoCoMo|J-PHONE|UP\.Browser|DDIPOCKET|ASTEL|PDXGW|Palmscape|Xiino|sharp pda browser|Windows CE|L-mode)]i
   end
end

CGIクラスを拡張してmobile_agent?メソッドを追加している。 H"PhoneのUSER_AGENTは、

Mozilla/3.0(DDIPOCKET;KYOCERA/AH-K3001V/1.5.2.68.000000/0.1/C100) Opera 7.0

となってるので、"DDIPOCKET"に該当しているのだろう。 このメソッドの返す値で処理を分けているが、 更新画面を出力するupdate.rbでは

                 :
           if @cgi.mobile_agent? then
                body = conf.to_mobile( tdiary.eval_rhtml( 'i.' ) )
                head = @cgi.header(
                 :

として、eval_rhtml()に'i.'を渡している。これによって、 mobile_agentの場合は、skel/update.rhtmlの代わりにskel/i.update.rhtmlが 使われる。このupdate.rhtmlがuploadフォームを表示するform_proc()を 呼んでいるが、i.update.rhtmlでは省略されている。で、次のように i.update.rhtmlを変更。

--- i.update.rhtml.org  Thu Oct 23 23:12:52 2003
+++ i.update.rhtml      Mon Apr 11 14:29:26 2005
@@ -36,4 +36,5 @@
 end %>
 <% if idx > 0 then %><P><INPUT TYPE="SUBMIT" NAME="comment" VALUE="ツッコミ表示状態変更"></P><% end %>
 </FORM>
 +<%%=form_proc( @date )%>
 <HR>

これで、H"Phoneからも絵日記プラグインが使えるようになった。早速、 神戸で撮った写真をuploadしてみる。問題無く使えるが、やはりQVGAの画面では 編集が辛い。

Last modified: 2011-03-20 by Unknown