From 222eff8730f6affbc5381f7b7c5ab8ea735fec8d Mon Sep 17 00:00:00 2001 From: Alan Knowles Date: Thu, 18 Nov 2010 06:56:54 +0800 Subject: [PATCH] Pman.php --- Pman.php | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/Pman.php b/Pman.php index 65a7348..1d53c54 100644 --- a/Pman.php +++ b/Pman.php @@ -612,11 +612,47 @@ class Pman extends HTML_FlexyFramework_Page * ---------------- Logging --------------- */ + /** + * addEventOnce: + * Log an action (only if it has not been logged already. + * + * @param {String} action - group/name of event + * @param {DataObject|false} obj - dataobject action occured on. + * @param {String} any remarks + */ + function addEventOnce($act, $obj = false, $remarks = '') + { + $au = $this->getAuthUser(); + $e = DB_DataObject::factory('Events'); + + if (is_a($e, 'PEAR_Error')) { + return; // no event table! + } + $e->person_name = $au ? $au->name : ''; + $e->person_id = $au ? $au->id : ''; + $e->ipaddr = isset($_SERVER["REMOTE_ADDR"]) ? $_SERVER["REMOTE_ADDR"] : 'cli'; + $e->action = $act; + $e->on_table = $obj ? $obj->tableName() : ''; + $pk = $obj ? $obj->keys() : false; + $e->on_id = $obj && $pk ? $obj->{$pk[0]}: 0; + $e->remarks = $remarks; + if ($e->find(true)) { + return; + } + $this->addEvent($act, $obj, $remarks); + } + /** + * addEvent: + * Log an action. + * + * @param {String} action - group/name of event + * @param {DataObject|false} obj - dataobject action occured on. + * @param {String} any remarks + */ - - - function addEvent($act, $obj = false, $remarks = '') { + function addEvent($act, $obj = false, $remarks = '') + { $au = $this->getAuthUser(); $e = DB_DataObject::factory('Events'); -- 2.39.2