/
mikopbx
/
ModuleUsersUI
Обзор
Документация
Войти
/
mikopbx
/
ModuleUsersUI
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
master
Messages/en.php
238 строк
18 KB
Nikolai Beketov
feat: split module ACL permissions by capability
3 часа назад
3 часа назад
48c6121
Код
Авторство
О чём код?
<?php return [ /* * MikoPBX - free phone system for small business * Copyright © 2017-2025 Alexey Portnov and Nikolay Beketov * * 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 * the Free Software Foundation; either version 3 of the License, or * (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 along with this program. * If not, see <https://www.gnu.org/licenses/>. */ 'repModuleUsersUI' => 'System Access Control - %repesent%', 'mo_ModuleModuleUsersUI' => 'System access control ', 'BreadcrumbModuleUsersUI' => 'System access control ', 'SubHeaderModuleUsersUI' => 'Creation of access groups, restriction of rights, domain authorization', 'module_usersuiConnected' => 'Module connected', 'module_usersuiDisconnected' => 'Module disabled', 'module_usersuiUpdateStatus' => 'Status update', 'module_usersui_ldap_user_not_found' => 'User is not found', 'module_usersui_ldap_successfully_authenticated' => 'User is authorized', 'module_usersui_ldap_password_expired' => 'Password expired', 'module_usersui_ldap_account_disabled' => 'Your account is disabled', 'module_usersui_ldap_account_expired' => 'Your account has expired', 'module_usersui_ldap_account_locked' => 'Your account is blocked', 'module_usersui_ldap_password_incorrect' => 'Username or login is incorrect', 'module_usersui_CheckBox_AdminCabinet_IncomingRoutes_modify' => 'open details', 'module_usersui_CheckBox_AdminCabinet_IncomingRoutes_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_IncomingRoutes_changePriority' => 'change order/priority', 'module_usersui_CheckBox_AdminCabinet_IvrMenu_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_IvrMenu_modify' => 'open menu details', 'module_usersui_CheckBox_AdminCabinet_IvrMenu_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_OffWorkTimes_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_OffWorkTimes_modify' => 'open details', 'module_usersui_CheckBox_AdminCabinet_OffWorkTimes_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_OutboundRoutes_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_OutboundRoutes_modify' => 'open details', 'module_usersui_CheckBox_AdminCabinet_OutboundRoutes_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_OutboundRoutes_changePriority' => 'change order/priority', 'module_usersui_CheckBox_AdminCabinet_Providers_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_Providers_modifysip' => 'view SIP account', 'module_usersui_CheckBox_AdminCabinet_Providers_modifyiax' => 'view IAX account', 'module_usersui_CheckBox_AdminCabinet_Providers_enable' => 'enable provider', 'module_usersui_CheckBox_AdminCabinet_Providers_disable' => 'disable provider', 'module_usersui_CheckBox_AdminCabinet_Providers_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_SoundFiles_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_SoundFiles_modify' => 'open file card', 'module_usersui_CheckBox_AdminCabinet_SoundFiles_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_ApiKeys_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_ApiKeys_modify' => 'view key data and permissions', 'module_usersui_CheckBox_AdminCabinet_ApiKeys_save' => 'edit and delete', 'module_usersui_AppTypeREST' => 'REST API access', 'module_usersui_AppTypeAPP' => 'Access to interface sections', 'module_usersui_GenericActionAll' => 'all actions', 'module_usersui_GenericActionIndex' => 'section access', 'module_usersui_GenericActionSave' => 'save settings', 'module_usersui_GenericActionSaveModel' => 'select model', 'module_usersui_GenericActionAddCustomModel' => 'add custom model', 'module_usersui_GenericActionDeleteCustomModel' => 'delete custom model', 'module_usersui_GenericActionRetryErrors' => 'retry failed processing', 'module_usersui_GenericActionGenerateWorkerApiKey' => 'generate worker API key', 'module_usersui_GenericActionDeleteWorkerApiKey' => 'delete worker API key', 'module_usersui_CheckBox_PhraseStudio_ModulePhraseStudio_generate' => 'phrase generation', 'module_usersui_CheckBox_PhraseStudio_ModulePhraseStudio_manageEngineAndVoices' => 'engine and voice management', 'module_usersui_GenericActionTranscripts' => 'view transcripts', 'module_usersui_GenericActionTranscript' => 'view transcript', 'module_usersui_GenericActionRecording' => 'play recording', 'module_usersui_GenericActionLogs' => 'view logs', 'module_usersui_LdapConfigTab' => 'Setting up domain authorization', 'module_usersui_LdapServerName' => 'Domain controller address', 'module_usersui_LdapServerPort' => 'Port', 'module_usersui_LdapAdminLogin' => 'Username and password with read access to the domain', 'module_usersui_LdapBaseDN' => 'Domain root', 'module_usersui_LdapPassword' => 'Password', 'module_usersui_LdapUserAttribute' => 'Username', 'module_usersui_LdapUserFilter' => 'Additional user filter', 'module_usersui_LdapUserIdAttribute' => 'Attribute that stores the username', 'module_usersui_LdapOrganizationalUnit' => 'Subdivision', 'module_usersui_LdapCheckGetListHeader' => '1. Getting a list of LDAP users', 'module_usersui_ColumnUserLogin' => 'Login', 'module_usersui_AccessGroup' => 'Access Group', 'module_usersui_CheckBox_AdminCabinet_IvrMenu_save' => 'save menu', 'module_usersui_CDRFilterModeOff' => 'Do not filter', 'BreadcrumbAccessGroups' => 'Setting up an access group', 'BreadcrumbUserProfile' => 'My Profile', 'SubHeaderUserProfile' => 'Change password and manage access keys', 'module_usersui_GeneralSettings' => 'Basic group settings', 'module_usersui_GroupCDRFilter' => 'Conversation history restrictions', 'module_usersui_ValidateServerNameIsEmpty' => 'Domain controller address not filled', 'module_usersui_ValidateServerPortIsEmpty' => 'Domain controller port not populated', 'module_usersui_ValidateAdministrativeLoginIsEmpty' => 'Login for domain user is not filled', 'module_usersui_ValidateAdministrativePasswordIsEmpty' => 'Password not filled for domain user', 'module_usersui_ValidateBaseDNIsEmpty' => 'Domain root not filled', 'module_usersui_ValidateUserIdAttributeIsEmpty' => 'The attribute with the username in the domain is not filled', 'module_usersUiMainMenuItem' => 'User rights', 'module_usersUiAccessGroups' => 'Access groups', 'module_usersui_GroupName' => 'Group name', 'module_usersui_FullAccessCheckbox' => 'Group without access restrictions', 'module_usersui_ColumnGroupName' => 'Access Group', 'module_usersui_ColumnGroupMembersCount' => 'Number of participants', 'module_usersui_ColumnGroupDescription' => 'Description', 'module_usersui_ColumnUserExtension' => 'Number', 'module_usersui_ColumnUseLdap' => 'LDAP', 'module_usersui_ColumnUserPassword' => 'Password', 'module_usersui_AddNewAccessGroup' => 'Add a new access group', 'module_usersui_Groups' => 'Access groups', 'module_usersui_NoAccessGroupName' => 'Access is denied', 'module_usersui_Users' => 'Entry rights for employees', 'module_usersui_ExtensionTabName' => 'Rights to enter MikoPBX', 'module_usersui_UserLoginAndPasswordLabel' => 'Data for authorization in the system', 'module_usersui_LdapCheckbox' => 'Use domain authorization', 'module_usersui_HomePage' => 'The page where the user will go after logging in', 'module_usersui_UserLoginPlaceholder' => 'User login', 'module_usersui_UserPasswordPlaceholder' => 'User password', 'module_usersui_CheckBox_AdminCabinet_AsteriskManagers_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_AsteriskManagers_modify' => 'view account details', 'module_usersui_CheckBox_AdminCabinet_AsteriskManagers_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_AsteriskRestUsers_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_AsteriskRestUsers_modify' => 'view account details', 'module_usersui_CheckBox_AdminCabinet_AsteriskRestUsers_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_CallDetailRecords_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_CallDetailRecords_getNewRecords' => 'getting call history', 'module_usersui_CheckBox_AdminCabinet_CallDetailRecords_save' => 'delete records', 'module_usersui_CheckBox_AdminCabinet_CallQueues_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_CallQueues_modify' => 'view queue settings', 'module_usersui_CheckBox_AdminCabinet_CallQueues_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_ConferenceRooms_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_ConferenceRooms_modify' => 'view conference settings', 'module_usersui_CheckBox_AdminCabinet_ConferenceRooms_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_DialplanApplications_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_DialplanApplications_modify' => 'view code and settings', 'module_usersui_CheckBox_AdminCabinet_DialplanApplications_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_Extensions_index' => 'section access', 'module_usersui_CheckBox_AdminCabinet_Extensions_modify' => 'view employee card', 'module_usersui_CheckBox_AdminCabinet_Extensions_save' => 'edit and delete', 'module_usersui_CheckBox_AdminCabinet_Extensions_bulkupload' => 'bulk upload employees', 'module_usersui_CheckBox_AdminCabinet_IncomingRoutes_index' => 'section access', 'module_usersui_LdapCheckGetUsersList' => 'Using the specified access parameters and filters, we will execute a request to LDAP / AD and get a list of users for authorization', 'module_usersui_LdapGetUsersButton' => 'Run request', 'module_usersui_LdapCheckLogin' => 'Enter any domain login and password to check if the authorization is successful, you can save the connection settings.', 'module_usersui_LdapCheckHeader' => '2. Checking domain authorization settings', 'module_usersui_CDRFilterModeLabel' => 'Select the filtering mode for CDR records', 'module_usersui_CDRFilterModeInList' => 'Show only conversations of selected employees', 'module_usersui_CDRFilterModeNotInList' => 'Show all but records of selected employees', 'module_usersui_NoAnyAccessGroup' => 'No access groups have been created in the module yet', 'module_usersui_AddNewAccessGroupShort' => 'Create', 'module_usersui_LoginNameNotUnique' => 'Non-unique username for authorization in MikoPBX', 'module_usersui_LdapCheckButton' => 'Login', 'module_usersui_GroupRights' => 'Setting permissions', 'SubHeaderAccessGroups' => 'Detailed setting of rights for interface elements and REST API', 'module_usersui_UsersFilter' => 'Access group users', 'module_usersui_ValidateNameIsEmpty' => 'Check the group name, it\'s empty', 'module_usersui_SelectMemberToAddToGroup' => 'Select an employee to add to the current group', 'module_usersui_CheckBox_ZabbixAgent5_ModuleZabbixAgent5_index' => 'setting up Zabbix agent', 'module_usersui_CheckBox_AmoCrm_ModuleAmoCrm_index' => 'module setup', 'module_usersui_CheckBox_CTIClient_ModuleCTIClient_index' => 'module setup', 'module_usersui_CheckBox_Docker_ModuleDocker_index' => 'module setup', 'module_usersui_CheckBox_PT1CCore_ModulePT1CCore_index' => 'module setup', 'module_usersui_CheckBox_PhoneBook_ModulePhoneBook_index' => 'view phone book', 'module_usersui_CheckBox_PhoneBook_ModulePhoneBook_save' => 'changing records', 'module_usersui_CheckBox_PhoneBook_ModulePhoneBook_delete' => 'deleting entries', 'module_usersui_CheckBox_TelegramNotify_ModuleTelegramNotify_index' => 'module setup', 'module_usersui_CheckBox_GetSsl_ModuleGetSsl_index' => 'obtaining certificates', 'module_usersui_CheckBox_Backup_ModuleBackup_index' => 'view backup settings', 'module_usersui_CheckBox_Backup_ModuleBackup_create' => 'creating a backup copy', 'module_usersui_CheckBox_Backup_ModuleBackup_delete' => 'deleting a backup', 'module_usersui_CheckBox_Backup_ModuleBackup_restore' => 'restoring a backup', 'module_usersui_CheckBox_Backup_ModuleBackup_download' => 'download backup', 'module_usersui_CheckBox_Backup_ModuleBackup_save' => 'changing module settings', 'module_usersui_CheckBox_Autoprovision_ModuleAutoprovision_index' => 'changing module settings', 'module_usersui_CheckBox_Bitrix24Integration_ModuleBitrix24Integration_index' => 'changing module settings', 'module_usersui_CheckBox_SmartIVR_ModuleSmartIVR_index' => 'changing module settings', 'module_usersui_CheckBox_UsersGroups_ModuleUsersGroups_index' => 'view settings', 'module_usersui_CheckBox_UsersGroups_ModuleUsersGroups_save' => 'change settings', 'module_usersui_CheckBox_LdapSync_ModuleLdapSync_index' => 'view settings', 'module_usersui_CheckBox_LdapSync_ModuleLdapSync_save' => 'change settings', 'module_usersui_LdapType' => 'Server type', 'module_usersui_EmptyServerResponse' => 'The server returned an empty list of users for your filter.', 'module_usersui_CDRFilterModeOutgoingInList' => 'Show only outgoing conversations of selected employees', // User Profile page 'module_usersui_MyProfile' => 'My Profile', 'module_usersui_ChangePassword' => 'Change Password', 'module_usersui_CurrentPassword' => 'Current Password', 'module_usersui_NewPassword' => 'New Password', 'module_usersui_NewPasswordRepeat' => 'Repeat New Password', 'module_usersui_PasswordManagedByLDAP' => 'Your password is managed by LDAP administrator', 'module_usersui_PasswordFieldsRequired' => 'All password fields are required', 'module_usersui_PasswordsDontMatch' => 'New passwords do not match', 'module_usersui_PasswordChangedSuccessfully' => 'Password changed successfully', 'module_usersui_CurrentPasswordIncorrect' => 'Current password is incorrect', 'module_usersui_UserNotFound' => 'User not found', // LDAP TLS / certificate / test-bind 'module_usersui_VerifyCertificate' => 'Validate server certificate', 'module_usersui_CaCertificate' => 'CA certificate bundle (PEM)', 'module_usersui_CaCertificateHint' => 'Paste the PEM-encoded CA certificate used to sign the LDAP server. Multiple certificates (intermediate + root) may be concatenated. Leave empty to use the system trust store.', 'module_usersui_InsecureTlsWarning' => 'LDAPS is enabled but certificate validation is off — traffic is encrypted yet the server identity is not verified. Turn on validation and provide the CA certificate for a secure setup.', 'module_usersui_InvalidPemCert' => 'The provided CA certificate is not a valid PEM block.', 'module_usersui_TestBindButton' => 'Test LDAP bind', 'module_usersui_TestBindSuccess' => 'LDAP bind successful.', 'module_usersui_TestBindFailure' => 'LDAP bind failed', 'module_usersui_TabConnection' => 'Connection', 'module_usersui_TabCertificate' => 'Certificate', // Field-level tooltips 'module_usersui_tt_serverName_header' => 'Transport modes', 'module_usersui_tt_serverName_plain' => 'unencrypted LDAP, port 389.', 'module_usersui_tt_serverName_starttls' => 'LDAP on port 389 upgraded to TLS.', 'module_usersui_tt_serverName_ldaps' => 'LDAP over TLS from the first byte, port 636.', 'module_usersui_tt_baseDN_header' => 'Base DN', 'module_usersui_tt_baseDN_desc' => 'Root of the search tree. Authentication searches for the user under this DN; everything outside it is invisible.', 'module_usersui_tt_baseDN_examplesHeader' => 'Examples', 'module_usersui_tt_adminLogin_header' => 'Bind login format', 'module_usersui_tt_adminLogin_desc' => 'Active Directory accepts any of these forms for the bind login:', 'module_usersui_tt_adminLogin_note' => 'LDAPS proxies in a DMZ often reject short forms with "Invalid DN syntax" — use the full DN in that case.', 'module_usersui_tt_verify_header' => 'Certificate validation', 'module_usersui_tt_verify_desc' => 'When enabled, self-signed, expired or CA-mismatched certificates are rejected. Provide the signing CA on the Certificate tab.', 'module_usersui_tt_verify_warning_header' => 'Insecure without CA', 'module_usersui_tt_verify_warning' => 'With validation off, the connection is still encrypted but an attacker with network access can impersonate the LDAP server.', 'module_usersui_tt_userIdAttr_header' => 'Username attribute', 'module_usersui_tt_userIdAttr_desc' => 'LDAP attribute that stores the value the user types into the login field. The directory server determines the right name:', 'module_usersui_tt_orgUnit_header' => 'Organizational unit', 'module_usersui_tt_orgUnit_desc' => 'Optional. Restricts the user search to this sub-tree. Leave empty to search the whole base DN.', 'module_usersui_tt_orgUnit_examplesHeader' => 'Examples', 'module_usersui_tt_orgUnit_note' => 'When set, only members of this OU can log in.', 'module_usersui_tt_userFilter_header' => 'User filter', 'module_usersui_tt_userFilter_desc' => 'Standard LDAP search filter applied on top of the OU restriction. Use it to narrow logins down to a security group or object class.', 'module_usersui_tt_userFilter_examplesHeader' => 'Examples', 'module_usersui_tt_userFilter_note' => 'The filter is combined with the username match using AND.', ];