Exemplo n.º 1
0
 /**
  * Allows you to add a new DrmProfile object
  * 
  * @action add
  * @param KalturaDrmProfile $drmProfile
  * @return KalturaDrmProfile
  * 
  * @throws KalturaErrors::PLUGIN_NOT_AVAILABLE_FOR_PARTNER
  * @throws KalturaErrors::INVALID_PARTNER_ID
  * @throws KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL
  * @throws DrmErrors::ACTIVE_PROVIDER_PROFILE_ALREADY_EXIST
  */
 public function addAction(KalturaDrmProfile $drmProfile)
 {
     // check for required parameters
     $drmProfile->validatePropertyNotNull('name');
     $drmProfile->validatePropertyNotNull('status');
     $drmProfile->validatePropertyNotNull('provider');
     $drmProfile->validatePropertyNotNull('partnerId');
     // validate values
     if (!PartnerPeer::retrieveByPK($drmProfile->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $drmProfile->partnerId);
     }
     if (!DrmPlugin::isAllowedPartner($drmProfile->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::PLUGIN_NOT_AVAILABLE_FOR_PARTNER, DrmPlugin::getPluginName(), $drmProfile->partnerId);
     }
     $dbDrmProfile = $drmProfile->toInsertableObject();
     if (DrmProfilePeer::retrieveByProvider($dbDrmProfile->getProvider())) {
         throw new KalturaAPIException(DrmErrors::ACTIVE_PROVIDER_PROFILE_ALREADY_EXIST, $drmProfile->provider);
     }
     // save in database
     $dbDrmProfile->save();
     // return the saved object
     $drmProfile = KalturaDrmProfile::getInstanceByType($dbDrmProfile->getProvider());
     $drmProfile->fromObject($dbDrmProfile, $this->getResponseProfile());
     return $drmProfile;
 }
Exemplo n.º 2
0
 public function initService($serviceId, $serviceName, $actionName)
 {
     parent::initService($serviceId, $serviceName, $actionName);
     if (!DrmPlugin::isAllowedPartner(kCurrentContext::$ks_partner_id)) {
         throw new KalturaAPIException(KalturaErrors::FEATURE_FORBIDDEN, DrmPlugin::PLUGIN_NAME);
     }
 }
Exemplo n.º 3
0
 /**
  * Allows you to add a new DrmPolicy object
  * 
  * @action add
  * @param KalturaDrmPolicy $drmPolicy
  * @return KalturaDrmPolicy
  * 
  * @throws KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL
  */
 public function addAction(KalturaDrmPolicy $drmPolicy)
 {
     // check for required parameters
     $drmPolicy->validatePropertyNotNull('name');
     $drmPolicy->validatePropertyNotNull('status');
     $drmPolicy->validatePropertyNotNull('provider');
     $drmPolicy->validatePropertyNotNull('systemName');
     $drmPolicy->validatePropertyNotNull('scenario');
     $drmPolicy->validatePropertyNotNull('partnerId');
     // validate values
     $drmPolicy->validatePolicy();
     if (!PartnerPeer::retrieveByPK($drmPolicy->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $drmPolicy->partnerId);
     }
     if (!DrmPlugin::isAllowedPartner($drmPolicy->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::PLUGIN_NOT_AVAILABLE_FOR_PARTNER, DrmPlugin::getPluginName(), $drmPolicy->partnerId);
     }
     if (DrmPolicyPeer::retrieveBySystemName($drmPolicy->systemName)) {
         throw new KalturaAPIException(DrmErrors::DRM_POLICY_DUPLICATE_SYSTEM_NAME, $drmPolicy->systemName);
     }
     // save in database
     $dbDrmPolicy = $drmPolicy->toInsertableObject();
     $dbDrmPolicy->save();
     // return the saved object
     $drmPolicy = KalturaDrmPolicy::getInstanceByType($dbDrmPolicy->getProvider());
     $drmPolicy->fromObject($dbDrmPolicy, $this->getResponseProfile());
     return $drmPolicy;
 }
Exemplo n.º 4
0
 public function getSigningKey()
 {
     $key = $this->getFromCustomData(self::CUSTOM_DATA_SIGNING_KEY);
     if (!$key) {
         $key = DrmPlugin::getConfigParam("drm", "signing_key");
     }
     return $key;
 }
Exemplo n.º 5
0
 /**
  * Allows you to add a new DrmDevice in Pending status
  * 
  * @action add
  * @param KalturaDrmDevice $drmDevice
  * @return KalturaDrmDevice
  * 
  * @throws KalturaErrors::PROPERTY_VALIDATION_CANNOT_BE_NULL
  */
 public function addAction(KalturaDrmDevice $drmDevice)
 {
     // check for required parameters
     $drmDevice->validatePropertyNotNull('name');
     $drmDevice->validatePropertyNotNull('provider');
     $drmDevice->validatePropertyNotNull('deviceId');
     $drmDevice->validatePropertyNotNull('partnerId');
     if (!PartnerPeer::retrieveByPK($drmDevice->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $drmDevice->partnerId);
     }
     if (!DrmPlugin::isAllowedPartner($drmDevice->partnerId)) {
         throw new KalturaAPIException(KalturaErrors::PLUGIN_NOT_AVAILABLE_FOR_PARTNER, DrmPlugin::getPluginName(), $drmDevice->partnerId);
     }
     // save in database
     $dbDrmDevice = $drmDevice->toInsertableObject();
     $dbDrmDevice->setStatus(DrmDeviceStatus::PENDING);
     $dbDrmDevice->save();
     // return the saved object
     $drmDevice = KalturaDrmDevice::getInstanceByType($dbDrmDevice->getProvider());
     $drmDevice->fromObject($dbDrmDevice, $this->getResponseProfile());
     return $drmDevice;
 }
Exemplo n.º 6
0
 public static function getWidevineConfigParam($key)
 {
     return DrmPlugin::getConfigParam(self::PLUGIN_NAME, $key);
 }
Exemplo n.º 7
0
 public static function getPlayReadyConfigParam($key)
 {
     return DrmPlugin::getConfigParam(self::PLUGIN_NAME, $key);
 }