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; }
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(); } } }
/** * 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);
<?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;