diff --git a/App/Controllers/AccessGroupsRightsController.php b/App/Controllers/AccessGroupsRightsController.php
index d4e8350..9f50379 100644
--- a/App/Controllers/AccessGroupsRightsController.php
+++ b/App/Controllers/AccessGroupsRightsController.php
@@ -255,7 +255,7 @@ private function getAvailableRESTControllersActions(): array
if (in_array($annotation->getName(), $possibleHTTPMethods)) {
$actionName = $annotation->getArgument(0);
// Remove always allowed or always disallowed actions
- if (!empty($actionName) and !in_array($actionName, $excludedActions[$controllerName])) {
+ if (!empty($actionName) and !in_array($actionName, $excludedActions[$controllerName]??[])) {
$actions[$actionName] = false;
}
}
diff --git a/Lib/ACL/CoreACL.php b/Lib/ACL/CoreACL.php
index 2a9e6d9..7fb3cc7 100644
--- a/Lib/ACL/CoreACL.php
+++ b/Lib/ACL/CoreACL.php
@@ -80,7 +80,8 @@ public static function getLinkedControllerActions(): array
RestEndpoints::API_CDR => [
RestEndpoints::ACTION_CDR_API_PLAYBACK_V2,
RestEndpoints::ACTION_CDR_PLAYBACK,
- RestEndpoints::ACTION_CDR_API_GET_RECORD_FILE_V2
+ RestEndpoints::ACTION_CDR_API_GET_RECORD_FILE_V2,
+ RestEndpoints::ACTION_CDR_API_GET_LATEST_RECORD_DATE
]
]
],
@@ -254,6 +255,11 @@ public static function getAlwaysAllowed(): array{
RestEndpoints::ACTION_LIC_SEND_PBX_METRICS
],
RestEndpoints::API_NCHAN => '*',
+
+ RestEndpoints::API_USER_PAGE_TRACKER => [
+ RestEndpoints::ACTION_USER_PAGE_TRACKER_PAGE_VIEW,
+ RestEndpoints::ACTION_USER_PAGE_TRACKER_PAGE_LEAVE
+ ]
];
}
diff --git a/Lib/EndpointConstants.php b/Lib/EndpointConstants.php
index 5df1198..2d9e624 100644
--- a/Lib/EndpointConstants.php
+++ b/Lib/EndpointConstants.php
@@ -42,6 +42,7 @@ class EndpointConstants
const API_SYSINFO = '/pbxcore/api/sysinfo';
const API_STORAGE = '/pbxcore/api/storage';
const API_ADVICE = '/pbxcore/api/advice';
+ const API_USER_PAGE_TRACKER = '/pbxcore/api/user-page-tracker';
const API_SOME_ENDPOINT = '/pbxcore/api/someendpoint';
// CDR (Call Detail Records) API Actions
@@ -50,6 +51,7 @@ class EndpointConstants
const ACTION_CDR_PLAYBACK = '/playback';
const ACTION_CDR_API_PLAYBACK_V2 = '/v2/playback';
const ACTION_CDR_API_GET_RECORD_FILE_V2 = '/v2/getRecordFile';
+ const ACTION_CDR_API_GET_LATEST_RECORD_DATE = '/getLatestRecordDate';
// SIP API Actions
const ACTION_SIP_API_GET_PEER = '/getSipPeer';
@@ -94,6 +96,10 @@ class EndpointConstants
const ACTION_SOUND_GET_PATH_BY_ID = 'getPathById';
const ACTION_SOUND_GET_FILES = 'getSoundFiles';
+ // User Page Tracker API Actions
+ const ACTION_USER_PAGE_TRACKER_PAGE_VIEW = '/pageView';
+ const ACTION_USER_PAGE_TRACKER_PAGE_LEAVE = '/pageLeave';
+
// Generic Actions
const ACTION_API_DELETE_RECORD = '/deleteRecord';
const ACTION_API_GET_REGISTRY = '/getRegistry';
diff --git a/Lib/UsersUILdapAuth.php b/Lib/UsersUILdapAuth.php
index a99ed06..2de449e 100644
--- a/Lib/UsersUILdapAuth.php
+++ b/Lib/UsersUILdapAuth.php
@@ -24,7 +24,6 @@
use LdapRecord\Container;
use MikoPBX\Common\Handlers\CriticalErrorsHandler;
use MikoPBX\Common\Providers\LoggerAuthProvider;
-use Modules\ModuleLdapSync\Lib\AnswerStructure;
use Phalcon\Di\Injectable;
include_once __DIR__ . '/../vendor/autoload.php';
diff --git a/Messages/de.php b/Messages/de.php
index 26af301..ee23894 100644
--- a/Messages/de.php
+++ b/Messages/de.php
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License along with this program.
* If not, see .
*/
- 'repModuleUsersUI' => 'Systemzugriffskontrolle – %repesent%',
+ 'repModuleUsersUI' => 'Systemzugriffskontrolle - %repesent%',
'mo_ModuleModuleUsersUI' => 'Systemzugriffskontrolle ',
'BreadcrumbModuleUsersUI' => 'Systemzugriffskontrolle ',
'SubHeaderModuleUsersUI' => 'Erstellung von Zugriffsgruppen, Einschränkung von Rechten, Domänenautorisierung',
diff --git a/Messages/fi.php b/Messages/fi.php
index b86b567..680120c 100644
--- a/Messages/fi.php
+++ b/Messages/fi.php
@@ -34,7 +34,7 @@
* You should have received a copy of the GNU General Public License along with this program.
* If not, see .
*/
- 'repModuleUsersUI' => 'Järjestelmän kulunvalvonta - %repesent%',
+ 'repModuleUsersUI' => 'Järjestelmän käyttöoikeuksien hallinta - %repesent%',
'mo_ModuleModuleUsersUI' => 'Järjestelmän kulunvalvonta ',
'BreadcrumbModuleUsersUI' => 'Järjestelmän kulunvalvonta ',
'SubHeaderModuleUsersUI' => 'Käyttöoikeusryhmien luominen, oikeuksien rajoittaminen, verkkotunnuksen valtuutus',
diff --git a/Messages/hu.php b/Messages/hu.php
index 80c1689..63f291e 100644
--- a/Messages/hu.php
+++ b/Messages/hu.php
@@ -34,10 +34,10 @@
* You should have received a copy of the GNU General Public License along with this program.
* If not, see .
*/
- 'repModuleUsersUI' => 'Rendszer hozzáférés-vezérlés - %repesent%',
- 'mo_ModuleModuleUsersUI' => 'Rendszer hozzáférés-szabályozás ',
- 'BreadcrumbModuleUsersUI' => 'Rendszer hozzáférés-szabályozás ',
- 'SubHeaderModuleUsersUI' => 'Hozzáférési csoportok létrehozása, jogok korlátozása, domain jogosultság',
+ 'repModuleUsersUI' => 'Rendszerhozzáférés-vezérlés - %repesent%',
+ 'mo_ModuleModuleUsersUI' => 'Rendszerhozzáférés kezelése ',
+ 'BreadcrumbModuleUsersUI' => 'Rendszerhozzáférés kezelése ',
+ 'SubHeaderModuleUsersUI' => 'Hozzáférési csoportok létrehozása, jogok korlátozása, domain engedélyezése',
'BreadcrumbAccessGroups' => 'Hozzáférési csoport beállítása',
'SubHeaderAccessGroups' => 'Az interfész elemek és a REST API jogainak részletes konfigurálása',
'module_usersui_GeneralSettings' => 'Alapvető csoportbeállítások',
diff --git a/Messages/ro.php b/Messages/ro.php
index 53343d0..f0bbc39 100644
--- a/Messages/ro.php
+++ b/Messages/ro.php
@@ -17,7 +17,7 @@
* You should have received a copy of the GNU General Public License along with this program.
* If not, see .
*/
- 'repModuleUsersUI' => 'Control acces la sistem - %repesent%',
+ 'repModuleUsersUI' => 'Controlul accesului la sistem - %repesent%',
'mo_ModuleModuleUsersUI' => 'Control acces la sistem ',
'BreadcrumbModuleUsersUI' => 'Control acces la sistem ',
'SubHeaderModuleUsersUI' => 'Crearea de grupuri de acces, restrângerea drepturilor, autorizarea domeniului',
diff --git a/Messages/tr.php b/Messages/tr.php
index 0a8ce8a..fe0e4c5 100644
--- a/Messages/tr.php
+++ b/Messages/tr.php
@@ -18,22 +18,22 @@
* If not, see .
*/
'repModuleUsersUI' => 'Sistem Erişim Kontrolü - %repesent%',
- 'mo_ModuleModuleUsersUI' => 'Sistem erişim kontrolü ',
- 'BreadcrumbModuleUsersUI' => 'Sistem erişim kontrolü ',
- 'SubHeaderModuleUsersUI' => 'Erişim gruplarının oluşturulması, hakların kısıtlanması, alan adı yetkilendirmesi',
+ 'mo_ModuleModuleUsersUI' => 'Sistem Erişimini Yönetme ',
+ 'BreadcrumbModuleUsersUI' => 'Sistem Erişimini Yönetme ',
+ 'SubHeaderModuleUsersUI' => 'Erişim grupları oluşturma, hakları kısıtlama, etki alanı yetkilendirme',
'BreadcrumbAccessGroups' => 'Bir erişim grubu kurma',
'SubHeaderAccessGroups' => 'Arayüz öğeleri ve REST API için hakların ayrıntılı ayarı',
'module_usersui_GeneralSettings' => 'Temel grup ayarları',
- 'module_usersui_UsersFilter' => 'Grup kullanıcılarına erişme',
- 'module_usersui_GroupRights' => 'Ayar izinleri',
+ 'module_usersui_UsersFilter' => 'Erişim Grubu Kullanıcıları',
+ 'module_usersui_GroupRights' => 'Hakların kurulması',
'module_usersui_GroupCDRFilter' => 'Konuşma geçmişi kısıtlamaları',
'module_usersui_ValidateNameIsEmpty' => 'Grup adını kontrol edin, boş',
- 'module_usersuiConnected' => 'Modül bağlı',
- 'module_usersuiDisconnected' => 'Modül devre dışı',
- 'module_usersuiUpdateStatus' => 'Durum güncelleme',
- 'module_usersui_ValidateServerNameIsEmpty' => 'Etki alanı denetleyicisi adresi doldurulmadı',
- 'module_usersui_ValidateServerPortIsEmpty' => 'Etki alanı denetleyici bağlantı noktası doldurulmamış',
- 'module_usersui_ValidateAdministrativeLoginIsEmpty' => 'Etki alanı kullanıcısı için oturum açma bilgileri doldurulmadı',
+ 'module_usersuiConnected' => 'Modül bağlandı',
+ 'module_usersuiDisconnected' => 'Modül devre dışı bırakıldı',
+ 'module_usersuiUpdateStatus' => 'Durum güncellemesi',
+ 'module_usersui_ValidateServerNameIsEmpty' => 'Etki alanı denetleyicisi adresi doldurulmamış',
+ 'module_usersui_ValidateServerPortIsEmpty' => 'Etki alanı denetleyicisi bağlantı noktası doldurulmadı',
+ 'module_usersui_ValidateAdministrativeLoginIsEmpty' => 'Alan adı kullanıcı girişi doldurulmadı',
'module_usersui_ValidateAdministrativePasswordIsEmpty' => 'Etki alanı kullanıcısı için parola doldurulmadı',
'module_usersui_ValidateBaseDNIsEmpty' => 'Etki alanı kökü doldurulmadı',
'module_usersui_ValidateUserIdAttributeIsEmpty' => 'Etki alanındaki kullanıcı adına sahip öznitelik doldurulmamış',