diff --git a/src/includes/addons/LSaddons.accesslog.php b/src/includes/addons/LSaddons.accesslog.php index fbc74532..19572dd4 100644 --- a/src/includes/addons/LSaddons.accesslog.php +++ b/src/includes/addons/LSaddons.accesslog.php @@ -137,12 +137,21 @@ function sortLogEntriesByDate(&$a, &$b) { return ($astart === $bstart) ? 0 : ($astart < $bstart) ? -1 : 1; } -function getEntryAccessLog($dn, $start_date=null) { +function getEntryAccessLog($dn, $start_date=null, $include_ldapsaisie=true) { $filter = Net_LDAP2_Filter::create('reqDn', 'equals', $dn); if ($start_date) { $date_filter = Net_LDAP2_Filter::create('reqStart', 'greaterOrEqual', $start_date); $filter = Net_LDAP2_Filter::combine('and', array($filter, $date_filter)); } + if (!$include_ldapsaisie) { + $not_ldapsaisie_filter = Net_LDAP2_Filter::combine('not', array( + Net_LDAP2_Filter::create( + 'reqAuthzID', 'equals', + LSconfig::get('ldap_servers.'.LSsession::get('ldap_server_id').'.ldap_config.binddn') + ) + )); + $filter = Net_LDAP2_Filter::combine('and', array($filter, $not_ldapsaisie_filter)); + } $entries = LSldap::search( $filter, LS_ACCESSLOG_BASEDN, @@ -179,19 +188,20 @@ function getEntryAccessLog($dn, $start_date=null) { } } if ($new_dn) { - $next_logs = getEntryAccessLog($new_dn, $rename_date); + $next_logs = getEntryAccessLog($new_dn, $rename_date, $include_ldapsaisie); if (is_array($next_logs)) $logs = array_merge($logs, $next_logs); } return $start_date?$logs:array_reverse($logs); } -function getEntryAccessLogPage($dn, $page = false, $nbByPage = 30) { +function getEntryAccessLogPage($dn, $page = false, $refresh=false, $include_ldapsaisie=true, $nbByPage = null) { + $nbByPage = is_null($nbByPage)?30:intval($nbByPage); if (!isset($_SESSION['entryAccessLogPages'])) { $_SESSION['entryAccessLogPages'] = array(); } - if (!isset($_SESSION['entryAccessLogPages'][$dn]) || isset($_REQUEST['refresh'])) { - $_SESSION['entryAccessLogPages'][$dn] = getEntryAccessLog($dn); + if (!isset($_SESSION['entryAccessLogPages'][$dn]) || $refresh) { + $_SESSION['entryAccessLogPages'][$dn] = getEntryAccessLog($dn, null, $include_ldapsaisie); } if (!is_int($page)) { $page = 1; @@ -208,14 +218,28 @@ function getEntryAccessLogPage($dn, $page = false, $nbByPage = 30) { } function showObjectAccessLogs($obj) { + $refresh = isset($_REQUEST['refresh']); + $include_ldapsaisie = !LS_ACCESSLOG_LOG_WRITE_EVENTS; + if (isset($_REQUEST['include_ldapsaisie'])) { + $include_ldapsaisie = boolval($_REQUEST['include_ldapsaisie']); + $refresh = true; + } + elseif (isset($_SESSION['accesslog_include_ldapsaisie'])) + $include_ldapsaisie = $_SESSION['accesslog_include_ldapsaisie']; + $_SESSION['accesslog_include_ldapsaisie'] = $include_ldapsaisie; $pageNb = isset($_REQUEST['page']) ? intval($_REQUEST['page']) : 1; $dn = $obj->getDn(); - $page = getEntryAccessLogPage($dn, $pageNb); + $page = getEntryAccessLogPage($dn, $pageNb, $refresh, $include_ldapsaisie); if (!is_array($page)) { return; } LStemplate::assign('page', $page); $LSview_actions = array(); + $LSview_actions['include_ldapsaisie'] = array ( + 'label' => $include_ldapsaisie?_('Hide LdapSaisie modifications'):_('Show LdapSaisie modifications'), + 'url' => 'object/'.$obj->getType().'/'.urlencode($dn).'/customAction/showObjectAccessLogs?include_ldapsaisie='.intval(!$include_ldapsaisie), + 'action' => $include_ldapsaisie?'hide':'view', + ); $LSview_actions['refresh'] = array ( 'label' => _('Refresh'), 'url' => 'object/'.$obj->getType().'/'.urlencode($dn).'/customAction/showObjectAccessLogs?refresh', diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo index 10288d5d..f7b2fe16 100644 Binary files a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo and b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.mo differ diff --git a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po index 3762c482..19d2e02c 100644 --- a/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po +++ b/src/lang/fr_FR.UTF8/LC_MESSAGES/ldapsaisie.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: LdapSaisie\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2023-03-21 12:59+0100\n" +"PO-Revision-Date: 2023-03-28 12:20+0200\n" "Last-Translator: Benjamin Renard \n" "Language-Team: LdapSaisie \n" @@ -278,7 +278,7 @@ msgid "Download" msgstr "Télécharger" #: includes/addons/LSaddons.showSupportInfo.php:78 -#: includes/addons/LSaddons.accesslog.php:225 +#: includes/addons/LSaddons.accesslog.php:249 #: includes/addons/LSaddons.showTechInfo.php:117 msgid "Go back" msgstr "Retour" @@ -426,7 +426,15 @@ msgstr "Remplacer" msgid "Increment" msgstr "Incrémenter" -#: includes/addons/LSaddons.accesslog.php:220 +#: includes/addons/LSaddons.accesslog.php:239 +msgid "Hide LdapSaisie modifications" +msgstr "Cacher les modifications d'LdapSaisie" + +#: includes/addons/LSaddons.accesslog.php:239 +msgid "Show LdapSaisie modifications" +msgstr "Voir les modifications d'LdapSaisie" + +#: includes/addons/LSaddons.accesslog.php:244 #: includes/class/class.LSsession.php:1855 includes/routes.php:157 #: includes/routes.php:470 templates/default/select.tpl:29 msgid "Refresh" diff --git a/src/lang/ldapsaisie.pot b/src/lang/ldapsaisie.pot index 3591ff36..7280a119 100644 --- a/src/lang/ldapsaisie.pot +++ b/src/lang/ldapsaisie.pot @@ -217,7 +217,7 @@ msgid "Download" msgstr "" #: includes/addons/LSaddons.showSupportInfo.php:78 -#: includes/addons/LSaddons.accesslog.php:225 +#: includes/addons/LSaddons.accesslog.php:249 #: includes/addons/LSaddons.showTechInfo.php:117 msgid "Go back" msgstr "" @@ -350,7 +350,15 @@ msgstr "" msgid "Increment" msgstr "" -#: includes/addons/LSaddons.accesslog.php:220 +#: includes/addons/LSaddons.accesslog.php:239 +msgid "Hide LdapSaisie modifications" +msgstr "" + +#: includes/addons/LSaddons.accesslog.php:239 +msgid "Show LdapSaisie modifications" +msgstr "" + +#: includes/addons/LSaddons.accesslog.php:244 #: includes/class/class.LSsession.php:1855 includes/routes.php:157 #: includes/routes.php:470 templates/default/select.tpl:29 msgid "Refresh"