public function getListResponse(KalturaFilterPager $pager, KalturaDetachedResponseProfile $responseProfile = null)
 {
     $accessControlFilter = $this->toObject();
     $c = new Criteria();
     $accessControlFilter->attachToCriteria($c);
     $totalCount = accessControlPeer::doCount($c);
     $pager->attachToCriteria($c);
     $dbList = accessControlPeer::doSelect($c);
     $list = KalturaAccessControlArray::fromDbArray($dbList, $responseProfile);
     $response = new KalturaAccessControlListResponse();
     $response->objects = $list;
     $response->totalCount = $totalCount;
     return $response;
 }
예제 #2
0
 public static function copyAccessControls(Partner $fromPartner, Partner $toPartner)
 {
     $copiedList = array();
     KalturaLog::log("Copying access control profiles from partner [" . $fromPartner->getId() . "] to partner [" . $toPartner->getId() . "]");
     $c = new Criteria();
     $c->add(accessControlPeer::PARTNER_ID, $fromPartner->getId());
     $accessControls = accessControlPeer::doSelect($c);
     foreach ($accessControls as $accessControl) {
         $newAccessControl = $accessControl->copy();
         $newAccessControl->setPartnerId($toPartner->getId());
         $newAccessControl->save();
         KalturaLog::log("Copied [" . $accessControl->getId() . "], new id is [" . $newAccessControl->getId() . "]");
         $copiedList[$accessControl->getId()] = $newAccessControl->getId();
     }
     $toPartner->save();
     // make sure access control profile is set on the new partner
     if (!$toPartner->getDefaultAccessControlId()) {
         $fromPartnerAccessControl = $fromPartner->getDefaultAccessControlId();
         if ($fromPartnerAccessControl && key_exists($fromPartnerAccessControl, $copiedList)) {
             $toPartner->setDefaultAccessControlId($copiedList[$fromPartnerAccessControl]);
             $toPartner->save();
         }
     }
 }
예제 #3
0
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(accessControlPeer::DATABASE_NAME);
         $criteria->add(accessControlPeer::ID, $pks, Criteria::IN);
         $objs = accessControlPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
 /**
  * List Access Control Profiles by filter and pager
  * 
  * @action list
  * @param KalturaFilterPager $filter
  * @param KalturaAccessControlFilter $pager
  * @return KalturaAccessControlListResponse
  */
 function listAction(KalturaAccessControlFilter $filter = null, KalturaFilterPager $pager = null)
 {
     if (!$filter) {
         $filter = new KalturaAccessControlFilter();
     }
     if (!$pager) {
         $pager = new KalturaFilterPager();
     }
     $accessControlFilter = new accessControlFilter();
     $filter->toObject($accessControlFilter);
     $c = new Criteria();
     $accessControlFilter->attachToCriteria($c);
     $totalCount = accessControlPeer::doCount($c);
     $pager->attachToCriteria($c);
     $dbList = accessControlPeer::doSelect($c);
     $list = KalturaAccessControlArray::fromDbArray($dbList);
     $response = new KalturaAccessControlListResponse();
     $response->objects = $list;
     $response->totalCount = $totalCount;
     return $response;
 }
        $this->policyId = $policyId;
    }
}
$permCrit = new Criteria();
$permCrit->add(PermissionPeer::NAME, 'PLAYREADY_PLUGIN_PERMISSION', Criteria::EQUAL);
$permCrit->addAnd(PermissionPeer::STATUS, 1, Criteria::EQUAL);
$permissions = PermissionPeer::doSelect($permCrit);
$partners = array();
foreach ($permissions as $perm) {
    $partners[] = $perm->getPartnerId();
}
KalturaLog::debug("Partners are '" . print_r($partners, true) . "'");
$c = new Criteria();
$c->add(accessControlPeer::PARTNER_ID, $partners, Criteria::IN);
$c->addAnd(accessControlPeer::RULES, '%kAccessControlPlayReadyPolicyAction%', Criteria::LIKE);
$acs = accessControlPeer::doSelect($c);
foreach ($acs as $ac) {
    KalturaLog::debug("checking access control '" . $ac->getId() . "'");
    $rules = $ac->getRulesArray();
    foreach ($rules as $rule) {
        $actions = $rule->getActions();
        $j = 0;
        foreach ($actions as $action) {
            KalturaLog::debug("checking action '" . print_r($action, true) . "'");
            if (get_class($action) == 'kAccessControlPlayReadyPolicyAction') {
                KalturaLog::debug("replacing kAccessControlPlayReadyPolicyAction with kAccessControlDrmPolicyAction");
                $newAction = new kAccessControlDrmPolicyAction();
                $newAction->setPolicyId($action->getPolicyId());
                $actions[$j] = $newAction;
                $rule->setActions($actions);
                $ac->setRulesArray($rules);
예제 #6
0
<?php

require_once dirname(__FILE__) . '/../bootstrap.php';
$limit = 200;
if ($argc > 1) {
    $limit = $argv[1];
}
$criteria = new Criteria();
if ($argc < 3 || intval($argv[2])) {
    $criteria->add(accessControlPeer::RULES, null, Criteria::ISNULL);
}
$criteria->addAscendingOrderByColumn(accessControlPeer::ID);
$criteria->setLimit($limit);
$accessControls = accessControlPeer::doSelect($criteria);
while (count($accessControls)) {
    echo "Migrating [" . count($accessControls) . "] access control profiles." . PHP_EOL;
    $lastId = null;
    foreach ($accessControls as $accessControl) {
        /* @var $accessControl accessControl */
        $accessControl->setRulesArray($accessControl->getRulesArray(true));
        $accessControl->save();
        $lastId = $accessControl->getId();
        echo "Migrated access control profile [{$lastId}]." . PHP_EOL;
    }
    kMemoryManager::clearMemory();
    $nextCriteria = clone $criteria;
    $nextCriteria->add(accessControlPeer::ID, $lastId, Criteria::GREATER_THAN);
    $accessControls = accessControlPeer::doSelect($nextCriteria);
}
echo "Done." . PHP_EOL;