/**
  * @param Partner $partner
  */
 public function apply(Partner $partner)
 {
     if ($this->isNull('max')) {
         $this->max = null;
     }
     if ($this->isNull('overagePrice')) {
         $this->overagePrice = null;
     }
     if ($this->isNull('overageUnit')) {
         $this->overageUnit = null;
     }
     switch ($this->type) {
         case KalturaSystemPartnerLimitType::ENTRIES:
             $partner->setEntriesQuota($this->max);
             $partner->setEntriesOveragePrice($this->overagePrice);
             $partner->setEntriesOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::MONTHLY_STREAM_ENTRIES:
             $partner->setStreamEntriesQuota($this->max);
             $partner->setStreamEntriesOveragePrice($this->overagePrice);
             $partner->setStreamEntriesOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::MONTHLY_BANDWIDTH:
             $partner->setBandwidthQuota($this->max);
             $partner->setBandwidthOveragePrice($this->overagePrice);
             $partner->setBandwidthOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::PUBLISHERS:
             $partner->setPublishersQuota($this->max);
             $partner->setPublishersOveragePrice($this->overagePrice);
             $partner->setPublishersOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::LOGIN_USERS:
             $partner->setLoginUsersQuota($this->max);
             $partner->setLoginUsersOveragePrice($this->overagePrice);
             $partner->setLoginUsersOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::ADMIN_LOGIN_USERS:
             $partner->setAdminLoginUsersQuota($this->max);
             $partner->setAdminLoginUsersOveragePrice($this->overagePrice);
             $partner->setAdminLoginUsersOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::BULK_SIZE:
             $partner->setMaxBulkSize($this->max);
             $partner->setMaxBulkSizeOveragePrice($this->overagePrice);
             $partner->setMaxBulkSizeOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::MONTHLY_STORAGE:
             $partner->setMonthlyStorage($this->max);
             $partner->setMonthlyStorageOveragePrice($this->overagePrice);
             $partner->setMonthlyStorageOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::MONTHLY_STORAGE_AND_BANDWIDTH:
             $partner->setMonthlyStorageAndBandwidth($this->max);
             $partner->setMonthlyStorageAndBandwidthOveragePrice($this->overagePrice);
             $partner->setMonthlyStorageAndBandwidthOverageUnit($this->overageUnit);
             break;
         case KalturaSystemPartnerLimitType::END_USERS:
             $partner->setEndUsers($this->max);
             $partner->setEndUsersOveragePrice($this->overagePrice);
             $partner->setEndUsersOverageUnit($this->overageUnit);
             break;
     }
     parent::apply($partner);
 }
示例#2
0
 public static function copyTemplateContent(Partner $fromPartner, Partner $toPartner, $dontCopyUsers = false)
 {
     $toPartner->setAdminLoginUsersQuota($fromPartner->getAdminLoginUsersQuota());
     $toPartner->save();
     kEventsManager::raiseEvent(new kObjectCopiedEvent($fromPartner, $toPartner));
     self::copyAccessControls($fromPartner, $toPartner);
     self::copyFlavorParams($fromPartner, $toPartner);
     self::copyConversionProfiles($fromPartner, $toPartner);
     self::copyEntriesByType($fromPartner, $toPartner, entryType::MEDIA_CLIP, $dontCopyUsers);
     self::copyEntriesByType($fromPartner, $toPartner, entryType::PLAYLIST, $dontCopyUsers);
     self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_WIDGET);
     self::copyUiConfsByType($fromPartner, $toPartner, uiConf::UI_CONF_TYPE_KDP3);
     self::copyUserRoles($fromPartner, $toPartner);
     self::copyPermissions($fromPartner, $toPartner);
 }
