本文整理汇总了PHP中asset类的典型用法代码示例。如果您正苦于以下问题:PHP asset类的具体用法?PHP asset怎么用?PHP asset使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了asset类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: 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;
}
开发者ID:DBezemer,项目名称:server,代码行数:11,代码来源:KalturaMetroPcsDistributionJobProviderData.php
示例2: 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
示例3: 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
示例4: fulfilled
public function fulfilled(asset $asset)
{
$propName = $this->propertyName;
$propValue = $this->propertyValue;
$customPropGetterCallback = array($asset, "get" . $propName);
if (!is_callable($customPropGetterCallback)) {
KalturaLog::info("asset (id = {$asset->getId()}) required property not found: Prop Name = {$propName}, Prop Value = {$propValue}");
return false;
}
if ($propValue != call_user_func($customPropGetterCallback)) {
KalturaLog::info("asset (id = {$asset->getId()}) does not match distribution property condition: Prop Name = {$propName}, Prop Value = {$propValue}");
return false;
}
KalturaLog::info("asset (id = {$asset->getId()}) MATCHES distribution property condition: Prop Name = {$propName}, Prop Value = {$propValue}");
return true;
}
开发者ID:DBezemer,项目名称:server,代码行数:16,代码来源:kAssetDistributionPropertyCondition.php
示例5: setContextDataFlavorAssets
private function setContextDataFlavorAssets($flavorTags)
{
$flavorParamsIds = null;
$flavorParamsNotIn = false;
if (!$this->isAdmin) {
foreach ($this->contextDataResult->getActions() as $action) {
if ($action->getType() == RuleActionType::BLOCK) {
//in case of block action do not set the list of flavors
return;
}
if ($action->getType() == RuleActionType::LIMIT_FLAVORS) {
/* @var $action kAccessControlLimitFlavorsAction */
$flavorParamsIds = explode(',', $action->getFlavorParamsIds());
$flavorParamsNotIn = $action->getIsBlockedList();
}
}
}
$flavorAssets = array();
if (is_null($this->asset)) {
if (count($flavorParamsIds)) {
$flavorAssets = assetPeer::retrieveReadyByEntryIdAndFlavorParams($this->entry->getId(), $flavorParamsIds, $flavorParamsNotIn);
} else {
$flavorAssets = assetPeer::retrieveFlavorsByEntryIdAndStatus($this->entry->getId(), null, array(flavorAsset::ASSET_STATUS_READY));
}
} else {
$flavorAllowed = true;
if (count($flavorParamsIds)) {
$flavorAllowed = $this->isFlavorAllowed($this->asset->getFlavorParamsId(), $flavorParamsIds, $flavorParamsNotIn);
}
if ($flavorAllowed) {
$flavorAssets[] = $this->asset;
}
}
$this->filterFlavorAssetsByTags($flavorAssets, $flavorTags);
}
开发者ID:DBezemer,项目名称:server,代码行数:35,代码来源:kContextDataHelper.php
示例6: 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);
}
开发者ID:DBezemer,项目名称:server,代码行数:16,代码来源:kContentDistributionManager.php
示例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
$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);
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:33,代码来源:kEdgeCastFlowManager.php
示例8: assetFulfilled
protected function assetFulfilled(asset $asset)
{
KalturaLog::info('Checking asset id ' . $asset->getId());
foreach ($this->getProperties() as $propName => $propValue) {
KalturaLog::info('Comparing property ' . $propName . ' with value ' . $propValue);
$getterCallback = array($asset, "get" . $propName);
if (!is_callable($getterCallback)) {
KalturaLog::info('Property not found on asset');
return false;
}
if ($propValue != call_user_func($getterCallback)) {
KalturaLog::info('Property value does not match');
return false;
}
KalturaLog::info('Property value was matched');
}
return true;
}
开发者ID:DBezemer,项目名称:server,代码行数:18,代码来源:kAssetPropertiesCompareCondition.php
示例9: 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);
}
开发者ID:DBezemer,项目名称:server,代码行数:51,代码来源:KalturaAssetService.php
示例10: setContextDataFlavorAssets
private function setContextDataFlavorAssets($flavorTags)
{
if ($this->entry->getType() == entryType::PLAYLIST && $this->entry->getMediaType() == entry::ENTRY_MEDIA_TYPE_TEXT) {
list($entryIds, $durations, $mediaEntry) = myPlaylistUtils::executeStitchedPlaylist($this->entry);
if (!$mediaEntry) {
return;
}
$mediaEntryId = $mediaEntry->getId();
$this->msDuration = array_sum($durations);
} else {
$mediaEntryId = $this->entry->getId();
$this->msDuration = $this->entry->getLengthInMsecs();
}
$flavorParamsIds = null;
$flavorParamsNotIn = false;
if (!$this->isAdmin) {
foreach ($this->contextDataResult->getActions() as $action) {
if ($action->getType() == RuleActionType::BLOCK) {
//in case of block action do not set the list of flavors
return;
}
if ($action->getType() == RuleActionType::LIMIT_FLAVORS) {
/* @var $action kAccessControlLimitFlavorsAction */
$flavorParamsIds = explode(',', $action->getFlavorParamsIds());
$flavorParamsNotIn = $action->getIsBlockedList();
}
}
}
$flavorAssets = array();
if (is_null($this->asset)) {
if (count($flavorParamsIds)) {
$flavorAssets = assetPeer::retrieveReadyByEntryIdAndFlavorParams($mediaEntryId, $flavorParamsIds, $flavorParamsNotIn);
} else {
$flavorAssets = assetPeer::retrieveFlavorsByEntryIdAndStatus($mediaEntryId, null, array(flavorAsset::ASSET_STATUS_READY));
}
if ($mediaEntryId != $this->entry->getId()) {
// hack: setting the entry id of the flavors to the original playlist id
// since the player uses it in the playManifest url
foreach ($flavorAssets as $flavorAsset) {
$flavorAsset->setEntryId($this->entry->getId());
}
}
} else {
$flavorAllowed = true;
if (count($flavorParamsIds)) {
$flavorAllowed = $this->isFlavorAllowed($this->asset->getFlavorParamsId(), $flavorParamsIds, $flavorParamsNotIn);
}
if ($flavorAllowed) {
$flavorAssets[] = $this->asset;
}
}
$this->filterFlavorAssetsByTags($flavorAssets, $flavorTags);
}
开发者ID:wzur,项目名称:server,代码行数:53,代码来源:kContextDataHelper.php
示例11: 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;
}
}
开发者ID:kubrickfr,项目名称:server,代码行数:20,代码来源:serveIsmAction.class.php
示例12: 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);
}
开发者ID:DBezemer,项目名称:server,代码行数:44,代码来源:kEdgeCastFlowManager.php
示例13: linkFromAsset
public function linkFromAsset(asset $fromAsset)
{
$this->setWidth($fromAsset->getWidth());
$this->setHeight($fromAsset->getHeight());
$this->setContainerFormat($fromAsset->getContainerFormat());
$this->setSize($fromAsset->getSize());
$this->setFileExt($fromAsset->getFileExt());
$this->setTags($fromAsset->getTags());
$this->setDescription($fromAsset->getDescription());
$this->incrementVersion();
$this->setStatusLocalReady();
}
开发者ID:DBezemer,项目名称:server,代码行数:12,代码来源:asset.php
示例14: addImportJob
public static function addImportJob(BatchJob $parentJob = null, $entryId, $partnerId, $entryUrl, asset $asset = null, $subType = null, kImportJobData $jobData = null, $keepCurrentVersion = false)
{
$entryUrl = str_replace('//', '/', $entryUrl);
$entryUrl = preg_replace('/^((https?)|(ftp)|(scp)|(sftp)):\\//', '$1://', $entryUrl);
if (is_null($subType)) {
if (stripos($entryUrl, 'sftp:') === 0) {
$subType = kFileTransferMgrType::SFTP;
} elseif (stripos($entryUrl, 'scp:') === 0) {
$subType = kFileTransferMgrType::SCP;
} elseif (stripos($entryUrl, 'ftp:') === 0) {
$subType = kFileTransferMgrType::FTP;
} elseif (stripos($entryUrl, 'https:') === 0) {
$subType = kFileTransferMgrType::HTTPS;
} else {
$subType = kFileTransferMgrType::HTTP;
}
}
if (!$jobData) {
$jobData = new kImportJobData();
}
$jobData->setSrcFileUrl($entryUrl);
if ($asset) {
if ($keepCurrentVersion) {
if (!$asset->isLocalReadyStatus()) {
$asset->setStatus(asset::FLAVOR_ASSET_STATUS_IMPORTING);
}
} else {
$asset->incrementVersion();
$asset->setStatus(asset::FLAVOR_ASSET_STATUS_IMPORTING);
}
$asset->save();
$jobData->setFlavorAssetId($asset->getId());
}
$entry = entryPeer::retrieveByPK($entryId);
if ($entry) {
$higherStatuses = array(entryStatus::PRECONVERT, entryStatus::READY);
if (!in_array($entry->getStatus(), $higherStatuses)) {
$entry->setStatus(entryStatus::IMPORT);
$entry->save();
}
}
$batchJob = null;
if ($parentJob) {
$batchJob = $parentJob->createChild(BatchJobType::IMPORT, $subType);
} else {
$batchJob = new BatchJob();
$batchJob->setEntryId($entryId);
$batchJob->setPartnerId($partnerId);
}
$batchJob->setObjectId($jobData->getFlavorAssetId());
$batchJob->setObjectType(BatchJobObjectType::ASSET);
return self::addJob($batchJob, $jobData, BatchJobType::IMPORT, $subType);
}
开发者ID:ace3535,项目名称:server,代码行数:53,代码来源:kJobsManager.php
示例15: generateThumbnail
private static function generateThumbnail(asset $srcAsset, thumbParamsOutput $destThumbParamsOutput, &$errDescription, $rotate = null)
{
$srcSyncKey = $srcAsset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
list($fileSync, $local) = kFileSyncUtils::getReadyFileSyncForKey($srcSyncKey, true, false);
if (!$fileSync || $fileSync->getFileType() == FileSync::FILE_SYNC_FILE_TYPE_URL) {
$errDescription = 'Source asset could has no valid file sync';
return false;
}
$srcPath = $fileSync->getFullPath();
$uniqid = uniqid('thumb_');
$tempDir = kConf::get('cache_root_path') . DIRECTORY_SEPARATOR . 'thumb';
if (!file_exists($tempDir)) {
mkdir($tempDir, 0700, true);
}
$destPath = $tempDir . DIRECTORY_SEPARATOR . $uniqid . '.jpg';
$logPath = $destPath . '.log';
if (!file_exists($srcPath)) {
$errDescription = "Source file [{$srcPath}] does not exist";
return false;
}
if (!is_file($srcPath)) {
$errDescription = "Source file [{$srcPath}] is not a file";
return false;
}
try {
if ($srcAsset->getType() == assetType::FLAVOR) {
/* @var $srcAsset flavorAsset */
$dar = null;
$mediaInfo = mediaInfoPeer::retrieveByFlavorAssetId($srcAsset->getId());
if ($mediaInfo) {
$dar = $mediaInfo->getVideoDar();
}
// generates the thumbnail
$thumbMaker = new KFFMpegThumbnailMaker($srcPath, $destPath, kConf::get('bin_path_ffmpeg'));
$created = $thumbMaker->createThumnail($destThumbParamsOutput->getVideoOffset(), $srcAsset->getWidth(), $srcAsset->getHeight(), null, null, $dar);
if (!$created || !file_exists($destPath)) {
$errDescription = "Thumbnail not captured";
return false;
}
$srcPath = $destPath;
$uniqid = uniqid('thumb_');
$tempDir = kConf::get('cache_root_path') . DIRECTORY_SEPARATOR . 'thumb';
if (!file_exists($tempDir)) {
mkdir($tempDir, 0700, true);
}
$destPath = $tempDir . DIRECTORY_SEPARATOR . $uniqid . '.jpg';
}
if ($srcAsset->getType() == assetType::THUMBNAIL) {
$tempDir = kConf::get('cache_root_path') . DIRECTORY_SEPARATOR . 'thumb';
if (!file_exists($tempDir)) {
mkdir($tempDir, 0700, true);
}
$destPath = $tempDir . DIRECTORY_SEPARATOR . $uniqid . "." . $srcAsset->getFileExt();
}
$quality = $destThumbParamsOutput->getQuality();
$cropType = $destThumbParamsOutput->getCropType();
$cropX = $destThumbParamsOutput->getCropX();
$cropY = $destThumbParamsOutput->getCropY();
$cropWidth = $destThumbParamsOutput->getCropWidth();
$cropHeight = $destThumbParamsOutput->getCropHeight();
$bgcolor = $destThumbParamsOutput->getBackgroundColor();
$width = $destThumbParamsOutput->getWidth();
$height = $destThumbParamsOutput->getHeight();
$scaleWidth = $destThumbParamsOutput->getScaleWidth();
$scaleHeight = $destThumbParamsOutput->getScaleHeight();
$density = $destThumbParamsOutput->getDensity();
$stripProfiles = $destThumbParamsOutput->getStripProfiles();
$cropper = new KImageMagickCropper($srcPath, $destPath, kConf::get('bin_path_imagemagick'), true);
$cropped = $cropper->crop($quality, $cropType, $width, $height, $cropX, $cropY, $cropWidth, $cropHeight, $scaleWidth, $scaleHeight, $bgcolor, $density, $rotate, $stripProfiles);
if (!$cropped || !file_exists($destPath)) {
$errDescription = "Crop failed";
return false;
}
return $destPath;
} catch (Exception $ex) {
$errDescription = $ex->getMessage();
return false;
}
}
开发者ID:DBezemer,项目名称:server,代码行数:79,代码来源:kBusinessPreConvertDL.php
示例16: applyDefaultValues
/**
* Applies default values to this object.
* This method should be called from the object's constructor (or
* equivalent initialization method).
* @see __construct()
*/
public function applyDefaultValues()
{
parent::applyDefaultValues();
$this->setFileExt('jpg');
$this->setType(assetType::THUMBNAIL);
}
开发者ID:dozernz,项目名称:server,代码行数:12,代码来源:thumbAsset.php
示例17: isPendingExport
public function isPendingExport(asset $asset)
{
$key = $asset->getSyncKey(flavorAsset::FILE_SYNC_FLAVOR_ASSET_SUB_TYPE_ASSET);
$c = FileSyncPeer::getCriteriaForFileSyncKey($key);
$c->addAnd(FileSyncPeer::DC, $this->getId(), Criteria::EQUAL);
$fileSync = FileSyncPeer::doSelectOne($c);
if (!$fileSync) {
return false;
}
return $fileSync->getStatus() == FileSync::FILE_SYNC_STATUS_PENDING;
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:11,代码来源:StorageProfile.php
示例18: enforceDelivery
/**
* Ensure the request for media arrived in a way approved by the partner.
* this may include restricting to a specific cdn, enforcing token usage etc..
* Die in case of a breach.
*
* @param entry $entry
* @param asset $asset
*/
public static function enforceDelivery($entry, $asset = null)
{
// block inactive partner
$partnerId = $entry->getPartnerId();
self::blockInactivePartner($partnerId);
// validate serve access control
$flavorParamsId = $asset ? $asset->getFlavorParamsId() : null;
$secureEntryHelper = new KSecureEntryHelper($entry, null, null, ContextType::SERVE);
$secureEntryHelper->validateForServe($flavorParamsId);
// enforce delivery
$partner = PartnerPeer::retrieveByPK($partnerId);
// Note: Partner was already loaded by blockInactivePartner, no need to check for null
$restricted = DeliveryProfilePeer::isRequestRestricted($partner);
if ($restricted) {
KalturaLog::log("DELIVERY_METHOD_NOT_ALLOWED partner [{$partnerId}]");
KExternalErrors::dieError(KExternalErrors::DELIVERY_METHOD_NOT_ALLOWED);
}
}
开发者ID:dozernz,项目名称:server,代码行数:26,代码来源:myPartnerUtils.class.php
示例19: 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;
}
开发者ID:kubrickfr,项目名称:server,代码行数:45,代码来源:kAssetUtils.class.php
示例20: setasset
/**
* Declares an association between this object and a asset object.
*
* @param asset $v
* @return mediaInfo The current object (for fluent API support)
* @throws PropelException
*/
public function setasset(asset $v = null)
{
if ($v === null) {
$this->setFlavorAssetId(NULL);
} else {
$this->setFlavorAssetId($v->getId());
}
$this->aasset = $v;
// Add binding for other direction of this n:n relationship.
// If this object has already been added to the asset object, it will not be re-added.
if ($v !== null) {
$v->addmediaInfo($this);
}
return $this;
}
开发者ID:EfncoPlugins,项目名称:Media-Management-based-on-Kaltura,代码行数:22,代码来源:BasemediaInfo.php
注:本文中的asset类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论