%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 3.141.31.116 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/modules/sender/lib/access/role/ |
Upload File : |
<?php /** * Bitrix Framework * @package bitrix * @subpackage sender * @copyright 2001-2021 Bitrix */ namespace Bitrix\Sender\Access\Role; use Bitrix\Main\Access\Role\RoleDictionary; use Bitrix\Main\Application; use Bitrix\Main\Localization\Loc; use Bitrix\Sender\Access\Permission\PermissionDictionary; use Bitrix\Sender\Access\Permission\PermissionTable; Loc::loadMessages(__FILE__); class RoleUtil extends \Bitrix\Main\Access\Role\RoleUtil { protected static function getRoleTableClass(): string { return RoleTable::class; } protected static function getRoleRelationTableClass(): string { return RoleRelationTable::class; } protected static function getPermissionTableClass(): string { return PermissionTable::class; } protected static function getRoleDictionaryClass(): ?string { return RoleDictionary::class; } /** * pre installed roles list * @return array */ public static function preparedRoleMap() { return [ 'ADMIN' => [ PermissionDictionary::MAILING_VIEW, PermissionDictionary::MAILING_PAUSE_START_STOP, PermissionDictionary::MAILING_MESSENGER_EDIT, PermissionDictionary::MAILING_EMAIL_EDIT, PermissionDictionary::MAILING_CLIENT_VIEW, PermissionDictionary::MAILING_AUDIO_CALL_EDIT, PermissionDictionary::MAILING_INFO_CALL_EDIT, PermissionDictionary::MAILING_SMS_EDIT, PermissionDictionary::ADS_VIEW, PermissionDictionary::ADS_PAUSE_START_STOP, PermissionDictionary::ADS_YANDEX_EDIT, PermissionDictionary::ADS_FB_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_FB_EDIT, PermissionDictionary::ADS_GOOGLE_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_FB_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_VK_EDIT, PermissionDictionary::ADS_VK_EDIT, PermissionDictionary::ADS_CLIENT_VIEW, PermissionDictionary::RC_EDIT, PermissionDictionary::RC_VIEW, PermissionDictionary::RC_PAUSE_START_STOP, PermissionDictionary::SEGMENT_CLIENT_OWN_CATEGORY, PermissionDictionary::SEGMENT_EDIT, PermissionDictionary::SEGMENT_VIEW, PermissionDictionary::SEGMENT_LEAD_EDIT, PermissionDictionary::SEGMENT_CLIENT_EDIT, PermissionDictionary::SEGMENT_CLIENT_PERSONAL_EDIT, PermissionDictionary::SEGMENT_CLIENT_VIEW, PermissionDictionary::SETTINGS_EDIT, // PermissionDictionary::SETTINGS_VIEW, PermissionDictionary::BLACKLIST_EDIT, PermissionDictionary::BLACKLIST_VIEW, PermissionDictionary::START_VIEW, PermissionDictionary::TEMPLATE_EDIT, PermissionDictionary::TEMPLATE_VIEW, ], 'CHIEF' => [ PermissionDictionary::MAILING_VIEW, PermissionDictionary::MAILING_PAUSE_START_STOP, PermissionDictionary::MAILING_MESSENGER_EDIT, PermissionDictionary::MAILING_EMAIL_EDIT, PermissionDictionary::MAILING_CLIENT_VIEW, PermissionDictionary::MAILING_AUDIO_CALL_EDIT, PermissionDictionary::MAILING_INFO_CALL_EDIT, PermissionDictionary::MAILING_SMS_EDIT, PermissionDictionary::ADS_VIEW, PermissionDictionary::ADS_PAUSE_START_STOP, PermissionDictionary::ADS_YANDEX_EDIT, PermissionDictionary::ADS_FB_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_FB_EDIT, PermissionDictionary::ADS_GOOGLE_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_FB_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_VK_EDIT, PermissionDictionary::ADS_VK_EDIT, PermissionDictionary::ADS_CLIENT_VIEW, PermissionDictionary::RC_EDIT, PermissionDictionary::RC_PAUSE_START_STOP, PermissionDictionary::RC_VIEW, PermissionDictionary::SEGMENT_CLIENT_OWN_CATEGORY, PermissionDictionary::SEGMENT_EDIT, PermissionDictionary::SEGMENT_VIEW, PermissionDictionary::SEGMENT_LEAD_EDIT, PermissionDictionary::SEGMENT_CLIENT_EDIT, PermissionDictionary::SEGMENT_CLIENT_PERSONAL_EDIT, PermissionDictionary::START_VIEW, PermissionDictionary::SEGMENT_CLIENT_VIEW ], 'MANAGER' => [ PermissionDictionary::MAILING_VIEW, PermissionDictionary::MAILING_PAUSE_START_STOP, PermissionDictionary::MAILING_MESSENGER_EDIT, PermissionDictionary::MAILING_EMAIL_EDIT, PermissionDictionary::MAILING_AUDIO_CALL_EDIT, PermissionDictionary::MAILING_INFO_CALL_EDIT, PermissionDictionary::MAILING_SMS_EDIT, PermissionDictionary::ADS_VIEW, PermissionDictionary::ADS_PAUSE_START_STOP, PermissionDictionary::ADS_YANDEX_EDIT, PermissionDictionary::ADS_FB_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_INSTAGRAM_EDIT, PermissionDictionary::ADS_MARKETING_FB_EDIT, PermissionDictionary::ADS_GOOGLE_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_FB_EDIT, PermissionDictionary::ADS_LOOK_ALIKE_VK_EDIT, PermissionDictionary::ADS_VK_EDIT, PermissionDictionary::RC_EDIT, PermissionDictionary::RC_PAUSE_START_STOP, PermissionDictionary::RC_VIEW, PermissionDictionary::SEGMENT_CLIENT_OWN_CATEGORY, PermissionDictionary::SEGMENT_EDIT, PermissionDictionary::SEGMENT_VIEW, PermissionDictionary::SEGMENT_LEAD_EDIT, PermissionDictionary::SEGMENT_CLIENT_EDIT, PermissionDictionary::START_VIEW, PermissionDictionary::SEGMENT_CLIENT_PERSONAL_EDIT ] ]; } /** * building sql insert list * @param array $permissions permission list * @param int $roleId role identification number * * @return array */ public static function buildInsertPermissionQuery(array $permissions, int $roleId) { $query = []; foreach ($permissions as $permission) { $query[] = '('. $roleId .', '. $permission .', ' .PermissionDictionary::VALUE_YES.')'; } return $query; } /** * insert data to permission table * @param array $valuesData * * @throws \Bitrix\Main\Db\SqlQueryException */ public static function insertPermissions(array $valuesData) { $query = ' INSERT INTO b_sender_permission (ROLE_ID, PERMISSION_ID, `VALUE`) VALUES '.implode(',', $valuesData). ' ON DUPLICATE KEY UPDATE PERMISSION_ID = VALUES(PERMISSION_ID) '; Application::getConnection()->query($query); } /** * @param string $key * * @return string */ public static function getLocalizedName(string $key) { return Loc::getMessage('SENDER_ROLE_' . $key); } }