示例#3
0
 /**
  * Tests UserService->listAction()
  */
 public function testListAction()
 {
     // check list by isAdmin and loginEnabled
     $this->dummyPartner->setAdminLoginUsersQuota(30);
     $this->dummyPartner->save();
     $this->startSession(KalturaSessionType::ADMIN, null);
     $adminLoginNum = 2;
     $normalNoLoginNum = 3;
     $normalLoginNum = 4;
     $adminLogin = array();
     for ($i = 0; $i < $adminLoginNum; $i++) {
         $newUser = $this->createUser(true, true, 'adminLogin');
         $this->addUser($newUser);
         $adminLogin[] = $newUser;
     }
     $normalNoLogin = array();
     for ($i = 0; $i < $normalNoLoginNum; $i++) {
         $newUser = $this->createUser(false, false, 'normalNoLogin');
         $this->addUser($newUser);
         $normalNoLogin[] = $newUser;
     }
     $normalLogin = array();
     for ($i = 0; $i < $normalLoginNum; $i++) {
         $newUser = $this->createUser(true, false, 'normalLogin');
         $this->addUser($newUser);
         $normalLogin[] = $newUser;
     }
     $adminNoLoginFilter = new KalturaUserFilter();
     $adminNoLoginFilter->isAdminEqual = true;
     $adminNoLoginFilter->loginEnabledEqual = false;
     $adminLoginFilter = new KalturaUserFilter();
     $adminLoginFilter->isAdminEqual = true;
     $adminLoginFilter->loginEnabledEqual = true;
     $normalNoLoginFilter = new KalturaUserFilter();
     $normalNoLoginFilter->isAdminEqual = false;
     $normalNoLoginFilter->loginEnabledEqual = false;
     $normalLoginFilter = new KalturaUserFilter();
     $normalLoginFilter->isAdminEqual = false;
     $normalLoginFilter->loginEnabledEqual = true;
     $adminNoLoginList = $this->client->user->listAction($adminNoLoginFilter);
     $adminLoginList = $this->client->user->listAction($adminLoginFilter);
     $normalNoLoginList = $this->client->user->listAction($normalNoLoginFilter);
     $normalLoginList = $this->client->user->listAction($normalLoginFilter);
     // verify number of users
     $this->assertEquals(0, count($adminNoLoginList->objects));
     $this->assertEquals(0, $adminNoLoginList->totalCount);
     $this->assertEquals($adminLoginNum + 1, count($adminLoginList->objects));
     // 1 admin login user already existed
     $this->assertEquals($adminLoginNum + 1, $adminLoginList->totalCount);
     $this->assertEquals($normalNoLoginNum, count($normalNoLoginList->objects));
     $this->assertEquals($normalNoLoginNum, $normalNoLoginList->totalCount);
     $this->assertEquals($normalLoginNum, count($normalLoginList->objects));
     $this->assertEquals($normalLoginNum, $normalLoginList->totalCount);
     for ($i = 0; $i < $adminLoginNum; $i++) {
         //$this->assertEquals($adminLogin[$i]->id, $adminLoginList->objects[$i+1]->id);
     }
     for ($i = 0; $i < $normalNoLoginNum; $i++) {
         $this->assertEquals($normalNoLogin[$i]->id, $normalNoLoginList->objects[$i]->id);
     }
     for ($i = 0; $i < $normalLoginNum; $i++) {
         $this->assertEquals($normalLogin[$i]->id, $normalLoginList->objects[$i]->id);
     }
     $listResponse = $this->client->user->listAction();
     $allUsers = $listResponse->objects;
     foreach ($allUsers as $user) {
         // check that all returned users are of type KalturaUser
         $this->assertType('KalturaUser', $user);
         // check that only current partner's users were returned
         $this->assertEquals(self::TEST_PARTNER_ID, $user->partnerId);
         // check that deleted users are not returned
         $this->assertNotEquals(KalturaUserStatus::DELETED, $user->status);
     }
     // check that total count is right
     $this->assertEquals(count($allUsers), $listResponse->totalCount);
 }
    }
    $key = "";
    for ($i = 0; $i < $length; $i++) {
        $key .= $charset[mt_rand(0, strlen($charset) - 1)];
    }
    return md5($key);
}
$partner = new Partner();
$partner->setId(-3);
$partner->setPartnerName('Hosted Pages');
$partner->setPartnerAlias('Hosted Pages');
$partner->setDescription('Build-in partner - used for hosted pages');
$partner->setSecret(generateSecret());
$partner->setAdminSecret(generateSecret());
$partner->setMaxNumberOfHitsPerDay(-1);
$partner->setAppearInSearch(mySearchUtils::DISPLAY_IN_SEARCH_NONE);
$partner->setInvalidLoginCount(0);
$partner->setKsMaxExpiryInSeconds(86400);
$partner->setCreateUserOnDemand(false);
$partner->setCommercialUse(false);
$partner->setModerateContent(false);
$partner->setNotify(false);
$partner->setIsFirstLogin(true);
$partner->setAdminLoginUsersQuota(0);
$partner->setStatus(Partner::PARTNER_STATUS_ACTIVE);
$partner->setType(PartnerGroupType::PUBLISHER);
$criteria = $partner->buildCriteria();
$criteria->setDbName(PartnerPeer::DATABASE_NAME);
$con = Propel::getConnection(PartnerPeer::DATABASE_NAME, Propel::CONNECTION_WRITE);
$id = BasePeer::doInsert($criteria, $con);
echo "Created partner [{$id}]\n";