Example #1
0
 /**
  * @param int|array $fileID
  * @param int $storageTypeID
  * @return array|null
  */
 public static function makeFileArray($fileID, $storageTypeID)
 {
     if (!is_integer($storageTypeID)) {
         $storageTypeID = (int) $storageTypeID;
     }
     if ($storageTypeID === StorageType::Disk) {
         if (!is_array($fileID)) {
             return DiskManager::makeFileArray($fileID);
         }
         $result = array();
         foreach ($fileID as $ID) {
             $ary = DiskManager::makeFileArray($ID);
             if (is_array($ary)) {
                 $result[] = $ary;
             }
         }
         return $result;
     } elseif ($storageTypeID === StorageType::WebDav) {
         if (!is_array($fileID)) {
             return \CCrmWebDavHelper::makeElementFileArray($fileID);
         }
         $result = array();
         foreach ($fileID as $ID) {
             $ary = \CCrmWebDavHelper::makeElementFileArray($ID);
             if (is_array($ary)) {
                 $result[] = $ary;
             }
         }
         return $result;
     } elseif ($storageTypeID === StorageType::File) {
         if (!is_array($fileID)) {
             return \CFile::makeFileArray($fileID);
         }
         $result = array();
         foreach ($fileID as $ID) {
             $ary = \CFile::makeFileArray($ID);
             if (is_array($ary)) {
                 $result[] = $ary;
             }
         }
         return $result;
     }
     throw new Main\NotSupportedException("Storage type: '{$storageTypeID}' is not supported in current context");
 }