【しばらく編集不可モードで運営します】 編集(管理者用) | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

プレビュー画面のテキストをtextareaに入れる修正 - *修正点概略

目次

修正点概略

まず、preview_buttonを修正。

	sub print_preview_buttons {
	    my ($page_name, $escapedmsg) = @_;
	    print <<"EOD";
	    <form action="$thisurl" method="post">
	    <textarea cols="$cols" rows="$rows" name="mymsg" wrap="virtual">$escapedmsg</textarea>
	    <br />
	    <input type="hidden" name="mypage" value="$page_name">
	    <input type="submit" name="myspecial_preview" value="再度プレビュー">
	    <input type="submit" name="myspecial_write" value="ページの更新">
	    </form>
	EOD
	}

それから、myspecial_コマンド名 を $form{mycmd} = コマンド名 にする処理を はじめに入れる。

	# myspecial対応
	foreach (keys %form) {
	    if (/^myspecial_(.*)/) {
	        $form{mycmd} = $1;
	    }
	    last;
	}

    if ($form{mycmd} eq 'read') {
        &do_read;
    } elsif ($form{mycmd} eq 'preview') {
        &do_preview;
    } elsif ($form{mycmd} eq 'write') {
        &do_write;
	....

修正点詳細

	7,9d6
	< # TODO:
	< # - InterWiki風の機能「URLを隠しつつ、リンクを張る」
	< #
	26c23
	< # $Id: yukiwiki.cgi 1.50 2001/09/27 13:47:31 yuki Exp $
	---
	> # $Id: yukiwiki.cgi 1.51 2001/10/17 17:29:25 yuki Exp yuki $
	28c25
	< my $version = "1.6.4";
	---
	> my $version = "1.6.5";
	37c34,35
	< my $kanjicode = 'sjis';
	---
	> my $kanjicode = 'sjis';     # 'sjis' 'euc'
	> my $charset = 'Shift_JIS';  # 'Shift_JIS' 'EUC-JP'
	128,130c126,128
	<         'mycmd', 'read',
	<         #'mycmd', 'search',
	<         #'mycmd', 'edit',
	---
	>         'mycmd' => 'read',
	>         #'mycmd' => 'search',
	>         #'mycmd' => 'edit',
	160a159,167
	> 
	>     # myspecial対応
	>     foreach (keys %form) {
	>         if (/^myspecial_(.*)/) {
	>             $form{mycmd} = $1;
	>         }
	>         last;
	>     }
	> 
	175,176d181
	<     } elsif ($form{mycmd} eq 'rule') {
	<         &do_rule;
	363,364c368
	<     print qq|<p>以下のプレビューを確認して、よければ更新してください。更新しないと実際のページには反映されません。</p>\n|;
	<     &print_preview_buttons($page_name, $escapedmsg);
	---
	>     print qq|<p>以下のプレビューを確認して、よければページ下部のボタンで更新してください。</p>\n|;
	380,394d383
	< <table><tr><td>
	<     <form action="$thisurl" method="post">
	<     <input type="hidden" name="mycmd" value="write">
	<     <input type="hidden" name="mypage" value="$page_name">
	<     <input type="hidden" name="mymsg" value="$escapedmsg">
	<     <input type="submit" value="ページの更新">
	<     </form>
	< </td><td>
	<     <form action="$thisurl" method="post">
	<     <input type="hidden" name="mycmd" value="reedit">
	<     <input type="hidden" name="mypage" value="$page_name">
	<     <input type="hidden" name="mymsg" value="$escapedmsg">
	<     <input type="submit" value="再編集">
	<     </form>
	< </td><td>
	396c385,386
	<     <input type="hidden" name="mycmd" value="read">
	---
	>     <textarea cols="$cols" rows="$rows" name="mymsg" wrap="virtual">$escapedmsg</textarea>
	>     <br />
	398c388,389
	<     <input type="submit" value="キャンセル">
	---
	>     <input type="submit" name="myspecial_preview" value="再度プレビュー">
	>     <input type="submit" name="myspecial_write" value="ページの更新">
	400d390
	< </td></table>
	519c509
	<         &jcode'convert(\*value, $charcode);
	---
	>         &jcode::convert(\$value, $charcode);
	1233a1224,1232
	> 2001年10月17日、Version 1.6.5。
	> 
	> プレビュー画面で、更新ボタンを押したときに送信される
	> メッセージの内容をinput要素のtype="hidden"を使って埋め込むのをやめる。
	> 代わりに、textarea要素を使う。
	> 再プレビュー用にmyspecial_を導入。でもきれいな対策ではない。
	> 
	> =item *
	> 
	1362d1360
	<     - InterWiki対応
	1366a1365,1368
	>     - プレビューのボタンで、mymsgをinputのvalueに入れているが、改行をそのままvalueにいれてはいけないのではないか。
	>     - 「再編集」の機能はブラウザの back で充分ではないか。プレビューはもっとシンプルに。
	>     - ページタイトル(Wikiname)が検索にかかるようにする。
	>     - InterWiki風の機能「URLを隠しつつ、リンクを張る」


last;の位置違ってますよね。
	>     # myspecial対応
	>     foreach (keys %form) {
	>         if (/^myspecial_(.*)/) {
	>             $form{mycmd} = $1;
	>             last;
	>         }
	>     }


確かに!次のリリースでは直しておきます。感謝!結城

    # myspecial対応
    foreach (keys %form) {
        if (/^myspecial_(.*)/) {
            $form{mycmd} = $1;
            last;
        }
    }