An error occurred while loading the file. Please try again.
-
dockx thibault authored
audit aware of attributes values
Verified89c39085
<?php
/*
This code is part of FusionDirectory (http://www.fusiondirectory.org/)
Copyright (C) 2007 Fabian Hickert
Copyright (C) 2011-2016 FusionDirectory
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
*/
/*!
* \file class_logging.inc
* Source code for the class logging
*/
/*!
* \brief This is the base class for the FusionDirectory logging functionality.
* All logging should lead to this class.
*
* \author Fabian Hickert <hickert@gonicus.de>
* \version 2.6
* \date 11.04.2007
*/
class logging
{
static $validActions = ['modify','create','remove','copy','snapshot','security','error'];
/*!
* \brief logging method
*
* \param string $action One of these values (modify|create|remove|copy|snapshot|security|error)
*
* \param string $objecttype represents the current edited objecttype, like user/user, or the event, like logout
*
* \param string $object represents the current edited object dn, or the target of the operation
*
* \param array $changes An array containing names of all touched attributes
*
* \param string $result A status message, containing errors or success messages
*/
static function log (string $action, string $objecttype, string $object, array $changes = [], string $result = '')
{
global $config, $ui;
/* Create data object */
$entry = [
'timestamp' => microtime(TRUE),
'action' => $action,
'objecttype' => $objecttype,
'object' => $object,
'changes' => $changes,
'result' => $result
];
if (isset($ui->dn) && !empty($ui->dn)) {
$entry['user'] = $ui->dn;
} elseif (isset($_SERVER['REMOTE_ADDR'])) {
$entry['user'] = $_SERVER['REMOTE_ADDR'];
} else {