private function assertKuser()
 {
     // check copied values
     $this->assertEquals($this->adminKuser->getFullName(), $this->kuser->getFullName(), 'full_name for ' . $this->getParams());
     $this->assertEquals($this->adminKuser->getIcon(), $this->kuser->getIcon(), 'icon for ' . $this->getParams());
     $this->assertEquals('__ADMIN__' . $this->adminKuser->getId(), $this->kuser->getPuserId(), 'puserid for ' . $this->getParams());
     $this->assertEquals($this->adminKuser->getPartnerId(), $this->kuser->getPartnerId(), 'partner_id for ' . $this->getParams());
     $this->assertEquals($this->adminKuser->getPicture(), $this->kuser->getPicture(), 'picture for ' . $this->getParams());
     $this->assertEquals($this->adminKuser->getEmail(), $this->kuser->getEmail(), 'email for ' . $this->getParams());
     $this->assertEquals($this->adminKuser->getScreenName(), $this->kuser->getScreenName(), 'screen_name for ' . $this->getParams());
     // check new values
     $this->assertEquals(true, $this->kuser->getIsAdmin(), 'is_admin for ' . $this->getParams());
     $this->assertEquals($this->kuser->getLoginDataId(), $this->loginData->getId());
 }
 private function assertKuser()
 {
     // check copied values
     $this->assertEquals($this->systemUser->getFirstName(), $this->kuser->getFirstName(), 'first_name for ' . $this->getParams());
     $this->assertEquals($this->systemUser->getLastName(), $this->kuser->getLastName(), 'last_name for ' . $this->getParams());
     $this->assertEquals($this->systemUser->getEmail(), $this->kuser->getPuserId(), 'puserid for ' . $this->getParams());
     $this->assertEquals($this->adminConsolePartnerId, $this->kuser->getPartnerId(), 'partner_id for ' . $this->getParams());
     $this->assertEquals($this->systemUser->getEmail(), $this->kuser->getEmail(), 'email for ' . $this->getParams());
     $this->assertEquals($this->systemUser->getName(), $this->kuser->getScreenName(), 'screen_name for ' . $this->getParams());
     $this->assertEquals($this->systemUser->getName(), $this->kuser->getFullName(), 'full_name for ' . $this->getParams());
     if ($this->systemUser->getStatus == systemUser::SYSTEM_USER_ACTIVE) {
         $this->assertEquals(KuserStatus::ACTIVE, $this->kuser->getStatus(), 'status ' . $this->getParams());
     } else {
         $this->assertEquals(KuserStatus::BLOCKED, $this->kuser->getStatus(), 'status ' . $this->getParams());
     }
     $this->assertEquals($this->systemUser->getDeletedAt(), $this->kuser->getDeletedAt(), 'deleted_at ' . $this->getParams());
     $partnerData = unserialize($this->kuser->getPartnerData());
     var_dump($partnerData);
     $this->assertTrue(get_class($partnerData) === 'Kaltura_AdminConsoleUserPartnerData', 'PartnerData is not of type Kaltura_AdminConsoleUserPartnerData');
     $this->assertEquals($this->systemUser->getIsPrimary(), $partnerData->isPrimary, 'is_primary ' . $this->getParams());
     $this->assertEquals($this->systemUser->getRole(), $partnerData->role, 'role ' . $this->getParams());
     // check new values
     $this->assertEquals(true, $this->kuser->getIsAdmin(), 'is_admin for ' . $this->getParams());
     $this->assertEquals($this->kuser->getLoginDataId(), $this->loginData->getId());
 }
 /**
  * @dataProvider providerTestMigration
  */
 public function testMigration($kuserId)
 {
     $this->assertNull($this->kuser);
     $this->kuser = kuserPeer::retrieveByPK($kuserId);
     $this->assertNotNull($this->kuser);
     $this->assertEquals($this->kuser->getFullName(), trim($this->kuser->getFirstName() . ' ' . $this->kuser->getLastName()));
     if ($this->kuser->getSalt() && $this->kuser->getSha1Password() && in_array($this->kuser->getPartnerId(), $this->loginPartnerIds)) {
         $this->assertTrue($this->kuser->getLoginDataId());
         $loginData1 = UserLoginDataPeer::retrieveByPK($this->kuser->getLoginDataId());
         $this->assertNotNull($loginData1);
         $loginData2 = UserLoginDataPeer::getByEmail($this->kuser->getEmail());
         $this->assertNotNull($loginData2);
         $this->assertEquals($loginData1->getId(), $loginData2->getId());
         $this->assertEquals($this->kuser->getSalt(), $loginData2->getSalt());
         $this->assertEquals($this->kuser->getSha1Password(), $loginData2->getSha1Password());
         $this->assertEquals($this->kuser->getEmail(), $loginData2->getLoginEmail());
         $c = new Criteria();
         $c->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $this->kuser->getEmail());
         $loginDatas = UserLoginDataPeer::doSelect($c);
         $this->assertEquals(count($loginDatas), 1);
         $this->assertEquals($loginDatas[0]->getId(), $loginData1->getId());
         $allKusers = kuserPeer::getByLoginDataAndPartner($this->kuser->getLoginDataId(), $this->kuser->getPartnerId());
         $this->assertEquals(count($allKusers), 1);
     } else {
         if ($this->kuser->getPartnerId() != $this->adminConsolePartnerId && substr($this->kuser->getPuserId(), 0, 9) != '__ADMIN__') {
             $this->assertNull($this->kuser->getLoginDataId());
         }
     }
     if ($this->kuser->getPartnerId() == $this->adminConsolePartnerId || substr($this->kuser->getPuserId(), 0, 9) == '__ADMIN__') {
         $this->assertTrue($this->kuser->getIsAdmin());
     } else {
         $this->assertFalse($this->kuser->getIsAdmin());
     }
     if ($this->kuser->getIsAdmin()) {
         $this->assertTrue($this->kuser->getIsAdmin());
     }
 }
