ページ削除を記録したい

  • ページ: BugTrack2
  • 投稿者: umorigu
  • 優先順位: 低
  • 状態: 完了
  • カテゴリー: 本体新機能
  • 投稿日: 2016-01-29 (金) 02:06:33
  • バージョン: 1.5.0
  • リリース予定バージョン: 1.5.1

メッセージ

backupにて、編集の履歴は残るが、ページが削除されたことは残らない。 バックアップからは履歴「a -> ab -> abc -> (削除) -> (復活)abcd」と「a -> ab -> abc -> abcd」の違いを表せない

削除された記録及び日時を記録したい。

実装


  • lib/file.phpのfile_write()で
    if ($dir == DATA_DIR && $str === '') {
    の時に、ファイルを削除してからもう1度バックアップを実行するようなかんじでしょうか?page_write()の時点では、変更前のデータを使って記録するだけのはずなので。修正がそれだけだとlib/backup.phpのmake_backup()で止められそうなので、
    if (! is_page($page)) return;
    $need_backup_by_time = $lastmod == 0 || UTIME - $lastmod > 60 * 60 * $cycle;
    の条件に新しいフラグ引数でも噛ませて強制的に記録フェーズを実行させる必要がありそうですけれど。($delete フラグだけだと、削除時点と削除済みのNULLポストを切り分けられない) -- 2016-02-03 (水) 22:36:15
    • それとも、変更はlib/backup.phpのmake_backup()だけにとどめて、$delete がFALSEの時はいままでどおり、$delete がTRUEの時はis_page($page) もTRUEの時に$cycle を無視して削除直前のデータを記録&実行時刻のスプリッター+空のwikiソースデータも続けて記録、のほうが手っ取り早いかな? -- 2016-02-03 (水) 22:36:15
  • ご提案のように file_write() と make_backup() の中で削除時点の空コンテンツ(BugTrack2/374により #author 行の1行)をbackup fileに追加するようにしました -- umorigu 2016-02-03 (水) 23:38:42


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-02-04 (木) 00:05:22
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u7. HTML convert time: 0.204 sec.

OSDN