ももらぼっ!にっき


2008年05月25日 [長年日記]

_ [hidden] subversionでサイトを更新。

subversionでサイトのリソース管理をするようにしました。 忘れないように、post-commitの全文を張っておきます。

#!/bin/sh
cd /home/momo-lab/www
/home/momo-lab/local/bin/svn update >> /home/momo-lab/repos/log/svnupdate.log &

_ [tDiary] add_conf_procでadd_cookieしてもクッキーが出力されない。

プラグインの設定画面でOKボタンを押したタイミングで、クッキーを出力するようにしたくて、add_conf_proc内でadd_cookieメソッドを呼んでいたんだけど、どうしてもクッキーが出力されない。 どうしてかなーと思って、いろいろ見てみると、update.rbのレスポンスヘッダではSet-Cookieを出力しないようになっているようでした。 update.rbではクッキーを使わないようにしないといけない理由ってなにかあるんでしたっけ?

とりあえず、今回の目的を満たすためだけのパッチは以下のような感じです。

Index: update.rb
===================================================================
--- update.rb   (revision 3270)
+++ update.rb   (working copy)
@@ -48,27 +48,29 @@
	end

	begin
-		head = body = ''
+		head = {}
+		body = ''
		if @cgi.mobile_agent? then
			body = conf.to_mobile( tdiary.eval_rhtml( 'i.' ) )
-			head = @cgi.header(
+			head = {
				'status' => '200 OK',
				'type' => 'text/html',
				'charset' => conf.mobile_encoding,
				'Content-Length' => body.size.to_s,
				'Vary' => 'User-Agent'
-			)
+			}
		else
			body = tdiary.eval_rhtml
-			head = @cgi.header(
+			head = {
				'status' => '200 OK',
				'type' => 'text/html',
				'charset' => conf.encoding,
				'Content-Length' => body.size.to_s,
				'Vary' => 'User-Agent'
-			)
+			}
+			head['cookie'] = tdiary.cookies if tdiary.cookies.size > 0
		end
-		print head
+		print @cgi.header( head )
		print body if /HEAD/i !~ @cgi.request_method
	rescue TDiary::ForceRedirect
		head = {

MLに入って聞いてみるかなー。

_ [tDiary] hide_section.rb

hide_category2.rbだと、カテゴリを隠すことになっちゃってちょっと違うかなーと思って名称変更。 hide_section.rbとしました。

前回気付いた、[hidden]な内容が参照できない問題を解決してみました。 アプローチは前回書いた通りですが、上に書いた通り設定画面からクッキーへの書き込みが出来なかったので、無理やり修正したupdate.rbが必要です。

長くなっちゃうので、ここに置いてみたので見てみてください。