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; }
public function contributeToEntryContextDataResult(entry $entry, KalturaEntryContextDataParams $contextDataParams, KalturaEntryContextDataResult $result) { if ($this->shouldContribute($entry)) { $signingKey = $this->getSigningKey(); if (!is_null($signingKey)) { KalturaLog::info("Signing key is '{$signingKey}'"); $customDataJson = DrmLicenseUtils::createCustomData($entry->getId(), $result->flavorAssets, $signingKey); $drmContextData = new KalturaDrmEntryContextPluginData(); $drmContextData->flavorData = $customDataJson; $result->pluginData[get_class($drmContextData)] = $drmContextData; } } }
public function calculateLicenseDates(PlayReadyPolicy $policy, entry $entry) { $expirationDate = null; $removalDate = null; $expirationDate = DrmLicenseUtils::calculateExpirationDate($policy, $entry); switch ($policy->getLicenseRemovalPolicy()) { case PlayReadyLicenseRemovalPolicy::FIXED_FROM_EXPIRATION: $removalDate = $expirationDate + dateUtils::DAY * $policy->getLicenseRemovalDuration(); break; case PlayReadyLicenseRemovalPolicy::ENTRY_SCHEDULING_END: $removalDate = $entry->getEndDate(); break; } //override begin and expiration dates from ks if passed if (kCurrentContext::$ks_object) { $privileges = kCurrentContext::$ks_object->getPrivileges(); $allParams = explode(',', $privileges); foreach ($allParams as $param) { $exParam = explode(':', $param); if ($exParam[0] == self::PLAY_READY_BEGIN_DATE_PARAM) { $beginDate = $exParam[1]; } if ($exParam[0] == self::PLAY_READY_EXPIRATION_DATE_PARAM) { $expirationDate = $exParam[1]; } } } return array($beginDate, $expirationDate, $removalDate); }
public function contributeToEntryContextDataResult($entryId, KalturaEntryContextDataParams $contextDataParams, KalturaEntryContextDataResult $result) { KalturaLog::debug("Drm contributing to context data"); $signingKey = $this->getSigningKey(); if (!is_null($signingKey)) { KalturaLog::debug("Signing key is '{$signingKey}'"); $customDataJson = DrmLicenseUtils::createCustomData($entryId, $result->flavorAssets, $signingKey); $drmContextData = new KalturaDrmEntryContextPluginData(); $drmContextData->flavorData = $customDataJson; $result->pluginData[get_class($drmContextData)] = $drmContextData; } }