Subversion Repositories oidplus

Compare Revisions

Regard whitespace Rev 1196 → Rev 1197

/trunk/plugins/viathinksoft/logger/000_database/OIDplusLoggerPluginDatabase.class.php
35,15 → 35,13
}
 
/**
* @param string $event
* @param array $users
* @param array $objects
* @param OIDplusLogEvent $event
* @return bool
* @throws OIDplusException
*/
public function log(string $event, array $users, array $objects): bool {
public function log(OIDplusLogEvent $event): bool {
$addr = $_SERVER['REMOTE_ADDR'] ?? '';
OIDplus::dbIsolated()->query("insert into ###log (addr, unix_ts, event) values (?, ?, ?)", array($addr, time(), $event)); // TODO: why unix_ts? Why not a database DATETIME field?!
OIDplus::dbIsolated()->query("insert into ###log (addr, unix_ts, event) values (?, ?, ?)", array($addr, time(), $event->getMessage())); // TODO: why unix_ts? Why not a database DATETIME field?!
$log_id = OIDplus::dbIsolated()->insert_id();
if ($log_id === 0) {
$res = OIDplus::dbIsolated()->query("select max(id) as last_id from ###log");
54,18 → 52,23
}
 
$object_dupe_check = array();
foreach ($objects as list($severity, $object)) {
$user_dupe_check = array();
foreach ($event->getTargets() as $target) {
$severity = $target->getSeverity();
if ($target instanceof OIDplusLogTargetObject) {
$object = $target->getObject();
if (in_array($object, $object_dupe_check)) continue;
$object_dupe_check[] = $object;
OIDplus::dbIsolated()->query("insert into ###log_object (log_id, severity, object) values (?, ?, ?)", array((int)$log_id, (int)$severity, $object));
}
 
$user_dupe_check = array();
foreach ($users as list($severity, $username)) {
} else if ($target instanceof OIDplusLogTargetUser) {
$username = $target->getUsername();
if (in_array($username, $user_dupe_check)) continue;
$user_dupe_check[] = $username;
OIDplus::dbIsolated()->query("insert into ###log_user (log_id, severity, username) values (?, ?, ?)", array((int)$log_id, (int)$severity, $username));
} else {
assert(false);
}
}
 
return true;
}