本文整理汇总了PHP中asset::getEntryId方法的典型用法代码示例。如果您正苦于以下问题:PHP asset::getEntryId方法的具体用法?PHP asset::getEntryId怎么用?PHP asset::getEntryId使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类asset
的用法示例。
在下文中一共展示了asset::getEntryId方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: purgeAssetFromEdgeCast
private static function purgeAssetFromEdgeCast(asset $asset)
{
// get partner
$partnerId = $asset->getPartnerId();
$partner = PartnerPeer::retrieveByPK($partnerId);
if (!$partner) {
KalturaLog::err('Cannot find partner with id [' . $partnerId . ']');
return false;
}
$mediaType = $asset instanceof thumbAsset ? self::EDGE_SERVICE_HTTP_SMALL_OBJECT_MEDIA_TYPE : self::EDGE_SERVICE_HTTP_LARGE_OBJECT_MEDIA_TYPE;
$mediaTypePathList = array();
try {
$mediaTypePathList[] = array('MediaType' => $mediaType, 'MediaPath' => $asset->getDownloadUrl());
// asset download url
} catch (Exception $e) {
KalturaLog::err('Cannot get asset URL for asset id [' . $asset->getId() . '] - ' . $e->getMessage());
}
if ($asset instanceof flavorAsset) {
// get a list of all URLs leading to the asset for purging
$subPartnerId = $asset->getentry()->getSubpId();
$partnerPath = myPartnerUtils::getUrlForPartner($partnerId, $subPartnerId);
$assetId = $asset->getId();
$serveFlavorUrl = "{$partnerPath}/serveFlavor/entryId/" . $asset->getEntryId() . "/flavorId/{$assetId}" . '*';
// * wildcard should delete all serveFlavor urls
$hosts = array($partner->getCdnHost(), $partner->getRtmpUrl(), $partner->getIisHost());
foreach ($hosts as $host) {
if (!empty($host)) {
$mediaTypePathList[] = array('MediaType' => $mediaType, 'MediaPath' => $host . $serveFlavorUrl);
}
}
}
return self::purgeFromEdgeCast($mediaTypePathList, $partner);
}
示例2: getAssetUrl
protected static function getAssetUrl(asset $asset)
{
$urlManager = DeliveryProfilePeer::getDeliveryProfile($asset->getEntryId());
if ($asset instanceof flavorAsset) {
$urlManager->initDeliveryDynamicAttributes(null, $asset);
}
$url = $urlManager->getFullAssetUrl($asset);
$url = preg_replace('/^https?:\\/\\//', '', $url);
$url = 'http://' . $url . '/ext/' . $asset->getId() . '.' . $asset->getFileExt();
return $url;
}
示例3: getAssetUrl
protected static function getAssetUrl(asset $asset)
{
$cdnHost = myPartnerUtils::getCdnHost($asset->getPartnerId());
$urlManager = kUrlManager::getUrlManagerByCdn($cdnHost, $asset->getEntryId());
$urlManager->setDomain($cdnHost);
$url = $urlManager->getAssetUrl($asset);
$url = $cdnHost . $url;
$url = preg_replace('/^https?:\\/\\//', '', $url);
$url = 'http://' . $url . '/ext/' . $asset->getId() . '.' . $asset->getFileExt();
return $url;
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:11,代码来源:KalturaMetroPcsDistributionJobProviderData.php
示例4: addImportJob
protected static function addImportJob($dc, $entryUrl, asset $asset)
{
KalturaLog::debug("Importing asset [" . $asset->getId() . "] from dc [{$dc}] with URL [{$entryUrl}]");
$entryUrl = str_replace('//', '/', $entryUrl);
$entryUrl = preg_replace('/^((https?)|(ftp)|(scp)|(sftp)):\\//', '$1://', $entryUrl);
$jobData = new kImportJobData();
$jobData->setCacheOnly(true);
$jobData->setSrcFileUrl($entryUrl);
$jobData->setFlavorAssetId($asset->getId());
$batchJob = new BatchJob();
$batchJob->setDc($dc);
$batchJob->setEntryId($asset->getEntryId());
$batchJob->setPartnerId($asset->getPartnerId());
return kJobsManager::addJob($batchJob, $jobData, BatchJobType::IMPORT);
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:15,代码来源:kContentDistributionManager.php
示例5: addImportJob
protected static function addImportJob($dc, $entryUrl, asset $asset)
{
$entryUrl = str_replace('//', '/', $entryUrl);
$entryUrl = preg_replace('/^((https?)|(ftp)|(scp)|(sftp)):\\//', '$1://', $entryUrl);
$jobData = new kImportJobData();
$jobData->setCacheOnly(true);
$jobData->setSrcFileUrl($entryUrl);
$jobData->setFlavorAssetId($asset->getId());
$batchJob = new BatchJob();
$batchJob->setDc($dc);
$batchJob->setEntryId($asset->getEntryId());
$batchJob->setPartnerId($asset->getPartnerId());
$batchJob->setObjectId($asset->getId());
$batchJob->setObjectType(BatchJobObjectType::ASSET);
return kJobsManager::addJob($batchJob, $jobData, BatchJobType::IMPORT);
}
示例6: serveAsset
/**
* @param asset $asset
* @param string $fileName
* @param bool $forceProxy
* @param int $version
* @throws KalturaErrors::FILE_DOESNT_EXIST
*/
protected function serveAsset(asset $asset, $fileName, $forceProxy = false, $version = null)
{
$syncKey = $asset->getSyncKey(asset::FILE_SYNC_ASSET_SUB_TYPE_ASSET, $version);
$fileSync = null;
$serveRemote = false;
$partner = PartnerPeer::retrieveByPK($asset->getPartnerId());
switch ($partner->getStorageServePriority()) {
case StorageProfile::STORAGE_SERVE_PRIORITY_EXTERNAL_ONLY:
$serveRemote = true;
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($syncKey);
if (!$fileSync || $fileSync->getStatus() != FileSync::FILE_SYNC_STATUS_READY) {
throw new KalturaAPIException(KalturaErrors::FILE_DOESNT_EXIST);
}
break;
case StorageProfile::STORAGE_SERVE_PRIORITY_EXTERNAL_FIRST:
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($syncKey);
if ($fileSync && $fileSync->getStatus() == FileSync::FILE_SYNC_STATUS_READY) {
$serveRemote = true;
}
break;
case StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_FIRST:
$fileSync = kFileSyncUtils::getReadyInternalFileSyncForKey($syncKey);
if ($fileSync) {
break;
}
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($syncKey);
if (!$fileSync || $fileSync->getStatus() != FileSync::FILE_SYNC_STATUS_READY) {
throw new KalturaAPIException(KalturaErrors::FILE_DOESNT_EXIST);
}
$serveRemote = true;
break;
case StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_ONLY:
$fileSync = kFileSyncUtils::getReadyInternalFileSyncForKey($syncKey);
if (!$fileSync) {
throw new KalturaAPIException(KalturaErrors::FILE_DOESNT_EXIST);
}
break;
}
if ($serveRemote && $fileSync) {
header("Location: " . $fileSync->getExternalUrl($asset->getEntryId()));
die;
}
return $this->serveFile($asset, asset::FILE_SYNC_ASSET_SUB_TYPE_ASSET, $fileName, $asset->getEntryId(), $forceProxy);
}
示例7: purgeAssetFromEdgeCast
private static function purgeAssetFromEdgeCast(asset $asset)
{
// get partner
$partnerId = $asset->getPartnerId();
$partner = PartnerPeer::retrieveByPK($partnerId);
if (!$partner) {
KalturaLog::err('Cannot find partner with id [' . $partnerId . ']');
return false;
}
$mediaType = $asset instanceof thumbAsset ? self::EDGE_SERVICE_HTTP_SMALL_OBJECT_MEDIA_TYPE : self::EDGE_SERVICE_HTTP_LARGE_OBJECT_MEDIA_TYPE;
$mediaTypePathList = array();
try {
$mediaTypePathList[] = array('MediaType' => $mediaType, 'MediaPath' => $asset->getDownloadUrl());
// asset download url
} catch (Exception $e) {
KalturaLog::err('Cannot get asset URL for asset id [' . $asset->getId() . '] - ' . $e->getMessage());
}
if ($asset instanceof flavorAsset) {
// get a list of all URLs leading to the asset for purging
$subPartnerId = $asset->getentry()->getSubpId();
$partnerPath = myPartnerUtils::getUrlForPartner($partnerId, $subPartnerId);
$assetId = $asset->getId();
$serveFlavorUrl = "{$partnerPath}/serveFlavor/entryId/" . $asset->getEntryId() . "/flavorId/{$assetId}" . '*';
// * wildcard should delete all serveFlavor urls
$types = array(kPluginableEnumsManager::apiToCore(EdgeCastDeliveryProfileType::EDGE_CAST_HTTP), kPluginableEnumsManager::apiToCore(EdgeCastDeliveryProfileType::EDGE_CAST_RTMP));
$deliveryProfile = $partner->getDeliveryProfileIds();
$deliveryProfileIds = array();
foreach ($deliveryProfile as $key => $value) {
$deliveryProfileIds = array_merge($deliveryProfileIds, $value);
}
$c = new Criteria();
$c->add(DeliveryProfilePeer::PARTNER_ID, $partnerId);
$c->add(DeliveryProfilePeer::ID, $deliveryProfileIds, Criteria::IN);
$c->addSelectColumn(DeliveryProfilePeer::HOST_NAME);
$stmt = PermissionPeer::doSelectStmt($c);
$hosts = $stmt->fetchAll(PDO::FETCH_COLUMN);
foreach ($hosts as $host) {
if (!empty($host)) {
$mediaTypePathList[] = array('MediaType' => $mediaType, 'MediaPath' => $host . $serveFlavorUrl);
}
}
}
return self::purgeFromEdgeCast($mediaTypePathList, $partner);
}
示例8: getObject
private function getObject($objectId, $isAsset)
{
if ($isAsset) {
$this->flavorAsset = assetPeer::retrieveById($objectId);
if (is_null($this->flavorAsset)) {
KExternalErrors::dieError(KExternalErrors::FLAVOR_NOT_FOUND);
}
$this->entry = entryPeer::retrieveByPK($this->flavorAsset->getEntryId());
if (is_null($this->entry)) {
KExternalErrors::dieError(KExternalErrors::ENTRY_NOT_FOUND);
}
return $this->flavorAsset;
} else {
$this->entry = entryPeer::retrieveByPK($objectId);
if (is_null($this->entry)) {
KExternalErrors::dieError(KExternalErrors::ENTRY_NOT_FOUND);
}
return $this->entry;
}
}
示例9: onAssetReadyOrDeleted
/**
* @param asset $asset
*/
public static function onAssetReadyOrDeleted(asset $asset)
{
if (!ContentDistributionPlugin::isAllowedPartner($asset->getPartnerId())) {
KalturaLog::log("Partner [" . $asset->getPartnerId() . "] is not allowed");
return true;
}
$entry = $asset->getentry();
if (!$entry) {
KalturaLog::log("Entry [" . $asset->getEntryId() . "] not found");
return true;
}
$entryDistributions = EntryDistributionPeer::retrieveByEntryId($asset->getEntryId());
foreach ($entryDistributions as $entryDistribution) {
$distributionProfileId = $entryDistribution->getDistributionProfileId();
$distributionProfile = DistributionProfilePeer::retrieveByPK($distributionProfileId);
if (!$distributionProfile) {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] profile [{$distributionProfileId}] not found");
continue;
}
if ($entryDistribution->getStatus() == EntryDistributionStatus::QUEUED || $entryDistribution->getStatus() == EntryDistributionStatus::PENDING) {
$listChanged = kContentDistributionManager::assignFlavorAssets($entryDistribution, $entry, $distributionProfile);
$listChanged = $listChanged | kContentDistributionManager::assignThumbAssets($entryDistribution, $entry, $distributionProfile);
$listChanged = $listChanged | kContentDistributionManager::assignAssets($entryDistribution, $entry, $distributionProfile);
if (!$listChanged) {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] asset lists didn't change");
continue;
}
$validationErrors = $distributionProfile->validateForSubmission($entryDistribution, DistributionAction::SUBMIT);
$entryDistribution->setValidationErrorsArray($validationErrors);
$entryDistribution->save();
if ($entryDistribution->getStatus() == EntryDistributionStatus::QUEUED) {
if ($entryDistribution->getDirtyStatus() != EntryDistributionDirtyStatus::SUBMIT_REQUIRED) {
self::submitAddEntryDistribution($entryDistribution, $distributionProfile);
}
}
}
// submit
if ($entryDistribution->getStatus() == EntryDistributionStatus::READY || $entryDistribution->getStatus() == EntryDistributionStatus::ERROR_UPDATING) {
$distributionProvider = $distributionProfile->getProvider();
if (!$distributionProvider) {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] provider not found");
continue;
}
if (!$distributionProvider->isUpdateEnabled() || !$distributionProvider->isMediaUpdateEnabled()) {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] provider [" . $distributionProvider->getName() . "] does not support update");
continue;
}
$listChanged = kContentDistributionManager::assignFlavorAssets($entryDistribution, $entry, $distributionProfile);
$listChanged = $listChanged | kContentDistributionManager::assignThumbAssets($entryDistribution, $entry, $distributionProfile);
$listChanged = $listChanged | kContentDistributionManager::assignAssets($entryDistribution, $entry, $distributionProfile);
if (!$listChanged) {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] asset lists didn't change");
continue;
}
$validationErrors = $distributionProfile->validateForSubmission($entryDistribution, DistributionAction::UPDATE);
$entryDistribution->setValidationErrorsArray($validationErrors);
$entryDistribution->save();
if (!count($validationErrors) && $distributionProfile->getUpdateEnabled() == DistributionProfileActionStatus::AUTOMATIC) {
self::submitUpdateEntryDistribution($entryDistribution, $distributionProfile);
} else {
KalturaLog::log("Entry distribution [" . $entryDistribution->getId() . "] should not be updated automatically");
$entryDistribution->setDirtyStatus(EntryDistributionDirtyStatus::UPDATE_REQUIRED);
$entryDistribution->save();
continue;
}
}
// update
}
return true;
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:73,代码来源:kContentDistributionFlowManager.php
示例10: getExternalStorageUrl
private static function getExternalStorageUrl(Partner $partner, asset $asset, FileSyncKey $key, $servePlayManifest = false, $playManifestClientTag = null, $storageId = null)
{
if (!$partner->getStorageServePriority() || $partner->getStorageServePriority() == StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_ONLY) {
return null;
}
if (is_null($storageId) && $partner->getStorageServePriority() == StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_FIRST) {
if (kFileSyncUtils::getReadyInternalFileSyncForKey($key)) {
// check if having file sync on kaltura dcs
return null;
}
}
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($key, $storageId);
if (!$fileSync) {
return null;
}
$storage = StorageProfilePeer::retrieveByPK($fileSync->getDc());
if (!$storage) {
return null;
}
if ($servePlayManifest) {
// in case of an https request, if a delivery profile which supports https doesn't exist use an http cdn api host
if (infraRequestUtils::getProtocol() == infraRequestUtils::PROTOCOL_HTTPS && DeliveryProfilePeer::getRemoteDeliveryByStorageId(DeliveryProfileDynamicAttributes::init($fileSync->getDc(), $asset->getEntryId(), PlaybackProtocol::HTTP, "https"))) {
$url = requestUtils::getApiCdnHost();
} else {
$url = infraRequestUtils::PROTOCOL_HTTP . "://" . kConf::get("cdn_api_host");
}
$url .= $asset->getPlayManifestUrl($playManifestClientTag, $storageId);
} else {
$urlManager = DeliveryProfilePeer::getRemoteDeliveryByStorageId(DeliveryProfileDynamicAttributes::init($fileSync->getDc(), $asset->getEntryId()));
if ($urlManager) {
$dynamicAttrs = new DeliveryProfileDynamicAttributes();
$dynamicAttrs->setFileExtension($asset->getFileExt());
$dynamicAttrs->setStorageId($fileSync->getDc());
$urlManager->setDynamicAttributes($dynamicAttrs);
$url = ltrim($urlManager->getFileSyncUrl($fileSync), '/');
if (strpos($url, "://") === false) {
$url = rtrim($urlManager->getUrl(), "/") . "/" . $url;
}
} else {
KalturaLog::debug("Couldn't determine delivery profile for storage id");
$url = null;
}
}
return $url;
}
示例11: getFileSyncForKey
private static function getFileSyncForKey(FileSyncKey $srcSyncKey, flavorParamsOutput $flavor, asset $flavorAsset, Partner $partner, &$addImportJob)
{
$addImportJob = false;
$isLocal = $flavor->getSourceRemoteStorageProfileId() == StorageProfile::STORAGE_KALTURA_DC;
if ($isLocal) {
list($fileSync, $local) = kFileSyncUtils::getReadyFileSyncForKey($srcSyncKey, true, false);
} else {
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($srcSyncKey, $flavor->getSourceRemoteStorageProfileId());
}
if (!$fileSync) {
kBatchManager::updateEntry($flavorAsset->getEntryId(), entryStatus::ERROR_CONVERTING);
if ($isLocal) {
$description = "Source file sync not found: {$srcSyncKey}";
} else {
$description = "Remote source file sync not found {$srcSyncKey}, storage profile id [" . $flavor->getSourceRemoteStorageProfileId() . "]";
}
$flavorAsset->setStatus(flavorAsset::FLAVOR_ASSET_STATUS_ERROR);
$flavorAsset->setDescription($description);
$flavorAsset->save();
KalturaLog::err($description);
return null;
}
if ($isLocal && !$local) {
if ($fileSync->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_URL && $partner && $partner->getImportRemoteSourceForConvert()) {
$addImportJob = true;
} else {
throw new kCoreException("Source file not found for flavor conversion [{$flavorAsset->getId}()]", kCoreException::SOURCE_FILE_NOT_FOUND);
}
}
return $fileSync;
}
示例12: getAssetUrl
public function getAssetUrl(asset $asset)
{
$cdnHost = myPartnerUtils::getCdnHost($asset->getPartnerId());
$urlManager = kUrlManager::getUrlManagerByCdn($cdnHost, $asset->getEntryId());
$urlManager->setDomain($cdnHost);
$url = $urlManager->getAssetUrl($asset);
$url = $cdnHost . $url;
$url = preg_replace('/^https?:\\/\\//', '', $url);
return 'http://' . $url;
}
示例13: conditionalAssetLocalFileSyncsDelete
private static function conditionalAssetLocalFileSyncsDelete(FileSync $fileSync, asset $asset)
{
$unClosedStatuses = array(asset::ASSET_STATUS_QUEUED, asset::ASSET_STATUS_CONVERTING, asset::ASSET_STATUS_WAIT_FOR_CONVERT, asset::ASSET_STATUS_EXPORTING);
$unClosedAssets = assetPeer::retrieveReadyByEntryId($asset->getEntryId(), null, $unClosedStatuses);
if (count($unClosedAssets)) {
$asset->setFileSyncVersionsToDelete(array($fileSync->getVersion()));
$asset->save();
return;
}
$assetsToDelete = assetPeer::retrieveReadyByEntryId($asset->getEntryId());
self::deleteAssetLocalFileSyncsByAssetArray($assetsToDelete);
self::deleteAssetLocalFileSyncs($fileSync->getVersion(), $asset);
}
示例14: getExternalStorageUrl
private static function getExternalStorageUrl(Partner $partner, asset $asset, FileSyncKey $key, $storageId = null)
{
if (!$partner->getStorageServePriority() || $partner->getStorageServePriority() == StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_ONLY) {
return null;
}
if (is_null($storageId) && $partner->getStorageServePriority() == StorageProfile::STORAGE_SERVE_PRIORITY_KALTURA_FIRST) {
if (kFileSyncUtils::getReadyInternalFileSyncForKey($key)) {
// check if having file sync on kaltura dcs
return null;
}
}
$fileSync = kFileSyncUtils::getReadyExternalFileSyncForKey($key, $storageId);
if (!$fileSync) {
return null;
}
$storage = StorageProfilePeer::retrieveByPK($fileSync->getDc());
if (!$storage) {
return null;
}
$urlManager = kUrlManager::getUrlManagerByStorageProfile($fileSync->getDc(), $asset->getEntryId());
$urlManager->setFileExtension($asset->getFileExt());
$url = $storage->getDeliveryHttpBaseUrl() . '/' . $urlManager->getFileSyncUrl($fileSync);
return $url;
}
示例15: onAssetReadyOrDeleted
/**
* @param asset $asset
*/
public static function onAssetReadyOrDeleted(asset $asset)
{
if (!ContentDistributionPlugin::isAllowedPartner($asset->getPartnerId())) {
return true;
}
$entry = $asset->getentry();
if (!$entry) {
return true;
}
$entryDistributions = EntryDistributionPeer::retrieveByEntryId($asset->getEntryId());
foreach ($entryDistributions as $entryDistribution) {
$distributionProfileId = $entryDistribution->getDistributionProfileId();
$distributionProfile = DistributionProfilePeer::retrieveByPK($distributionProfileId);
if (!$distributionProfile) {
continue;
}
$validateStatuses = array(EntryDistributionStatus::QUEUED, EntryDistributionStatus::PENDING, EntryDistributionStatus::READY);
if (!in_array($entryDistribution->getStatus(), $validateStatuses)) {
continue;
}
/*
* we have special thumbnail definition for 'main menu' & 'thank you' entries
* so we need to revalidate avn distribution profile because those thumbnails are not
* defined in the distribution porofile so automatic revalidation doesn't work
*/
if ($distributionProfile instanceof AvnDistributionProfile) {
$validationErrors = $distributionProfile->validateForSubmission($entryDistribution, DistributionAction::SUBMIT);
$entryDistribution->setValidationErrorsArray($validationErrors);
$entryDistribution->save();
}
}
return true;
}