plugins:actionlogplus

NP_ActionLogPlus.php

管理操作履歴に保存される管理操作を増やします。履歴を削除する時もしくは履歴が400件に達した時にテキストに書き出し、履歴が消去された後にその履歴を残します。履歴のダウンロード機能も提供します。また、追加のプラグイン通知イベントを発生します。

General Plugin info
作者: Mocchi, shizuki
最新のバージョン: Ver.0.2.3 (2008/01/23)
入手先: http://japan.nucleuscms.org/bb/download/file.php?id=1316(50.49KB, Zip圧縮)
フォーラム参照先: http://japan.nucleuscms.org/bb/viewtopic.php?t=3765(フォーラムへのログインが必要です)
セキュリティチェック: 2007/12/27 Mocchi

インストール方法

  1. Zipファイルを展開して、中身をサーバーのプラグインディレクトリにアップロードします
  2. 管理画面からプラグインをインストールします
  3. プラグイン・オプションの設定確認をします
  4. アクセス権限の設定を、FTPソフトなどで行います。今回設定するのは、同梱のディレクトリ「actionlogplus/logs/」です。「777」に設定してください。「.htaccess」でアクセス制御をしているので、ブラウザから直接参照されることはありません。

このプラグインの使い方

Nucleusは初期設定時、以下のアクションを管理操作履歴に書き出します。(ver. 3.3)

  • 認証用リンクを送信したとき
  • 新しいメンバーが追加されたとき
  • ファイルを見つけられないのでプラグインを読み込むことができなかったとき
  • PHP構造がおかしくてプラグインを読み込むことができなかったとき
  • テーブル接頭辞をサポートしていないためプラグインを読み込むことができなかったとき
  • ログイン成功時
  • ログイン失敗時
  • メンバーをブログチームに追加したとき
  • 許可されていないアクションをしたとき
  • actionurlの長さが適切でなかったとき

管理操作履歴に残るアクションを増やします

このプラグインは、これに加えて以下のアクションを管理操作履歴に書き出します。

  • ログアウト
  • 管理操作履歴の削除
  • アイテムの追加、編集、削除
  • カテゴリーの追加、編集、削除
  • ウェブログの追加、編集、削除
  • メンバーの追加、編集、削除
  • チームへのメンバー追加・削除・管理権限の変更
  • プラグインの追加・変更・削除
  • バックアップ・データの作成
  • グローバル設定の変更
  • ファイルの追加

管理操作履歴を保存します

管理操作履歴は初期設定時、500件に達すると自動的に250件まで削除されます。また、管理操作履歴の削除で消去することができます。 このプラグインは、管理操作履歴が400件に達するか、管理操作履歴の削除を行った際、それまでの履歴をテキストファイルに書き出して保存し、その履歴を残します。 保存場所はプラグインの独自フォルダです。

管理操作履歴ファイルをダウンロードします

また、プラグインの管理画面においてそれまで蓄積された管理操作履歴の一覧の確認と、ファイルのダウンロードを行うことができます

エラーメッセージ

ログファイルの自動書き出しに失敗すると、以下のエラーメッセージを管理操作履歴に残します。

  • Missing the directory for logs
  • Forbidden access to the directory for logs
  • Fail to open file for preserving action logs
  • Fail to lock file for preserving action logs
  • Fail to keep action logs in system cash
  • Fail to close file for preserving action logs
  • Fail to change the mode of file for action logs

Missing the directory for logs

サーバのプラグイン・ディレクトリの中にあるディレクトリ「actionlog」にディレクトリ「logs」がない場合、このエラーがでます。 FTPソフトなどでディレクトリを作成してください。

Forbidden access to the directory for logs

ディレクトリ「actionlog」の中にあるディレクトリ「logs」のアクセス権限が「777」ではないとき、このエラーがでます。 FTPソフトなどで権限を設定してください。

Fail to open file for preserving action logs

ログファイルを作成することができないとき、このエラーがでます。 PHP設定のディレクティブ「safe_mode」について、サーバ管理者に相談してください。

Fail to lock file for preserving action logs

ログファイルを排他ロックすることができないとき、このエラーがでます。サーバ管理者に相談してください。

Fail to keep action logs in system cash

管理操作履歴に関する情報を、サーバの一時保存領域へ補完できない場合、このエラーがでます。サーバ管理者に相談してください。

Fail to close file for preserving action logs

ログファイルに管理操作履歴に関する情報を書き込むことに失敗した場合、このエラーがでます。サーバ管理者に相談してください。

Fail to change the mode of file for action logs

書き出したログファイルへのアクセス権限を適切に設定できていない場合、このエラーがでます。サーバ管理者に相談してください。

プラグイン通知イベントを増やします

