예제 #1
0
 public static function PrepareStorageElementInfo(&$arFields)
 {
     $storageTypeID = isset($arFields['STORAGE_TYPE_ID']) ? (int) $arFields['STORAGE_TYPE_ID'] : StorageType::Undefined;
     if (!StorageType::IsDefined($storageTypeID)) {
         $storageTypeID = self::GetDefaultStorageTypeID();
     }
     $storageElementIDs = isset($arFields['STORAGE_ELEMENT_IDS']) && is_array($arFields['STORAGE_ELEMENT_IDS']) ? $arFields['STORAGE_ELEMENT_IDS'] : array();
     if ($storageTypeID === StorageType::File) {
         $arFields['FILES'] = array();
         foreach ($storageElementIDs as $fileID) {
             $arData = CFile::GetFileArray($fileID);
             if (is_array($arData)) {
                 $arFields['FILES'][] = array('fileID' => $arData['ID'], 'fileName' => $arData['FILE_NAME'], 'fileURL' => CCrmUrlUtil::UrnEncode($arData['SRC']), 'fileSize' => $arData['FILE_SIZE']);
             }
         }
     } elseif ($storageTypeID === StorageType::WebDav || $storageTypeID === StorageType::Disk) {
         $infos = array();
         foreach ($storageElementIDs as $elementID) {
             $infos[] = StorageManager::getFileInfo($elementID, $storageTypeID);
         }
         $arFields[$storageTypeID === StorageType::Disk ? 'DISK_FILES' : 'WEBDAV_ELEMENTS'] =& $infos;
         unset($infos);
     }
 }
예제 #2
0
     $dbResUser = CUser::GetByID($responsibleID);
     $arRes['RESPONSIBLE'] = $dbResUser->Fetch();
     $arRes['RESPONSIBLE_FULL_NAME'] = is_array($arRes['RESPONSIBLE']) ? CUser::FormatName(CSite::GetNameFormat(false), $arRes['RESPONSIBLE'], true, false) : '';
 } else {
     $arRes['RESPONSIBLE'] = false;
     $arRes['RESPONSIBLE_FULL_NAME'] = '';
     $arRes['PATH_TO_RESPONSIBLE'] = '';
 }
 $arRes['FILES'] = array();
 CCrmActivity::PrepareStorageElementIDs($arRes);
 $arFileID = $arRes['STORAGE_ELEMENT_IDS'];
 if (is_array($arFileID)) {
     $fileCount = count($arFileID);
     for ($i = 0; $i < $fileCount; $i++) {
         if (is_array($arData = CFile::GetFileArray($arFileID[$i]))) {
             $arRes['FILES'][] = array('fileID' => $arData['ID'], 'fileName' => $arData['FILE_NAME'], 'fileURL' => CCrmUrlUtil::UrnEncode($arData['SRC']), 'fileSize' => $arData['FILE_SIZE']);
         }
     }
 }
 $arRes['SETTINGS'] = isset($arRes['~SETTINGS']) ? unserialize($arRes['~SETTINGS']) : array();
 $arRes['COMMUNICATIONS'] = CCrmActivity::GetCommunications($arRes['~ID']);
 $commData = array();
 if (is_array($arRes['COMMUNICATIONS'])) {
     foreach ($arRes['COMMUNICATIONS'] as &$arComm) {
         CCrmActivity::PrepareCommunicationInfo($arComm);
         $commData[] = array('id' => $arComm['ID'], 'type' => $arComm['TYPE'], 'value' => $arComm['VALUE'], 'entityId' => $arComm['ENTITY_ID'], 'entityType' => CCrmOwnerType::ResolveName($arComm['ENTITY_TYPE_ID']), 'entityTitle' => $arComm['TITLE']);
     }
     unset($arComm);
 }
 $item = array('ID' => $arRes['~ID'], 'typeID' => $arRes['~TYPE_ID'], 'subject' => strval($arRes['~SUBJECT']), 'description' => strval($arRes['~DESCRIPTION']), 'direction' => intval($arRes['~DIRECTION']), 'location' => strval($arRes['~LOCATION']), 'start' => isset($arRes['~START_TIME']) ? ConvertTimeStamp(MakeTimeStamp($arRes['~START_TIME']), 'FULL', SITE_ID) : '', 'end' => isset($arRes['~START_TIME']) ? ConvertTimeStamp(MakeTimeStamp($arRes['~END_TIME']), 'FULL', SITE_ID) : '', 'deadline' => isset($arRes['~DEADLINE']) ? ConvertTimeStamp(MakeTimeStamp($arRes['~DEADLINE']), 'FULL', SITE_ID) : '', 'completed' => strval($arRes['~COMPLETED']) == 'Y', 'notifyType' => intval($arRes['~NOTIFY_TYPE']), 'notifyValue' => intval($arRes['~NOTIFY_VALUE']), 'priority' => intval($arRes['~PRIORITY']), 'responsibleName' => isset($arRes['RESPONSIBLE_FULL_NAME'][0]) ? $arRes['RESPONSIBLE_FULL_NAME'] : GetMessage('CRM_UNDEFINED_VALUE'), 'files' => $arRes['FILES'], 'associatedEntityID' => isset($arRes['~ASSOCIATED_ENTITY_ID']) ? intval($arRes['~ASSOCIATED_ENTITY_ID']) : 0, 'communications' => $commData);
 $arItems[] = $item;