public function objectChanged(BaseObject $object, array $modifiedColumns) { // replacing the ismc file name in the ism file $ismPrevVersionFileSyncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_ASSET_SUB_TYPE_ASSET); $ismContents = kFileSyncUtils::file_get_contents($ismPrevVersionFileSyncKey); $ismcPrevVersionFileSyncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_ASSET_SUB_TYPE_ISMC); $ismcContents = kFileSyncUtils::file_get_contents($ismcPrevVersionFileSyncKey); $ismcPrevVersionFilePath = kFileSyncUtils::getLocalFilePathForKey($ismcPrevVersionFileSyncKey); $object->incrementVersion(); $object->save(); $ismcFileSyncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_ASSET_SUB_TYPE_ISMC); kFileSyncUtils::moveFromFile($ismcPrevVersionFilePath, $ismcFileSyncKey); $ismcNewName = basename(kFileSyncUtils::getLocalFilePathForKey($ismcFileSyncKey)); KalturaLog::debug("Editing ISM set content to [{$ismcNewName}]"); $ismXml = new SimpleXMLElement($ismContents); $ismXml->head->meta['content'] = $ismcNewName; $tmpPath = kFileSyncUtils::getLocalFilePathForKey($ismPrevVersionFileSyncKey) . '.tmp'; file_put_contents($tmpPath, $ismXml->asXML()); kFileSyncUtils::moveFromFile($tmpPath, $object->getSyncKey(flavorAsset::FILE_SYNC_ASSET_SUB_TYPE_ASSET)); return true; }
/** * @param BaseObject $object * @return bool true if should continue to the next consumer */ public function objectAdded(BaseObject $object) { if ($object instanceof flavorAsset && $object->getIsOriginal()) { $entry = $object->getentry(); if ($entry->getType() == entryType::DOCUMENT) { if ($entry->getConversionQuality() > 0) { $syncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); $path = kFileSyncUtils::getLocalFilePathForKey($syncKey); kJobsManager::addConvertProfileJob(null, $entry, $object->getId(), $path); } else { // only for documents entry, make the source ready since no conversion profile will be executed by default $object->setFlavorParamsId(flavorParams::SOURCE_FLAVOR_ID); $object->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_READY); $object->save(); $entry->setStatusReady(); $entry->save(); } } } return true; }
public function objectAdded(BaseObject $object, BatchJob $raisedJob = null) { $entry = $object->getentry(); if ($object->getStatus() == asset::FLAVOR_ASSET_STATUS_QUEUED || $object->getStatus() == asset::FLAVOR_ASSET_STATUS_IMPORTING) { if (!$object instanceof flavorAsset) { $object->setStatus(asset::FLAVOR_ASSET_STATUS_READY); $object->save(); } elseif ($object->getIsOriginal()) { if ($entry->getType() == entryType::MEDIA_CLIP) { $syncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); if (kFileSyncUtils::fileSync_exists($syncKey)) { // Get the asset fileSync. // For URL typed sync - assume remote and use the relative file path. // For the other types - use the ordinary kFileSyncUtils::getLocalFilePathForKey. $fsArr = kFileSyncUtils::getReadyFileSyncForKey($syncKey, true, false); $fs = $fsArr[0]; if ($fs->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_URL) { $path = $fs->getFilePath(); } else { $path = kFileSyncUtils::getLocalFilePathForKey($syncKey); } kJobsManager::addConvertProfileJob($raisedJob, $entry, $object->getId(), $path); } } } else { $object->setStatus(asset::FLAVOR_ASSET_STATUS_VALIDATING); $object->save(); } } if ($object->getStatus() == asset::FLAVOR_ASSET_STATUS_READY && $object instanceof thumbAsset) { if ($object->getFlavorParamsId()) { kFlowHelper::generateThumbnailsFromFlavor($object->getEntryId(), $raisedJob, $object->getFlavorParamsId()); } else { if ($object->hasTag(thumbParams::TAG_DEFAULT_THUMB)) { kBusinessConvertDL::setAsDefaultThumbAsset($object); } } return true; } if ($object->getIsOriginal() && $entry->getStatus() == entryStatus::NO_CONTENT) { $entry->setStatus(entryStatus::PENDING); $entry->save(); } return true; }
/** * @param BaseObject $object * @return bool true if should continue to the next consumer */ public function objectAdded(BaseObject $object) { if ($object instanceof flavorAsset && $object->getIsOriginal()) { $entry = $object->getentry(); if ($entry->getType() == entryType::MEDIA_CLIP) { $syncKey = $object->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET); $path = kFileSyncUtils::getLocalFilePathForKey($syncKey); kJobsManager::addConvertProfileJob(null, $entry, $object->getId(), $path); } } return true; }