예제 #1
0
         $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', array('ID' => $userID), array('FIELDS' => array('ID')));
         $user = is_object($dbUsers) ? $dbUsers->Fetch() : null;
         if (is_array($user)) {
             $usersByID[$userID] = $user;
         } else {
             //Reset user
             $userID = 0;
         }
     }
 } else {
     // 3. Try to interpret value as user name (#NAME# #LAST_NAME#)
     if (isset($usersByName[$data])) {
         $userID = intval($usersByName[$data]['ID']);
     } else {
         $nameParts = array();
         if (\Bitrix\Crm\Format\PersonNameFormatter::tryParseName($data, $userNameFormat, $nameParts)) {
             $userFilter = array();
             if (isset($nameParts['NAME'])) {
                 $userFilter['NAME'] = $nameParts['NAME'];
             }
             if (isset($nameParts['SECOND_NAME'])) {
                 $userFilter['SECOND_NAME'] = $nameParts['SECOND_NAME'];
             }
             if (isset($nameParts['LAST_NAME'])) {
                 $userFilter['LAST_NAME'] = $nameParts['LAST_NAME'];
             }
             $dbUsers = CUser::GetList($by = 'ID', $order = 'ASC', $userFilter, array('FIELDS' => array('ID')));
             $user = is_object($dbUsers) ? $dbUsers->Fetch() : null;
             if (is_array($user)) {
                 $userID = $user['ID'] = intval($user['ID']);
                 $usersByName[$data] = $user;