MT::App::Commentsアプリケーションのコールバック(アプリケーション・レベル)について説明します。
新しくコメントを受け取るとすぐに呼び出されます。コールバックは、trueまたはfalseを返すものでなければなりません。戻り値がfalseの場合、コメントのデータは破棄され、アプリケーションはコメント制限についてのエラー・ページを出力します。CommentThrottleFilterコールバックは次のような書式で指定します。
sub comment_throttle_filter($eh, $app, $entry)
{
...
}
$appはMT::App::Commentsオブジェクトです。$entryはコメントの対象であるエントリーです。
コメント・オブジェクトは渡されないということに注意してください。理由は、この時点ではコメント・オブジェクトはまだ生成されていないからです。この結果、このコールバックを使うと、大量の処理を行う前にコメント処理を早々に終了するようアプリケーションに指示することができます。
複数のCommentThrottleFilterが設定されている場合、すべてのコールバックがtrueを返したとき以外は、コメントのデータは破棄されます。
コメント・オブジェクトが生成されたあと(かつ保存する前)に呼び出されます。falseを返すCommentFilterコールバックが1つでもあれば、コメントは保存されません。このコールバックの書式は次のような形です。
sub comment_filter($eh, $app, $comment)
{
...
}