public function fromObject($sourceObject) { parent::fromObject($sourceObject); $this->mediaFiles = KalturaDistributionRemoteMediaFileArray::fromDbArray($sourceObject->getMediaFiles()); if (!$this->distributionProfileId) { return; } if (!$this->entryDistributionId) { return; } $distributionProfile = DistributionProfilePeer::retrieveByPK($this->distributionProfileId); if (!$distributionProfile || $distributionProfile->getStatus() != DistributionProfileStatus::ENABLED) { return; } $this->distributionProfile = KalturaDistributionProfileFactory::createKalturaDistributionProfile($distributionProfile->getProviderType()); $this->distributionProfile->fromObject($distributionProfile); $entryDistribution = EntryDistributionPeer::retrieveByPK($this->entryDistributionId); if ($entryDistribution) { $this->entryDistribution = new KalturaEntryDistribution(); $this->entryDistribution->fromObject($entryDistribution); } $providerType = $sourceObject->getProviderType(); if ($providerType) { if ($providerType == KalturaDistributionProviderType::GENERIC) { $this->providerData = new KalturaGenericDistributionJobProviderData($this); } else { $this->providerData = KalturaPluginManager::loadObject('KalturaDistributionJobProviderData', $providerType, array($this)); } $providerData = $sourceObject->getProviderData(); if ($this->providerData && $providerData && $providerData instanceof kDistributionJobProviderData) { $this->providerData->fromObject($providerData); } } }
public static function fromDbArray($arr) { $newArr = new KalturaDistributionProfileArray(); if ($arr == null) { return $newArr; } foreach ($arr as $obj) { $nObj = KalturaDistributionProfileFactory::createKalturaDistributionProfile($obj->getProviderType()); if (!$nObj) { KalturaLog::err("Distribution Profile Factory could not find matching profile type for provider [" . $obj->getProviderType() . "]"); continue; } $nObj->fromObject($obj); $newArr[] = $nObj; } return $newArr; }
/** * Update Distribution Profile status by id * * @action updateStatus * @param int $id * @param KalturaDistributionProfileStatus $status * @return KalturaDistributionProfile * @throws ContentDistributionErrors::DISTRIBUTION_PROFILE_NOT_FOUND */ function updateStatusAction($id, $status) { $dbDistributionProfile = DistributionProfilePeer::retrieveByPK($id); if (!$dbDistributionProfile) { throw new KalturaAPIException(ContentDistributionErrors::DISTRIBUTION_PROFILE_NOT_FOUND, $id); } $dbDistributionProfile->setStatus($status); $dbDistributionProfile->save(); $distributionProfile = KalturaDistributionProfileFactory::createKalturaDistributionProfile($dbDistributionProfile->getProviderType()); $distributionProfile->fromObject($dbDistributionProfile); return $distributionProfile; }