예제 #1
0
 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;
 }
예제 #2
0
 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;
         }
     }
 }
예제 #3
0
 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);
 }
예제 #4
0
파일: DrmPlugin.php 프로젝트: AdiTal/server
 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;
     }
 }