89 lines
2.7 KiB
PHP
89 lines
2.7 KiB
PHP
<?php
|
|
// ______ __ _______ _______ _______
|
|
//| __ \.---.-.-----.--| |.-----.----.---.-. | ___| | | __|
|
|
//| __/| _ | | _ || _ | _| _ | | ___| |__ |
|
|
//|___| |___._|__|__|_____||_____|__| |___._| |___| |__|_|__|_______|
|
|
//
|
|
// ============================================================================
|
|
// Copyright (c) 2007-2010 Artica Soluciones Tecnologicas, http://www.artica.es
|
|
// This code is NOT free software. This code is NOT licenced under GPL2 licence
|
|
// You cannnot redistribute it without written permission of copyright holder.
|
|
// ============================================================================
|
|
|
|
$ownDir = dirname(__FILE__) . '/';
|
|
$ownDir = str_replace("\\", "/", $ownDir);
|
|
require_once($ownDir . "../include/config.php");
|
|
|
|
require_once($config["homedir"] . "/include/functions.php");
|
|
require_once($config["homedir"] . "/include/functions_db.php");
|
|
require_once($config["homedir"] . "/include/auth/mysql.php");
|
|
|
|
global $config;
|
|
|
|
if (! isset($_SESSION["id_usuario"])) {
|
|
session_start();
|
|
session_write_close();
|
|
}
|
|
|
|
// Login check
|
|
if (!isset($_SESSION["id_usuario"])) {
|
|
$config['id_user'] = null;
|
|
}
|
|
else {
|
|
$config['id_user'] = $_SESSION["id_usuario"];
|
|
}
|
|
|
|
check_login();
|
|
|
|
if (! check_acl($config['id_user'], 0, "PM")) {
|
|
db_pandora_audit("ACL Violation", "Trying to access audit CSV export");
|
|
require("general/noaccess.php");
|
|
exit;
|
|
}
|
|
|
|
$filter_type = (string) get_parameter("filter_type");
|
|
$filter_user = (string) get_parameter("filter_user");
|
|
$filter_text = (string) get_parameter("filter_text");
|
|
$filter_period = get_parameter("filter_period", null);
|
|
$filter_period = ($filter_period !== null) ? (int) $filter_period : 24;
|
|
$filter_ip = (string) get_parameter("filter_ip");
|
|
|
|
$filter = "1=1";
|
|
|
|
if (!empty($filter_type)) {
|
|
$filter .= sprintf (" AND accion = '%s'", $filter_type);
|
|
}
|
|
|
|
if (!empty($filter_user)) {
|
|
$filter .= sprintf(" AND id_usuario = '%s'", $filter_user);
|
|
}
|
|
|
|
if (!empty($filter_text)) {
|
|
$filter .= sprintf(" AND (accion LIKE '%%%s%%' OR descripcion LIKE '%%%s%%')", $filter_text, $filter_text);
|
|
}
|
|
|
|
if (!empty($filter_ip)) {
|
|
$filter .= sprintf(" AND ip_origen LIKE '%%%s%%'", $filter_ip);
|
|
}
|
|
|
|
if (!empty($filter_period)) {
|
|
switch ($config["dbtype"]) {
|
|
case "mysql":
|
|
$filter .= ' AND fecha >= DATE_ADD(NOW(), INTERVAL -' . $filter_period . ' HOUR)';
|
|
break;
|
|
case "postgresql":
|
|
$filter .= ' AND fecha >= NOW() - INTERVAL \'' . $filter_period . ' HOUR \'';
|
|
break;
|
|
case "oracle":
|
|
$filter .= ' AND fecha >= (SYSTIMESTAMP - INTERVAL \'' . $filter_period . '\' HOUR)';
|
|
break;
|
|
}
|
|
}
|
|
|
|
$sql = sprintf( "SELECT * FROM tsesion WHERE %s ORDER BY fecha DESC", $filter);
|
|
$result = db_get_all_rows_sql($sql);
|
|
|
|
print_audit_csv($result);
|
|
|
|
?>
|