%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.117.100.82 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/translate/lib/ |
Upload File : |
<?php namespace Bitrix\Translate; use Bitrix\Main; use Bitrix\Translate; class Permission { const SOURCE = 'X'; const WRITE = 'W'; const READ = 'R'; const DENY = 'D'; /** * Checks user's access to path. * * @param string $path Path to check. * * @return bool */ public static function isAllowPath($path) { static $initFolders; if (empty($initFolders)) { $initFolders = Translate\Config::getInitPath(); if (empty($initFolders)) { $initFolders = array(Translate\Config::getDefaultPath()); } } $path = (string)$path; $allowPath = false; foreach ($initFolders as $oneFolder) { if (mb_strpos($path, $oneFolder) === 0) { $allowPath = true; break; } } return $allowPath; } /** * Return true if current user can edit php. * * @param \CUser|Main\Engine\CurrentUser $checkUser Current user check for. * * @return bool */ public static function canEditSource($checkUser) { if($checkUser instanceof \CUser || $checkUser instanceof Main\Engine\CurrentUser) { return $checkUser->canDoOperation('edit_php'); } return false; } /** * Determines if current user is admin. * * @param \CUser|Main\Engine\CurrentUser $checkUser User. * * @return bool */ public static function isAdmin($checkUser) { if(!($checkUser instanceof \CUser) && !($checkUser instanceof Main\Engine\CurrentUser)) { return false; } if($checkUser->isAdmin()) { return true; } try { if(\Bitrix\Main\ModuleManager::isModuleInstalled('bitrix24') && \Bitrix\Main\Loader::includeModule('bitrix24')) { return \CBitrix24::isPortalAdmin($checkUser->getId()); } } catch(\Exception $e) { } return false; } /** * Return true if current user can view module pages. * * @param \CUser|Main\Engine\CurrentUser $checkUser User. * * @return bool */ public static function canView($checkUser) { if(!($checkUser instanceof \CUser) && !($checkUser instanceof Main\Engine\CurrentUser)) { return false; } if (self::isAdmin($checkUser)) { return true; } if ($checkUser instanceof Main\Engine\CurrentUser) { $userRights = \CMain::getUserRight('translate', $checkUser->getUserGroups()); } elseif ($checkUser instanceof \CUser) { $userRights = \CMain::getUserRight('translate', $checkUser->getUserGroupArray()); } return ($userRights >= self::READ); } /** * Return true if current user can edit on module pages. * * @param \CUser|Main\Engine\CurrentUser $checkUser User. * * @return bool */ public static function canEdit($checkUser) { if(!($checkUser instanceof \CUser) && !($checkUser instanceof Main\Engine\CurrentUser)) { return false; } if (self::isAdmin($checkUser)) { return true; } if ($checkUser instanceof Main\Engine\CurrentUser) { $userRights = \CMain::getUserRight('translate', $checkUser->getUserGroups()); } elseif ($checkUser instanceof \CUser) { $userRights = \CMain::getUserRight('translate', $checkUser->getUserGroupArray()); } return ($userRights >= self::WRITE); } }