Exemple #4
0
 public static function sendNewUserMail(kuser $user, $existingUser)
 {
     // setup parameters
     $partnerId = $user->getPartnerId();
     $userName = $user->getFullName();
     if (!$userName) {
         $userName = $user->getPuserId();
     }
     $creatorUserName = '******';
     if (!is_null(kCurrentContext::$ks_uid)) {
         $creatorUser = kuserPeer::getKuserByPartnerAndUid($partnerId, kCurrentContext::$ks_uid);
         if ($creatorUser) {
             $creatorUserName = $creatorUser->getFullName();
         }
     }
     $publisherName = PartnerPeer::retrieveByPK($partnerId)->getName();
     $loginEmail = $user->getEmail();
     $roleName = $user->getUserRoleNames();
     $puserId = $user->getPuserId();
     if (!$existingUser) {
         $resetPasswordLink = UserLoginDataPeer::getPassResetLink($user->getLoginData()->getPasswordHashKey());
     }
     $kmcLink = trim(kConf::get('apphome_url'), '/') . '/kmc';
     $adminConsoleLink = trim(kConf::get('admin_console_url'));
     $contactLink = kConf::get('contact_url');
     $beginnersGuideLink = kConf::get('beginners_tutorial_url');
     $quickStartGuideLink = kConf::get('quick_start_guide_url');
     // setup mail
     $mailType = null;
     $bodyParams = array();
     if ($partnerId == Partner::ADMIN_CONSOLE_PARTNER_ID) {
         if ($existingUser) {
             $mailType = self::KALTURA_NEW_EXISTING_USER_ADMIN_CONSOLE_EMAIL;
             $bodyParams = array($userName, $creatorUserName, $loginEmail, $roleName);
         } else {
             $mailType = self::KALTURA_NEW_USER_ADMIN_CONSOLE_EMAIL;
             $bodyParams = array($userName, $creatorUserName, $loginEmail, $resetPasswordLink, $roleName, $adminConsoleLink);
         }
     } else {
         if ($existingUser) {
             $mailType = self::KALTURA_NEW_EXISTING_USER_EMAIL;
             $bodyParams = array($userName, $creatorUserName, $publisherName, $loginEmail, $partnerId, $publisherName, $publisherName, $roleName, $publisherName, $puserId, $kmcLink, $contactLink, $beginnersGuideLink, $quickStartGuideLink);
         } else {
             $mailType = self::KALTURA_NEW_USER_EMAIL;
             $bodyParams = array($userName, $creatorUserName, $publisherName, $loginEmail, $resetPasswordLink, $partnerId, $publisherName, $publisherName, $roleName, $publisherName, $puserId, $kmcLink, $contactLink, $beginnersGuideLink, $quickStartGuideLink);
         }
     }
     // add mail job
     kJobsManager::addMailJob(null, 0, $partnerId, $mailType, kMailJobData::MAIL_PRIORITY_NORMAL, kConf::get("partner_registration_confirmation_email"), kConf::get("partner_registration_confirmation_name"), $loginEmail, $bodyParams);
 }
     $existing_kuser->setFirstName($firstName);
     $existing_kuser->setLastName($lastName);
     $existing_kuser->setEmail($user->getEmail());
     $existing_kuser->setIsAdmin(true);
 } else {
     $new_kuser->setEmail($user->getEmail());
     $new_kuser->setScreenName($user->getScreenName());
     $new_kuser->setPartnerId($user->getPartnerId());
     $new_kuser->setFirstName($firstName);
     $new_kuser->setLastName($lastName);
     $new_kuser->setStatus(KuserStatus::ACTIVE);
     $new_kuser->setIcon($user->getIcon());
     $new_kuser->setPicture($user->getPicture());
     $new_kuser->setPuserId('__ADMIN__' . $user->getId());
     $new_kuser->setIsAdmin(true);
     if ($new_kuser->getPartnerId() == $admin_console_partner_id) {
         $partnerData = new Kaltura_AdminConsoleUserPartnerData();
         $partnerData->isPrimary = null;
         $partnerData->role = null;
         $new_kuser->setPartnerData(serialize($partnerData));
     }
 }
 if (!$dryRun) {
     KalturaLog::log('Saving new user_login_data with the following parameters: ');
     KalturaLog::log(print_r($new_login_data, true));
     $new_login_data->save();
     // save
     if ($existing_kuser) {
         $existing_kuser->setLoginDataId($new_login_data->getId());
         KalturaLog::log('Saving EXISTING kuser with the following parameters: ');
         KalturaLog::log(print_r($existing_kuser, true));
 protected function kuserDelete(kuser $kuser)
 {
     $filter = new categoryKuserFilter();
     $filter->setUserIdEqual($kuser->getPuserId());
     $c = new Criteria();
     $c->add(categoryKuserPeer::PUSER_ID, $kuser->getPuserId());
     if (categoryKuserPeer::doSelectOne($c)) {
         kJobsManager::addDeleteJob($kuser->getPartnerId(), DeleteObjectType::CATEGORY_USER, $filter);
     }
     if ($kuser->getType() == KuserType::USER) {
         // remove user from groups
         KuserKgroupPeer::deleteByKuserId($kuser->getId());
     } elseif ($kuser->getType() == KuserType::GROUP) {
         // remove users from group
         $filter = new KuserKgroupFilter();
         $filter->setGroupIdEqual($kuser->getPuserId());
         $c = new Criteria();
         $c->add(KuserKgroupPeer::PGROUP_ID, $kuser->getPuserId());
         if (KuserKgroupPeer::doSelectOne($c)) {
             kJobsManager::addDeleteJob($kuser->getPartnerId(), DeleteObjectType::GROUP_USER, $filter);
         }
     }
 }
 protected function kuserDelete(kuser $kuser)
 {
     $filter = new categoryKuserFilter();
     $filter->setUserIdEqual($kuser->getPuserId());
     kJobsManager::addDeleteJob($kuser->getPartnerId(), DeleteObjectType::CATEGORY_USER, $filter);
 }