2007-10-02
■ [hiki] 更新しようとしたらPermissionErrorで書きかけのデータが飛びかけたときの対処法
Hikiで記事を書いてる途中に管理メニューにログインすると、「編集」押したときと「送信」押したときでログインユーザが違うので(という理由かは知らないが) PermissionErrorになるじゃん。
んで慌てて戻るボタン押してもIEだと内容が戻ってくれないという。
しかし戻るじゃなくて進むとか再読み込みすると「内容をもう一度送信して良いですか? OK/キャンセル」になるので、OKを押す前に hiki/command.rbを以下のように書き換える。
def generate_error_page( data ) @plugin.hiki_menu(data, @cmd) @plugin.title = title( 'Error' ) data[:cgi_name] = @conf.cgi_name data[:view_title] = 'Error' require 'kconv'; data[:view_title] = @cgi["contents"].tosjis #←ここね data[:header] = @plugin.header_proc data[:frontpage] = @plugin.page_name( 'FrontPage' ) @page = Hiki::Page::new( @cgi, @conf ) @page.template = @conf.read_template( 'error' ) @page.contents = data @page.process( @plugin ) @page.out( 'status' => 'NOT_FOUND' ) end
と、h1タグの中に書きかけのテキストが突っ込まれるので(強引だなおい)htmlソースから適当にサルベージしましょう。
…本当はこんな対処療法じゃなくて、Hiki本体を修正してもらうのが正しいけど。公式ページが復活したらITSに投げてみるか。