diff --git a/src/FederationServer/Classes/Managers/AuditLogManager.php b/src/FederationServer/Classes/Managers/AuditLogManager.php index ae8116d..edbbd54 100644 --- a/src/FederationServer/Classes/Managers/AuditLogManager.php +++ b/src/FederationServer/Classes/Managers/AuditLogManager.php @@ -4,6 +4,7 @@ use FederationServer\Classes\DatabaseConnection; use FederationServer\Classes\Enums\AuditLogType; + use FederationServer\Classes\Logger; use FederationServer\Exceptions\DatabaseOperationException; use FederationServer\Objects\AuditLogRecord; use InvalidArgumentException; @@ -28,6 +29,33 @@ throw new InvalidArgumentException("Message cannot be empty."); } + if($operator !== null && strlen($operator) === 0) + { + throw new InvalidArgumentException("Operator UUID cannot be empty."); + } + + if($entity !== null && strlen($entity) === 0) + { + throw new InvalidArgumentException("Entity UUID cannot be empty."); + } + + if($operator !== null && $entity !== null) + { + Logger::log()->info(sprintf("Audit Entry [%s] %s by %s on %s", $type->value, $message, $operator, $entity)); + } + elseif($operator !== null) + { + Logger::log()->info(sprintf("Audit Entry [%s] %s by %s", $type->value, $message, $operator)); + } + elseif($entity !== null) + { + Logger::log()->info(sprintf("Audit Entry [%s] %s on %s", $type->value, $message, $entity)); + } + else + { + Logger::log()->info(sprintf("Audit Entry [%s] %s", $type->value, $message)); + } + try { $stmt = DatabaseConnection::getConnection()->prepare("INSERT INTO audit_log (type, message, operator, entity) VALUES (:type, :message, :operator, :entity)");