このプラグインは、追加の通知イベントを発生します。 詳細はこのファイルを参照してください。
:plugins:additionalevents.html

これらイベントをプラグインに実装する際は、プラグインAPIのgetPluginDep()を記述することをお勧めします。

全体の環境設定関係

  • グローバル設定が変更された時(SettingsUpdate)
  • バックアップ・データを作成した時(BackupCreate)
  • 管理操作履歴が消去される前後(ClearActionlogのPre/Post)

ウェブログ・チーム関係

  • メンバーの管理権限の変更がデータベースに書き込まれる前後(TeamChangeAdminのPre/Post)

設定の変更がデータベースに書き込まれる前後

  • ブログ設定(ChangeBlogSettingsのPre/Post)
  • カテゴリー設定(ChangeCategorySettingsのPre/Post)
  • メンバー設定(ChangeMemberSettingsのPre/Post)

プラグインが設定したオプションの変更がデータベースに書き込まれる前後

  • グローバルオプション(ChangePluginGlobalOptionsのPre/Post)
  • ブログのコンテクスト(ChangePluginBlogOptionsのPre/Post)
  • カテゴリーのコンテクスト(ChangePluginCategoryOptionsのPre/Post)
  • アイテムのコンテクスト(ChangePluginItemOptionsのPre/Post)
  • メンバーのコンテクスト(ChangePluginMemberOptionsのPre/Post)

オプション

以下のオプションを設定します。

  • メンバー関連の履歴(変更・削除)を記録しますか?
  • ウェブログ関連の履歴(作成・変更・削除)を記録しますか?
  • チーム関連の履歴(チームへのメンバー削除・管理権限の変更)を記録しますか?
  • カテゴリー関連の履歴(追加・変更・削除)を記録しますか?
  • アイテム関連の履歴(追加・変更・削除・移動)を記録しますか?
  • 禁止IP関連の履歴(登録・削除)を記録しますか?
  • プラグイン関連の履歴(追加・変更・削除)を記録しますか?
  • バックアップ・データの作成を記録しますか?
  • グローバル設定の変更を記録しますか?
  • 外部ファイル関連の履歴(ファイルアップロード)を保存しますか?

他のプラグインとの組み合わせ

NP_EachBlogDirやNP_ImprovedMediaを一緒に利用している場合、外部ファイルに関する履歴に「ファイル削除」と「ファイル名変更」が加わります。上記2つのプラグインが発生するイベント「PostRenameMedia」「PostDeleteMedia」をキャッチするからです。

NP_EachBlogDir - http://japan.nucleuscms.org/bb/viewtopic.php?t=2576

希望事項

このプラグインを利用する際は、コアに以下の修正をすることをお勧めします。この修正を行うと、イベント「PostTeamChangeAdmin」が正常に動作するようになります。

lib/Admin.phpのdeleteOneTeamMemberメソッド(バージョン3.3なら2328行から)

修正前

$manager→notify('PostDeleteTeamMember', array('member' ⇒ &$mem, 'blogid' ⇒ $blogid));

修正後

$manager→notify('PostDeleteTeamMember', array('member' ⇒ &$tmem, 'blogid' ⇒ $blogid));

機知の問題点

ver. 3.3の自動保存機能は、現在作成中のアイテムの下書きを新しいIDのアイテムとして保存しておき、作成中のアイテムを登録した際に下書きアイテムを削除する使用となっています。 そのため、自動保存機能が働いた場合、意図せずにアイテムの削除と追加が記録されます。 おどろかないでください。

「.htaccess」でアクセス制御しているとは言え、プラグイン・ディレクトリ内に書き込み可能なディレクトリを作成しているので、セキュリティ・リスクがあるのではないかという懸念があります。お気づきの点は、サポート・フォーラムへぜひご相談ください。

開発履歴

  • 2008.01.23 ver.0.2.3
    • 管理操作履歴の自動書き出しの不具合を修正。
    • ログファイル管理画面の不具合を修正。
    • ヘルプファイルに「エラーメッセージ」に関する章を追加
  • 2008.01.19 ver.0.2.2
    • 通知イベントをたくさん追加
    • 外部ファイル管理に関するイベントに対応
    • タイプミスを修正
    • ヘルプファイルの作成
  • 2007.12.27 ver.0.2.1 リリースキャンディデート版として公開
    • グローバル・オプションの変更、バックアップ書き出し、管理操作履歴の削除に対応
    • 言語ファイルの設置
    • セキュリティチェック
  • 2007.12.19 ver.0.2.0 ベータ版として公開
    • 管理操作画面の設置
  • 2007.12.17 ver.0.1.0 アルファ版として公開
    • 日本語をソースに含めてある
 
plugins/actionlogplus.txt · 最終更新: 2011/03/23 21:28 (外部編集)