Delete of security event keep add a delete event

This commit is contained in:
Laurent Destailleur 2011-07-18 23:28:30 +00:00
parent 4496665177
commit ab1d4b335a
3 changed files with 96 additions and 70 deletions

View File

@ -20,16 +20,17 @@
* \file htdocs/admin/events.php * \file htdocs/admin/events.php
* \ingroup core * \ingroup core
* \brief Log event setup page * \brief Log event setup page
* \version $Id$ * \version $Id: events.php,v 1.20 2011/07/18 23:30:56 eldy Exp $
*/ */
require("../main.inc.php"); require("../main.inc.php");
require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/admin.lib.php");
require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php"); require_once(DOL_DOCUMENT_ROOT."/lib/agenda.lib.php");
require_once(DOL_DOCUMENT_ROOT."/core/class/events.class.php");
if (!$user->admin) if (!$user->admin)
accessforbidden(); accessforbidden();
$langs->load("users"); $langs->load("users");
$langs->load("admin"); $langs->load("admin");
@ -38,47 +39,14 @@ $langs->load("other");
$action=GETPOST("action"); $action=GETPOST("action");
// List of all events supported by triggers $securityevent=new Events($db);
$eventstolog=array( $eventstolog=$securityevent->eventstolog;
array('id'=>'USER_LOGIN', 'test'=>1),
array('id'=>'USER_LOGIN_FAILED', 'test'=>1),
array('id'=>'USER_LOGOUT', 'test'=>1),
array('id'=>'USER_CREATE', 'test'=>1),
array('id'=>'USER_MODIFY', 'test'=>1),
array('id'=>'USER_NEW_PASSWORD', 'test'=>1),
array('id'=>'USER_ENABLEDISABLE', 'test'=>1),
array('id'=>'USER_DELETE', 'test'=>1),
array('id'=>'GROUP_CREATE', 'test'=>1),
array('id'=>'GROUP_MODIFY', 'test'=>1),
array('id'=>'GROUP_DELETE', 'test'=>1),
/* array('id'=>'ACTION_CREATE', 'test'=>$conf->societe->enabled),
array('id'=>'COMPANY_CREATE', 'test'=>$conf->societe->enabled),
array('id'=>'CONTRACT_VALIDATE', 'test'=>$conf->contrat->enabled),
array('id'=>'PROPAL_VALIDATE', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_CLOSE_SIGNED', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_CLOSE_REFUSED', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_SENTBYMAIL', 'test'=>$conf->propal->enabled),
array('id'=>'ORDER_VALIDATE', 'test'=>$conf->commande->enabled),
array('id'=>'ORDER_SENTBYMAIL', 'test'=>$conf->commande->enabled),
array('id'=>'BILL_VALIDATE', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_PAYED', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_CANCEL', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_SENTBYMAIL', 'test'=>$conf->facture->enabled),
array('id'=>'PAYMENT_CUSTOMER_CREATE','test'=>$conf->facture->enabled),
array('id'=>'PAYMENT_SUPPLIER_CREATE','test'=>$conf->fournisseur->enabled),
array('id'=>'MEMBER_CREATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_VALIDATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_SUBSCRIPTION', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_MODIFY', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_RESILIATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_DELETE', 'test'=>$conf->adherent->enabled),
*/
);
/* /*
* Actions * Actions
*/ */
if ($action == "save") if ($action == "save")
{ {
$i=0; $i=0;
@ -151,12 +119,10 @@ print "</form>\n";
print '</div>'; print '</div>';
dol_htmloutput_mesg($mesg);
if ($mesg) print "<br>$mesg<br>";
print "<br>";
$db->close(); $db->close();
llxFooter('$Date$ - $Revision$'); llxFooter('$Date: 2011/07/18 23:30:56 $ - $Revision: 1.20 $');
?> ?>

View File

@ -21,13 +21,13 @@
* \file htdocs/admin/tools/listevents.php * \file htdocs/admin/tools/listevents.php
* \ingroup core * \ingroup core
* \brief List of security events * \brief List of security events
* \version $Id$ * \version $Id: listevents.php,v 1.31 2011/07/18 23:28:30 eldy Exp $
*/ */
require("../../main.inc.php"); require("../../main.inc.php");
require_once(DOL_DOCUMENT_ROOT.'/core/class/events.class.php');
if (! $user->admin) if (! $user->admin)
accessforbidden(); accessforbidden();
// Security check // Security check
if ($user->societe_id > 0) if ($user->societe_id > 0)
@ -61,23 +61,48 @@ $search_ua = GETPOST("search_ua");
* Actions * Actions
*/ */
$now=dol_now();
// Purge audit events // Purge audit events
if ($_REQUEST['action'] == 'confirm_purge' && $_REQUEST['confirm'] == 'yes' && $user->admin) if ($_REQUEST['action'] == 'confirm_purge' && $_REQUEST['confirm'] == 'yes' && $user->admin)
{ {
$error=0;
$db->begin();
$securityevents=new Events($db);
// Delete events
$sql = "DELETE FROM ".MAIN_DB_PREFIX."events"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."events";
$sql.= " WHERE entity = ".$conf->entity; $sql.= " WHERE entity = ".$conf->entity;
$resql = $db->query($sql); $resql = $db->query($sql);
if (! $resql) if (! $resql)
{ {
$error++;
$mesg='<div class="error">'.$db->lasterror().'</div>'; $mesg='<div class="error">'.$db->lasterror().'</div>';
} }
// Add event purge
$text=$langs->trans("SecurityEventsPurged");
$securityevent=new Events($db);
$securityevent->type='SECURITY_EVENTS_PURGE';
$securityevent->dateevent=$now;
$securityevent->description=$text;
$result=$securityevent->create($user);
if ($result > 0)
{
dol_syslog($text, LOG_WARNING);
}
else
{
$error++;
dol_syslog($securityevent->error, LOG_ERROR);
$db->rolback();
}
} }
/* /*
* View * View
*/ */
llxHeader(); llxHeader();
@ -215,7 +240,7 @@ if ($result)
else print '<tr><td colspan="6">'.$langs->trans("NoEventOrNoAuditSetup").'</td></tr>'; else print '<tr><td colspan="6">'.$langs->trans("NoEventOrNoAuditSetup").'</td></tr>';
} }
print "</table>"; print "</table>";
$db->free(); $db->free($result);
if ($num) if ($num)
{ {
@ -231,5 +256,5 @@ else
$db->close(); $db->close();
llxFooter('$Date$ - $Revision$'); llxFooter('$Date: 2011/07/18 23:28:30 $ - $Revision: 1.31 $');
?> ?>

View File

@ -21,7 +21,7 @@
* \file htdocs/core/class/events.class.php * \file htdocs/core/class/events.class.php
* \ingroup core * \ingroup core
* \brief File of class to manage security events. * \brief File of class to manage security events.
* \version $Id$ * \version $Id: events.class.php,v 1.7 2011/07/18 23:32:00 eldy Exp $
* \author Laurent Destailleur * \author Laurent Destailleur
*/ */
@ -52,6 +52,42 @@ class Events // extends CommonObject
var $dateevent; var $dateevent;
var $description; var $description;
// List of all events supported by triggers
var $eventstolog=array(
array('id'=>'USER_LOGIN', 'test'=>1),
array('id'=>'USER_LOGIN_FAILED', 'test'=>1),
array('id'=>'USER_LOGOUT', 'test'=>1),
array('id'=>'USER_CREATE', 'test'=>1),
array('id'=>'USER_MODIFY', 'test'=>1),
array('id'=>'USER_NEW_PASSWORD', 'test'=>1),
array('id'=>'USER_ENABLEDISABLE', 'test'=>1),
array('id'=>'USER_DELETE', 'test'=>1),
array('id'=>'GROUP_CREATE', 'test'=>1),
array('id'=>'GROUP_MODIFY', 'test'=>1),
array('id'=>'GROUP_DELETE', 'test'=>1),
/* array('id'=>'ACTION_CREATE', 'test'=>$conf->societe->enabled),
array('id'=>'COMPANY_CREATE', 'test'=>$conf->societe->enabled),
array('id'=>'CONTRACT_VALIDATE', 'test'=>$conf->contrat->enabled),
array('id'=>'PROPAL_VALIDATE', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_CLOSE_SIGNED', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_CLOSE_REFUSED', 'test'=>$conf->propal->enabled),
array('id'=>'PROPAL_SENTBYMAIL', 'test'=>$conf->propal->enabled),
array('id'=>'ORDER_VALIDATE', 'test'=>$conf->commande->enabled),
array('id'=>'ORDER_SENTBYMAIL', 'test'=>$conf->commande->enabled),
array('id'=>'BILL_VALIDATE', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_PAYED', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_CANCEL', 'test'=>$conf->facture->enabled),
array('id'=>'BILL_SENTBYMAIL', 'test'=>$conf->facture->enabled),
array('id'=>'PAYMENT_CUSTOMER_CREATE','test'=>$conf->facture->enabled),
array('id'=>'PAYMENT_SUPPLIER_CREATE','test'=>$conf->fournisseur->enabled),
array('id'=>'MEMBER_CREATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_VALIDATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_SUBSCRIPTION', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_MODIFY', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_RESILIATE', 'test'=>$conf->adherent->enabled),
array('id'=>'MEMBER_DELETE', 'test'=>$conf->adherent->enabled),
*/
);
/** /**
@ -75,7 +111,6 @@ class Events // extends CommonObject
global $conf, $langs; global $conf, $langs;
// Clean parameters // Clean parameters
$this->id=trim($this->id);
$this->description=trim($this->description); $this->description=trim($this->description);
// Check parameters // Check parameters