%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/main/lib/ui/selector/ |
Current File : //home/bitrix/www/bitrix/modules/main/lib/ui/selector/entities.php |
<? namespace Bitrix\Main\UI\Selector; use Bitrix\Main\Event; use Bitrix\Main\EventResult; class Entities { const CODE_USER_REGEX = '/^U(\d+)$/i'; const CODE_USERALL_REGEX = '/^UA$/i'; const CODE_SONETGROUP_REGEX = '/^SG(\d+)$/i'; const CODE_GROUP_REGEX = '/^G(\d+)$/i'; const CODE_DEPT_REGEX = '/^D(\d+)$/i'; const CODE_DEPTR_REGEX = '/^DR(\d+)$/i'; const CODE_CRMCONTACT_REGEX = '/^CRMCONTACT(\d+)$/i'; const CODE_CRMCOMPANY_REGEX = '/^CRMCOMPANY(\d+)$/i'; const CODE_CRMLEAD_REGEX = '/^CRMLEAD(\d+)$/i'; const CODE_CRMDEAL_REGEX = '/^CRMDEAL(\d+)$/i'; public static function getList($params = array()) { $result = array(); if (empty($params['context'])) { return $result; } if (empty($params['itemsSelected'])) { return $result; } $event = new Event("main", "OnUISelectorEntitiesGetList", $params); $event->send(); $eventResultList = $event->getResults(); if (is_array($eventResultList) && !empty($eventResultList)) { foreach ($eventResultList as $eventResult) { if ($eventResult->getType() == EventResult::SUCCESS) { $resultParams = $eventResult->getParameters(); $result = $resultParams['result']; break; } } } return $result; } public static function getEntityType($params) { $result = false; if ( empty($params) || empty($params['itemCode']) ) { return $result; } $itemCode = $params['itemCode']; if (preg_match(self::CODE_USER_REGEX, $itemCode, $matches)) { $result = 'users'; } elseif (preg_match(self::CODE_SONETGROUP_REGEX, $itemCode, $matches)) { $result = 'sonetgroups'; } elseif ( preg_match(self::CODE_DEPT_REGEX, $itemCode, $matches) || preg_match(self::CODE_DEPTR_REGEX, $itemCode, $matches) ) { $result = 'department'; } elseif ( preg_match(self::CODE_USERALL_REGEX, $itemCode, $matches) || preg_match(self::CODE_GROUP_REGEX, $itemCode, $matches) ) { $result = 'groups'; } return $result; } }