/** * @param CaptionAsset $captionAsset * @param string $fullPath * @param bool $copyOnly */ protected function attachFile(CaptionAsset $captionAsset, $fullPath, $copyOnly = false) { $ext = pathinfo($fullPath, PATHINFO_EXTENSION); $captionAsset->incrementVersion(); if ($ext && $ext != kUploadTokenMgr::NO_EXTENSION_IDENTIFIER) { $captionAsset->setFileExt($ext); } $captionAsset->setSize(filesize($fullPath)); $captionAsset->save(); $syncKey = $captionAsset->getSyncKey(CaptionAsset::FILE_SYNC_ASSET_SUB_TYPE_ASSET); try { kFileSyncUtils::moveFromFile($fullPath, $syncKey, true, $copyOnly); } catch (Exception $e) { if ($captionAsset->getStatus() == CaptionAsset::ASSET_STATUS_QUEUED || $captionAsset->getStatus() == CaptionAsset::ASSET_STATUS_NOT_APPLICABLE) { $captionAsset->setDescription($e->getMessage()); $captionAsset->setStatus(CaptionAsset::ASSET_STATUS_ERROR); $captionAsset->save(); } throw $e; } $finalPath = kFileSyncUtils::getLocalFilePathForKey($syncKey); list($width, $height, $type, $attr) = getimagesize($finalPath); if ($captionAsset->getLanguage() == KalturaLanguage::MU) { kCaptionsContentManager::addParseMultiLanguageCaptionAssetJob($captionAsset, $finalPath); } $captionAsset->setWidth($width); $captionAsset->setHeight($height); $captionAsset->setSize(filesize($finalPath)); $captionAsset->setStatus(CaptionAsset::ASSET_STATUS_READY); $captionAsset->save(); }
/** * @param CaptionAsset $captionAsset * @param SimpleXMLElement $mrss * @return SimpleXMLElement */ public function contributeCaptionAssets(CaptionAsset $captionAsset, SimpleXMLElement $mrss) { $subTitle = $mrss->addChild('subTitle'); $subTitle->addAttribute('href', $captionAsset->getDownloadUrl(true)); $subTitle->addAttribute('captionAssetId', $captionAsset->getId()); $subTitle->addAttribute('isDefault', $captionAsset->getDefault() ? 'true' : 'false'); $subTitle->addAttribute('format', $captionAsset->getContainerFormat()); $subTitle->addAttribute('lang', $captionAsset->getLanguage()); if ($captionAsset->getFlavorParamsId()) { $subTitle->addAttribute('captionParamsId', $captionAsset->getFlavorParamsId()); } $tags = $subTitle->addChild('tags'); foreach (explode(',', $captionAsset->getTags()) as $tag) { $tags->addChild('tag', kMrssManager::stringToSafeXml($tag)); } }