2008-02-28 21:37:04 +01:00
< ? php
2011-05-01 12:48:43 +02:00
/* Copyright ( C ) 2008 - 2011 Laurent Destailleur < eldy @ users . sourceforge . net >
2013-08-14 12:48:00 +02:00
* Copyright ( C ) 2013 Juanjo Menent < jmenent @ 2 byte . es >
2008-02-28 21:37:04 +01:00
*
* 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
2013-01-16 15:36:08 +01:00
* the Free Software Foundation ; either version 3 of the License , or
2008-02-28 21:37:04 +01:00
* ( 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
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
2008-02-28 21:37:04 +01:00
*/
/**
2008-10-12 13:41:13 +02:00
* \file htdocs / admin / events . php
* \ingroup core
* \brief Log event setup page
*/
2008-02-28 21:37:04 +01:00
2012-08-22 23:24:21 +02:00
require '../main.inc.php' ;
2012-08-22 23:11:24 +02:00
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/lib/agenda.lib.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/events.class.php' ;
2008-02-28 21:37:04 +01:00
2020-04-12 13:25:19 +02:00
if ( ! $user -> admin ) {
accessforbidden ();
}
2008-02-28 21:37:04 +01:00
2018-05-26 18:41:16 +02:00
// Load translation files required by the page
2020-02-18 23:47:25 +01:00
$langs -> loadLangs ( array ( " users " , " admin " , " other " ));
2008-02-28 21:37:04 +01:00
2020-02-18 23:47:25 +01:00
$action = GETPOST ( 'action' , 'aZ09' );
2020-04-12 13:25:19 +02:00
$contextpage = GETPOST ( 'contextpage' , 'aZ' ) ? GETPOST ( 'contextpage' , 'aZ' ) : 'myobjectlist' ; // To manage different context of search
2020-04-13 13:24:42 +02:00
$optioncss = GETPOST ( 'optioncss' , 'aZ' ); // Option for the css output (always '' except when 'print')
2020-04-12 13:25:19 +02:00
// Load variable for pagination
$limit = GETPOST ( 'limit' , 'int' ) ? GETPOST ( 'limit' , 'int' ) : $conf -> liste_limit ;
$sortfield = GETPOST ( 'sortfield' , 'alpha' );
$sortorder = GETPOST ( 'sortorder' , 'alpha' );
$page = GETPOSTISSET ( 'pageplusone' ) ? ( GETPOST ( 'pageplusone' ) - 1 ) : GETPOST ( " page " , 'int' );
if ( empty ( $page ) || $page < 0 || GETPOST ( 'button_search' , 'alpha' ) || GETPOST ( 'button_removefilter' , 'alpha' )) { $page = 0 ; } // If $page is not defined, or '' or -1 or if we click on clear filters
$offset = $limit * $page ;
$pageprev = $page - 1 ;
$pagenext = $page + 1 ;
2008-03-17 15:59:34 +01:00
2020-02-18 23:47:25 +01:00
$securityevent = new Events ( $db );
$eventstolog = $securityevent -> eventstolog ;
2011-07-19 01:28:30 +02:00
2008-02-28 21:37:04 +01:00
/*
2011-07-19 01:28:30 +02:00
* Actions
*/
2020-04-12 13:25:19 +02:00
2008-02-28 21:37:04 +01:00
if ( $action == " save " )
{
2020-02-18 23:47:25 +01:00
$i = 0 ;
2008-02-28 21:37:04 +01:00
2011-07-19 01:28:30 +02:00
$db -> begin ();
2009-04-05 21:01:43 +02:00
2008-02-28 21:37:04 +01:00
foreach ( $eventstolog as $key => $arr )
{
2020-02-18 23:47:25 +01:00
$param = 'MAIN_LOGEVENTS_' . $arr [ 'id' ];
2020-02-16 19:33:58 +01:00
if ( GETPOST ( $param , 'alphanohtml' )) dolibarr_set_const ( $db , $param , GETPOST ( $param , 'alphanohtml' ), 'chaine' , 0 , '' , $conf -> entity );
2019-01-27 11:55:16 +01:00
else dolibarr_del_const ( $db , $param , $conf -> entity );
2008-02-28 21:37:04 +01:00
}
2009-04-05 21:01:43 +02:00
2011-07-19 01:28:30 +02:00
$db -> commit ();
2015-10-27 13:42:00 +01:00
setEventMessages ( $langs -> trans ( " SetupSaved " ), null , 'mesgs' );
2008-02-28 21:37:04 +01:00
}
2009-04-05 21:01:43 +02:00
/*
* View
2008-02-28 21:37:04 +01:00
*/
2020-04-12 13:25:19 +02:00
$form = new Form ( $db );
$varpage = empty ( $contextpage ) ? $_SERVER [ " PHP_SELF " ] : $contextpage ;
$selectedfields = '' ;
$selectedfields .= $form -> showCheckAddButtons ( 'checkforselect' , 1 );
2020-02-18 23:47:25 +01:00
$wikihelp = 'EN:Setup_Security|FR:Paramétrage_Sécurité|ES:Configuración_Seguridad' ;
2019-01-27 11:55:16 +01:00
llxHeader ( '' , $langs -> trans ( " Audit " ), $wikihelp );
2008-02-28 21:37:04 +01:00
2018-02-26 09:20:05 +01:00
//$linkback='<a href="'.DOL_URL_ROOT.'/admin/modules.php?restore_lastsearch_values=1">'.$langs->trans("BackToModuleList").'</a>';
2019-01-27 11:55:16 +01:00
print load_fiche_titre ( $langs -> trans ( " SecuritySetup " ), '' , 'title_setup' );
2008-02-28 21:37:04 +01:00
2019-12-09 09:43:38 +01:00
print '<span class="opacitymedium">' . $langs -> trans ( " LogEventDesc " , $langs -> transnoentitiesnoconv ( " AdminTools " ), $langs -> transnoentitiesnoconv ( " Audit " )) . " </span><br> \n " ;
2008-02-28 21:37:04 +01:00
print " <br> \n " ;
print '<form action="' . $_SERVER [ " PHP_SELF " ] . '" method="POST">' ;
2019-12-18 23:12:31 +01:00
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
2008-02-28 21:37:04 +01:00
print '<input type="hidden" name="action" value="save">' ;
2020-02-18 23:47:25 +01:00
$head = security_prepare_head ();
2014-11-20 10:15:24 +01:00
2017-03-23 10:59:13 +01:00
dol_fiche_head ( $head , 'audit' , $langs -> trans ( " Security " ), - 1 );
2014-11-20 10:15:24 +01:00
2020-04-12 13:25:19 +02:00
print '<table class="noborder" width="100%">' ;
2008-02-28 21:37:04 +01:00
print " <tr class= \" liste_titre \" > " ;
2020-04-12 13:25:19 +02:00
print getTitleFieldOfList ( " LogEvents " , 0 , $_SERVER [ " PHP_SELF " ], '' , '' , '' , '' , $sortfield , $sortorder , '' ) . " \n " ;
print getTitleFieldOfList ( $selectedfields , 0 , $_SERVER [ " PHP_SELF " ], '' , '' , '' , '' , $sortfield , $sortorder , 'center maxwidthsearch ' ) . " \n " ;
2008-02-28 21:37:04 +01:00
print " </tr> \n " ;
2010-10-27 23:51:41 +02:00
// Loop on each event type
2008-02-28 21:37:04 +01:00
foreach ( $eventstolog as $key => $arr )
{
if ( $arr [ 'id' ])
2018-07-26 18:22:16 +02:00
{
2017-04-14 11:22:48 +02:00
print '<tr class="oddeven">' ;
2011-07-19 01:28:30 +02:00
print '<td>' . $arr [ 'id' ] . '</td>' ;
2020-04-12 13:25:19 +02:00
print '<td class="center">' ;
2020-02-18 23:47:25 +01:00
$key = 'MAIN_LOGEVENTS_' . $arr [ 'id' ];
$value = $conf -> global -> $key ;
2020-04-12 13:25:19 +02:00
print '<input class="oddeven checkforselect" type="checkbox" name="' . $key . '" value="1"' . ( $value ? ' checked' : '' ) . '>' ;
2011-07-19 01:28:30 +02:00
print '</td></tr>' . " \n " ;
2008-02-28 21:37:04 +01:00
}
}
print '</table>' ;
2014-11-20 10:15:24 +01:00
dol_fiche_end ();
print '<div class="center">' ;
2008-02-28 21:37:04 +01:00
print " <input type= \" submit \" name= \" save \" class= \" button \" value= \" " . $langs -> trans ( " Save " ) . " \" > " ;
2020-04-12 13:25:19 +02:00
print '</div>' ;
2008-02-28 21:37:04 +01:00
print " </form> \n " ;
2018-07-28 17:26:56 +02:00
// End of page
2011-08-27 16:24:16 +02:00
llxFooter ();
2014-11-20 10:15:24 +01:00
$db -> close ();