本文整理汇总了PHP中assetPeer::retrieveById方法的典型用法代码示例。如果您正苦于以下问题:PHP assetPeer::retrieveById方法的具体用法?PHP assetPeer::retrieveById怎么用?PHP assetPeer::retrieveById使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类assetPeer
的用法示例。
在下文中一共展示了assetPeer::retrieveById方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: parseAction
/**
* Parse content of caption asset and index it
*
* @action parse
* @param string $captionAssetId
* @throws KalturaCaptionErrors::CAPTION_ASSET_ID_NOT_FOUND
*/
function parseAction($captionAssetId)
{
$captionAsset = assetPeer::retrieveById($captionAssetId);
if (!$captionAsset) {
throw new KalturaAPIException(KalturaCaptionErrors::CAPTION_ASSET_ID_NOT_FOUND, $captionAssetId);
}
$captionAssetItems = CaptionAssetItemPeer::retrieveByAssetId($captionAssetId);
foreach ($captionAssetItems as $captionAssetItem) {
/* @var $captionAssetItem CaptionAssetItem */
$captionAssetItem->delete();
}
$syncKey = $captionAsset->getSyncKey(asset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$content = kFileSyncUtils::file_get_contents($syncKey, true, false);
if (!$content) {
return;
}
$captionsContentManager = kCaptionsContentManager::getCoreContentManager($captionAsset->getContainerFormat());
$itemsData = $captionsContentManager->parse($content);
foreach ($itemsData as $itemData) {
$item = new CaptionAssetItem();
$item->setCaptionAssetId($captionAsset->getId());
$item->setEntryId($captionAsset->getEntryId());
$item->setPartnerId($captionAsset->getPartnerId());
$item->setStartTime($itemData['startTime']);
$item->setEndTime($itemData['endTime']);
$item->setContent(utf8_encode($itemData['content']));
$item->save();
}
}
示例2: addFileSyncImportJob
/**
* @param string $entryId
* @param FileSync $object
* @param int $fileSyncId
* @param string $sourceFileUrl
* @return BatchJob
*/
public static function addFileSyncImportJob($entryId, FileSync $fileSync, $sourceFileUrl, BatchJob $parentJob = null, $fileSize = null)
{
$partnerId = $fileSync->getPartnerId();
$fileSyncId = $fileSync->getId();
$dc = $fileSync->getDc();
KalturaLog::log(__METHOD__ . " entryId[{$entryId}], partnerId[{$partnerId}], fileSyncId[{$fileSyncId}], sourceFileUrl[{$sourceFileUrl}]");
$fileSyncImportData = new kFileSyncImportJobData();
$fileSyncImportData->setSourceUrl($sourceFileUrl);
$fileSyncImportData->setFilesyncId($fileSyncId);
$fileSyncImportData->setFileSize($fileSize);
// tmpFilePath and destFilePath will be set later during get exlusive call on the target data center
$batchJob = null;
if ($parentJob) {
$batchJob = $parentJob->createChild(BatchJobType::FILESYNC_IMPORT, null, true, $dc);
} else {
$batchJob = new BatchJob();
$batchJob->setDc($dc);
$batchJob->setEntryId($entryId);
$batchJob->setPartnerId($partnerId);
}
$batchJob->setObjectId($fileSyncId);
$batchJob->setObjectType(BatchJobObjectType::FILE_SYNC);
//In case file sync is of type data and holds flavor asset than we need to check if its the source asset that is being synced and raise it sync priority
if ($fileSync->getObjectType() == FileSyncObjectType::FLAVOR_ASSET && $fileSync->getObjectSubType() == entry::FILE_SYNC_ENTRY_SUB_TYPE_DATA && $fileSync->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_FILE) {
$assetdb = assetPeer::retrieveById($fileSync->getObjectId());
if ($assetdb) {
$isSourceAsset = $assetdb->getIsOriginal();
if ($isSourceAsset) {
$fileSyncImportData->setIsSourceAsset(true);
}
}
}
KalturaLog::log("Creating Filesync Import job, with file sync id: {$fileSyncId} size: {$fileSize}");
return kJobsManager::addJob($batchJob, $fileSyncImportData, BatchJobType::FILESYNC_IMPORT);
}
示例3: getAsset
/**
* @return CaptionAsset
*/
public function getAsset()
{
if (!$this->aAsset && $this->getCaptionAssetId()) {
$this->aAsset = assetPeer::retrieveById($this->getCaptionAssetId());
}
return $this->aAsset;
}
示例4: updatedParseMulti
private function updatedParseMulti($dbBatchJob, $data)
{
$captionId = $data->getMultiLanaguageCaptionAssetId();
$captionAsset = assetPeer::retrieveById($captionId);
$captionAsset->setStatus(asset::ASSET_STATUS_ERROR);
$captionAsset->save();
}
示例5: getSourceAssetForGenerateThumbnail
/**
*
* Decide from which asset grab the thumbnail.
* @param string $sourceAssetId
* @param string $sourceParamsId
* @param string $entryId
* @return flavorAsset
*/
public static function getSourceAssetForGenerateThumbnail($sourceAssetId, $sourceParamsId, $entryId)
{
if ($sourceAssetId) {
$srcAsset = assetPeer::retrieveById($sourceAssetId);
if ($srcAsset && $srcAsset->isLocalReadyStatus()) {
return $srcAsset;
}
}
if ($sourceParamsId) {
KalturaLog::debug("Look for flavor params [{$sourceParamsId}]");
$srcAsset = assetPeer::retrieveByEntryIdAndParams($entryId, $sourceParamsId);
if ($srcAsset && $srcAsset->isLocalReadyStatus()) {
return $srcAsset;
}
}
KalturaLog::debug("Look for original flavor of entry [{$entryId}]");
$srcAsset = assetPeer::retrieveOriginalByEntryId($entryId);
if ($srcAsset && $srcAsset->isLocalReadyStatus()) {
return $srcAsset;
}
KalturaLog::debug("Look for highest bitrate flavor of entry [{$entryId}]");
$srcAsset = assetPeer::retrieveHighestBitrateByEntryId($entryId);
if ($srcAsset && $srcAsset->isLocalReadyStatus()) {
return $srcAsset;
}
return null;
}
示例6: __construct
public function __construct(KalturaDistributionJobData $distributionJobData = null)
{
parent::__construct($distributionJobData);
$this->notificationBaseUrl = 'http://' . kConf::get('cdn_api_host');
if (!$distributionJobData) {
return;
}
if (!$distributionJobData->distributionProfile instanceof KalturaUnicornDistributionProfile) {
return;
}
$entryDistributionDb = EntryDistributionPeer::retrieveByPK($distributionJobData->entryDistributionId);
$distributionProfileDb = DistributionProfilePeer::retrieveByPK($distributionJobData->distributionProfileId);
/* @var $distributionProfileDb UnicornDistributionProfile */
$flavorAssetIds = explode(',', $entryDistributionDb->getFlavorAssetIds());
$flavorAssetId = reset($flavorAssetIds);
$flavorAsset = assetPeer::retrieveById($flavorAssetId);
$flavorAssetOldVersion = $entryDistributionDb->getFromCustomData(kUnicornDistributionJobProviderData::CUSTOM_DATA_FLAVOR_ASSET_OLD_VERSION);
$flavorAssetNewVersion = null;
if ($flavorAsset) {
$flavorAssetNewVersion = $flavorAsset->getVersion();
}
$values = $distributionProfileDb->getAllFieldValues($entryDistributionDb);
$this->catalogGuid = $values[UnicornDistributionField::CATALOG_GUID];
$this->title = $values[UnicornDistributionField::TITLE];
$this->flavorAssetVersion = $flavorAssetNewVersion;
$this->mediaChanged = $flavorAssetOldVersion != $flavorAssetNewVersion;
}
示例7: listAction
/**
* List media info objects by filter and pager
*
* @action list
* @param KalturaMediaInfoFilter $filter
* @param KalturaFilterPager $pager
* @return KalturaMediaInfoListResponse
*/
function listAction(KalturaMediaInfoFilter $filter = null, KalturaFilterPager $pager = null)
{
myDbHelper::$use_alternative_con = myDbHelper::DB_HELPER_CONN_PROPEL2;
if (!$filter) {
$filter = new KalturaMediaInfoFilter();
}
if (!$pager) {
$pager = new KalturaFilterPager();
}
$mediaInfoFilter = new MediaInfoFilter();
$filter->toObject($mediaInfoFilter);
if ($filter->flavorAssetIdEqual) {
// Since media_info table does not have partner_id column, enforce partner by getting the asset
if (!assetPeer::retrieveById($filter->flavorAssetIdEqual)) {
throw new KalturaAPIException(KalturaErrors::FLAVOR_ASSET_ID_NOT_FOUND, $filter->flavorAssetIdEqual);
}
}
$c = new Criteria();
$mediaInfoFilter->attachToCriteria($c);
$totalCount = mediaInfoPeer::doCount($c);
$pager->attachToCriteria($c);
$dbList = mediaInfoPeer::doSelect($c);
$list = KalturaMediaInfoArray::fromDbArray($dbList, $this->getResponseProfile());
$response = new KalturaMediaInfoListResponse();
$response->objects = $list;
$response->totalCount = $totalCount;
return $response;
}
示例8: copyAssets
public function copyAssets(entry $toEntry, ThumbCuePoint $toCuePoint, $adjustedStartTime = null)
{
$timedThumbAsset = assetPeer::retrieveById($this->getAssetId());
if (!$timedThumbAsset) {
KalturaLog::debug("Can't retrieve timedThumbAsset with id: {$this->getAssetId()}");
return;
}
// Offset the startTime according to the duration gap between the live and VOD entries
if (!is_null($adjustedStartTime)) {
$toCuePoint->setStartTime($adjustedStartTime);
}
$toCuePoint->save();
// Must save in order to produce an id
$timedThumbAsset->setCuePointID($toCuePoint->getId());
// Set the destination cue point's id
$timedThumbAsset->setCustomDataObj();
// Write the cached custom data object into the thumb asset
// Make a copy of the current thumb asset
// copyToEntry will create a filesync softlink to the original filesync
$toTimedThumbAsset = $timedThumbAsset->copyToEntry($toEntry->getId(), $toEntry->getPartnerId());
$toCuePoint->setAssetId($toTimedThumbAsset->getId());
$toCuePoint->save();
// Restore the thumb asset's prev. cue point id (for good measures)
$timedThumbAsset->setCuePointID($this->getId());
$timedThumbAsset->setCustomDataObj();
// Save the destination entry's thumb asset
$toTimedThumbAsset->setCuePointID($toCuePoint->getId());
$toTimedThumbAsset->save();
KalturaLog::log("Saved cue point [{$toCuePoint->getId()}] and timed thumb asset [{$toTimedThumbAsset->getId()}]");
}
示例9: appendRecordingAction
/**
* Append recorded video to live entry
*
* @action appendRecording
* @param string $entryId Live entry id
* @param string $assetId Live asset id
* @param KalturaMediaServerIndex $mediaServerIndex
* @param KalturaDataCenterContentResource $resource
* @param float $duration in seconds
* @param bool $isLastChunk Is this the last recorded chunk in the current session (i.e. following a stream stop event)
* @return KalturaLiveEntry The updated live entry
*
* @throws KalturaErrors::ENTRY_ID_NOT_FOUND
*/
function appendRecordingAction($entryId, $assetId, $mediaServerIndex, KalturaDataCenterContentResource $resource, $duration, $isLastChunk = false)
{
$dbEntry = entryPeer::retrieveByPK($entryId);
if (!$dbEntry || !$dbEntry instanceof LiveEntry) {
throw new KalturaAPIException(KalturaErrors::ENTRY_ID_NOT_FOUND, $entryId);
}
$dbAsset = assetPeer::retrieveById($assetId);
if (!$dbAsset || !$dbAsset instanceof liveAsset) {
throw new KalturaAPIException(KalturaErrors::ASSET_ID_NOT_FOUND, $assetId);
}
$lastDuration = $dbEntry->getLengthInMsecs();
if (!$lastDuration) {
$lastDuration = 0;
}
$liveSegmentDurationInMsec = (int) ($duration * 1000);
$currentDuration = $lastDuration + $liveSegmentDurationInMsec;
$maxRecordingDuration = (kConf::get('max_live_recording_duration_hours') + 1) * 60 * 60 * 1000;
if ($currentDuration > $maxRecordingDuration) {
KalturaLog::err("Entry [{$entryId}] duration [" . $dbEntry->getLengthInMsecs() . "] and current duration [{$currentDuration}] is more than max allwoed duration [{$maxRecordingDuration}]");
throw new KalturaAPIException(KalturaErrors::LIVE_STREAM_EXCEEDED_MAX_RECORDED_DURATION, $entryId);
}
$kResource = $resource->toObject();
$filename = $kResource->getLocalFilePath();
if (!$resource instanceof KalturaServerFileResource) {
$filename = kConf::get('uploaded_segment_destination') . basename($kResource->getLocalFilePath());
kFile::moveFile($kResource->getLocalFilePath(), $filename);
chgrp($filename, kConf::get('content_group'));
chmod($filename, 0640);
}
if ($dbAsset->hasTag(assetParams::TAG_RECORDING_ANCHOR) && $mediaServerIndex == KalturaMediaServerIndex::PRIMARY) {
KalturaLog::debug("Appending assetId {$assetId} to entryId {$entryId}");
$dbEntry->setLengthInMsecs($currentDuration);
// Extract the exact video segment duration from the recorded file
$mediaInfoParser = new KMediaInfoMediaParser($filename, kConf::get('bin_path_mediainfo'));
$recordedSegmentDurationInMsec = $mediaInfoParser->getMediaInfo()->videoDuration;
$currentSegmentVodToLiveDeltaTime = $liveSegmentDurationInMsec - $recordedSegmentDurationInMsec;
$recordedSegmentsInfo = $dbEntry->getRecordedSegmentsInfo();
$recordedSegmentsInfo->addSegment($lastDuration, $recordedSegmentDurationInMsec, $currentSegmentVodToLiveDeltaTime);
$dbEntry->setRecordedSegmentsInfo($recordedSegmentsInfo);
if ($isLastChunk) {
// Save last elapsed recording time
$dbEntry->setLastElapsedRecordingTime($currentDuration);
}
$dbEntry->save();
}
kJobsManager::addConvertLiveSegmentJob(null, $dbAsset, $mediaServerIndex, $filename, $currentDuration);
if ($mediaServerIndex == KalturaMediaServerIndex::PRIMARY) {
if (!$dbEntry->getRecordedEntryId()) {
$this->createRecordedEntry($dbEntry, $mediaServerIndex);
}
$recordedEntry = entryPeer::retrieveByPK($dbEntry->getRecordedEntryId());
if ($recordedEntry) {
$this->ingestAsset($recordedEntry, $dbAsset, $filename);
}
}
$entry = KalturaEntryFactory::getInstanceByType($dbEntry->getType());
$entry->fromObject($dbEntry, $this->getResponseProfile());
return $entry;
}
示例10: getByFlavorIdAction
/**
* Get base entry by flavor ID with no filters.
*
* @action getByFlavorId
* @param string $flavorId
* @param int $version Desired version of the data
* @return KalturaBaseEntry The requested entry
*/
public function getByFlavorIdAction($flavorId, $version = -1)
{
$flavorAssetDb = assetPeer::retrieveById($flavorId);
if (!$flavorAssetDb) {
throw new KalturaAPIException(KalturaErrors::FLAVOR_ASSET_ID_NOT_FOUND, $flavorId);
}
return $this->getAction($flavorAssetDb->getEntryId(), $version);
}
示例11: validateTimedThumbAssetId
public function validateTimedThumbAssetId()
{
$timedThumb = assetPeer::retrieveById($this->assetId);
if (!$timedThumb) {
throw new KalturaAPIException(KalturaErrors::ASSET_ID_NOT_FOUND, $this->assetId);
}
if ($timedThumb->getType() != ThumbCuePointPlugin::getAssetTypeCoreValue(timedThumbAssetType::TIMED_THUMB_ASSET)) {
throw new KalturaAPIException(KalturaErrors::THUMB_ASSET_ID_IS_NOT_TIMED_THUMB_TYPE, $this->assetId);
}
}
示例12: retrieveObject
/**
*
* @param int $objectType
* @param string $objectId
* @return ISyncableFile
*/
public static function retrieveObject($objectType, $objectId)
{
$object = null;
switch ($objectType) {
case FileSyncObjectType::ENTRY:
entryPeer::setUseCriteriaFilter(false);
$object = entryPeer::retrieveByPK($objectId);
entryPeer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::UICONF:
uiConfPeer::setUseCriteriaFilter(false);
$object = uiConfPeer::retrieveByPK($objectId);
uiConfPeer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::BATCHJOB:
BatchJobPeer::setUseCriteriaFilter(false);
$object = BatchJobPeer::retrieveByPK($objectId);
BatchJobPeer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::FLAVOR_ASSET:
assetPeer::setUseCriteriaFilter(false);
$object = assetPeer::retrieveById($objectId);
assetPeer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::SYNDICATION_FEED:
syndicationFeedPeer::setUseCriteriaFilter(false);
$object = syndicationFeedPeer::retrieveByPK($objectId);
syndicationFeedPeer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::CONVERSION_PROFILE:
conversionProfile2Peer::setUseCriteriaFilter(false);
$object = conversionProfile2Peer::retrieveByPK($objectId);
conversionProfile2Peer::setUseCriteriaFilter(true);
break;
case FileSyncObjectType::FILE_ASSET:
conversionProfile2Peer::setUseCriteriaFilter(false);
$object = FileAssetPeer::retrieveByPK($objectId);
conversionProfile2Peer::setUseCriteriaFilter(true);
break;
}
if ($object == null) {
$object = KalturaPluginManager::loadObject('ISyncableFile', $objectType, array('objectId' => $objectId));
}
if ($object == null) {
$error = __METHOD__ . " Cannot find object type [" . $objectType . "] with object_id [" . $objectId . "]";
KalturaLog::err($error);
throw new kFileSyncException($error);
}
return $object;
}
示例13: toObject
public function toObject($object_to_fill = null, $props_to_skip = array())
{
if (!$object_to_fill) {
$object_to_fill = new kFileSyncResource();
}
$srcFlavorAsset = assetPeer::retrieveById($this->assetId);
if (!$srcFlavorAsset) {
throw new KalturaAPIException(KalturaErrors::FLAVOR_ASSET_ID_NOT_FOUND, $resource->assetId);
}
$object_to_fill->setFileSyncObjectType(FileSyncObjectType::FLAVOR_ASSET);
$object_to_fill->setObjectSubType(asset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$object_to_fill->setObjectId($srcFlavorAsset->getId());
return $object_to_fill;
}
示例14: validateFlavorAssetssAllowed
protected function validateFlavorAssetssAllowed(DrmLicenseUtils $drmLU, $flavorIdsArr)
{
$secureEntryHelper = $drmLU->getSecureEntryHelper();
foreach ($flavorIdsArr as $flavorId) {
$flavorAsset = assetPeer::retrieveById($flavorId);
if (isset($flavorAsset)) {
if (!$secureEntryHelper->isAssetAllowed($flavorAsset)) {
KalturaLog::err("Asset '{$flavorId}' is not allowed according to policy'");
return false;
}
}
}
return true;
}
示例15: getEntryId
public function getEntryId(FileSync $fileSync)
{
if ($fileSync->getObjectType() == FileSyncObjectType::ENTRY) {
return $fileSync->getObjectId();
}
if ($fileSync->getObjectType() == FileSyncObjectType::BATCHJOB) {
$job = BatchJobPeer::retrieveByPK($fileSync->getObjectId());
if ($job) {
return $job->getEntryId();
}
}
if ($fileSync->getObjectType() == FileSyncObjectType::FLAVOR_ASSET) {
$flavor = assetPeer::retrieveById($fileSync->getObjectId());
if ($flavor) {
return $flavor->getEntryId();
}
}
return null;
}