差分表示にundo機能を追加するパッチ (for PukiWiki-1.4.5)

差分表示から、簡単に変更を無効にして元に戻すことができるようになります。

diff_undo.png

パッチのダウンロード

使用方法

  • ja.lng.php に下記の定義を追加してください。 diff.inc.phpのほかの定義の下に追加すると良いかと思います。
    $_title_diff_undo    = '変更を無効にして元に戻す';
    $_btn_undo           = '元に戻す';
  • 上記のパッチを plugin/diff.inc.phpにあてます*1
  • これで、ページの「差分」を表示すると「変更を無効にして元に戻す」が出るようになります。
  • アンカーを選択してパスワードを入力すると、差分表示されている変更が無効になり、ページが元に戻ります。
  • バックアップがある限り、継続して元に戻す操作ができます(元に戻すとバックアップも削除されていきます)。
  • 元に戻したページを、元に戻す前の状態に戻すことはできませんのでご注意ください。

コメント

  • 一つだけしか戻せないのが難点か・・・ -- teanan 2005-02-19 22:00:48 (土)
  • ということで、削除後にバックアップから差分データを持ってくるようにしました。 -- teanan 2005-02-20 23:37:16 (日)
  • 怖いので試していないのですが、これ、GooglebotやWebclawlerがページをたどるだけで勝手に実行されてしまいますか? (^^; -- henoheno 2005-02-20 23:58:42 (日)
    • あー、どうなんでしょう。考慮からスッポリ抜けてました (^^; 一応、adminパスワードは聞いてきますので大丈夫ではないでしょうか・・・? -- teanan 2005-02-21 00:00:20 (月)
    • パスワード入力なしで戻せるようにしたいなぁ、と思っていたのですが、ロボットを考えるとダメですね ;( -- teanan 2005-02-21 00:11:40 (月)
  • お時間があるときに1.4.7用パッチを.........m(_ _)mペコッ! -- ど素人byクジャタ鯖 2006-07-27 (木) 19:29:59
    • 自分でやってみたけど簡単でしたよー。1,2,4のHunkでは問題起こらず、3つ目のHunk(56行目くらい)のみ、直前のdiff_deleteの文をコピペしてdeleteをundoにすればOKでした。 -- kei 2007-06-17 (日) 07:10:46
  • この機能、password制限じゃなくて、編集preview状態に持っていったらどうでしょうね? -- 2007-08-18 (土) 16:15:14
    • なるほど、そうすると編集画面で一個ずつ戻れるようにしたら便利かもしれませんね。 -- teanan 2007-08-19 (日) 18:44:51
  • Plus!でも利用できました。素晴らしいパッチをありがとうございます。 -- 2007-09-13 (木) 07:08:08
  • 大変便利に使わせていただいております。タイムスタンプを変更しないで差分を元にもどすことは可能でしょうか? -- 2007-11-15 (木) 17:33:08
    • plugin_diff_undo関数の初めの方の下記の部分を変更して試していただけませんか? -- teanan 2007-11-15 (木) 21:25:52
      	}
      	// Create wiki text
      +	file_write(DATA_DIR, $page, $postdata);
      -	file_write(DATA_DIR, $page, $postdata, TRUE);
      
      	// make diff data from backup
  • ありがとうございます。さっそく試してみます -- 2007-11-17 (土) 02:07:18
  • 出来ました!これでより一層spam対策が楽になりました。本当にありがとうございます -- 2007-11-17 (土) 02:10:46
©teanan/interfair laboratory 1992-2007 all rights reserved.



最終更新のRSS

*1 lib/diff.inc.phpとは別のものです。ご注意ください。

添付ファイル: filediff.inc.php.undo.diff.0.1.txt 791件 [詳細] filediff_undo.png 254件 [詳細] filediff.inc.php.undo.diff.0.0.txt 294件 [詳細]