/** * @param flavorAsset $flavorAsset * @param string $fullPath * @param bool $copyOnly */ protected function attachFile(flavorAsset $flavorAsset, $fullPath, $copyOnly = false) { $ext = pathinfo($fullPath, PATHINFO_EXTENSION); $flavorAsset->setFileExt($ext); $flavorAsset->setSize(kFile::fileSize($fullPath)); $flavorAsset->incrementVersion(); $flavorAsset->save(); $syncKey = $flavorAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); try { kFileSyncUtils::moveFromFile($fullPath, $syncKey, true, $copyOnly); } catch (Exception $e) { if ($flavorAsset->getStatus() == flavorAsset::FLAVOR_ASSET_STATUS_QUEUED || $flavorAsset->getStatus() == flavorAsset::FLAVOR_ASSET_STATUS_NOT_APPLICABLE) { $flavorAsset->setDescription($e->getMessage()); $flavorAsset->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_ERROR); $flavorAsset->save(); } throw $e; } if (!$flavorAsset->isLocalReadyStatus()) { $flavorAsset->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_QUEUED); } $flavorAsset->save(); }