Example #1
0
 /**
 	Returns newly created puser - after creating it's corresponding kuser.
 	If the puser_kuser already exists && $verify_not_exists==true , don't create a new one and return the existing one
 */
 public static function createPuserKuser($partner_id, $subp_id, $puser_id, $kuser_name, $puser_name, $create_kuser = false, $kuser = null)
 {
     $puser_kuser = self::retrieveByPartnerAndUid($partner_id, $subp_id, $puser_id, true);
     if (!$kuser) {
         $kuser = kuserPeer::getKuserByPartnerAndUid($partner_id, $puser_id, true);
         // don't create an existing kuser!
     }
     if ($puser_kuser) {
         if (!$create_kuser) {
             // if the puser_kuser already exists - don't re-create it
             $puser_kuser->exists = true;
             return $puser_kuser;
         } else {
             // puser_kuser exists but it's OK
             // this might be the case where we don't mind creating a new one each time
         }
     } else {
         $puser_kuser = new PuserKuser();
     }
     $c = new Criteria();
     $c->add(self::PARTNER_ID, $partner_id);
     $c->add(self::PUSER_ID, $puser_id);
     $partner_puser_kuser = self::doSelectOne($c);
     if ($kuser !== null) {
         $kuser_id = $kuser->getId();
     } else {
         if ($partner_puser_kuser) {
             $kuser_id = $partner_puser_kuser->getKuserId();
             $kuser = kuserPeer::retrieveByPK($kuser_id);
         } else {
             // create kuser for this puser
             $kuser = new kuser();
             $kuser->setScreenName($kuser_name);
             list($firstName, $lastName) = kString::nameSplit($kuser_name);
             $kuser->setFirstName($firstName);
             $kuser->setLastName($lastName);
             $kuser->setPartnerId($partner_id);
             // set puserId for forward compatibility with PS3
             $kuser->setPuserId($puser_id);
             $kuser->setStatus(KuserStatus::ACTIVE);
             // so he won't appear in the search
             $kuser->save();
             $kuser_id = $kuser->getId();
         }
     }
     $puser_kuser->setPartnerId($partner_id);
     $puser_kuser->setSubpId($subp_id);
     $puser_kuser->setPuserId($puser_id);
     $puser_kuser->setKuserId($kuser_id);
     $puser_kuser->setPuserName($puser_name);
     $puser_kuser->save();
     $puser_kuser->setkuser($kuser);
     return $puser_kuser;
 }
 public function setFullName($v)
 {
     // full_name column is deprecated
     KalturaLog::ALERT('Field [full_name] on object [kuser] is deprecated');
     list($firstName, $lastName) = kString::nameSplit($v);
     $this->setFirstName($firstName);
     $this->setLastName($lastName);
 }
 }
 $lastUser = $user->getId();
 KalturaLog::log('-- admin kuser id ' . $lastUser);
 if ($user->getPartnerId() == PartnerPeer::GLOBAL_PARTNER) {
     KalturaLog::log('Skipping partner 0');
     continue;
 }
 $new_kuser = new kuser();
 $new_login_data = new UserLoginData();
 $partner = PartnerPeer::retrieveByPK($user->getPartnerId());
 if (!$partner) {
     KalturaLog::alert('!!! ERROR - Partner ID [' . $user->getPartnerId() . '] not found on DB but set for admin user id [' . $lastUser . '] !!!');
     echo '!!! ERROR - Partner ID [' . $user->getPartnerId() . '] not found on DB but set for admin user id [' . $lastUser . '] !!!';
     continue;
 }
 list($firstName, $lastName) = kString::nameSplit($user->getFullName());
 $c = new Criteria();
 $c->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $user->getEmail());
 $existing_login_data = UserLoginDataPeer::doSelectOne($c);
 if ($existing_login_data) {
     if ($user->getPartnerId() === $existing_login_data->getConfigPartnerId()) {
         $checkKuser = kuserPeer::getByLoginDataAndPartner($existing_login_data->getId(), $user->getPartnerId());
         if ($checkKuser && $checkKuser->getIsAdmin()) {
             KalturaLog::notice('!!! NOTICE - Existing ADMIN login data found with id [' . $existing_login_data->getId() . '] partner [' . $existing_login_data->getConfigPartnerId() . '] - skipping user id [' . $lastUser . '] of partner [' . $user->getPartnerId() . '] since this was probably caused by a bug');
             echo '!!! NOTICE - Existing ADMIN login data found with id [' . $existing_login_data->getId() . '] partner [' . $existing_login_data->getConfigPartnerId() . '] - skipping user id [' . $lastUser . '] of partner [' . $user->getPartnerId() . '] since this was probably caused by a bug';
             continue;
         }
     }
     KalturaLog::alert('!!! ERROR - Existing login data found with id [' . $existing_login_data->getId() . '] partner [' . $existing_login_data->getConfigPartnerId() . '] - skipping user id [' . $lastUser . '] of partner [' . $user->getPartnerId() . '] !!!!');
     echo '!!! ERROR - Existing login data found with id [' . $existing_login_data->getId() . '] partner [' . $existing_login_data->getConfigPartnerId() . '] - skipping user id [' . $lastUser . '] of partner [' . $user->getPartnerId() . '] !!!!';
     continue;
Example #4
0
 public function toObject($dbObject = null, $skip = array())
 {
     if (is_null($dbObject)) {
         $dbObject = new kuser();
     }
     parent::toObject($dbObject, $skip);
     // full name is deprecated and was split to firstName + lastName
     // this is for backward compatibility with older clients
     if ($this->fullName && !$this->firstName) {
         list($firstName, $lastName) = kString::nameSplit($this->fullName);
         $dbObject->setFirstName($firstName);
         $dbObject->setLastName($lastName);
     }
     return $dbObject;
 }
 private function createNewAdminKuser($newPartner, $existing_password)
 {
     // generate a new password if not given
     if ($existing_password != null) {
         $password = $existing_password;
     } else {
         $password = UserLoginDataPeer::generateNewPassword();
     }
     // create the user
     $kuser = new kuser();
     $kuser->setEmail($newPartner->getAdminEmail());
     list($firstName, $lastName) = kString::nameSplit($newPartner->getAdminName());
     $kuser->setFirstName($firstName);
     $kuser->setLastName($lastName);
     $kuser->setPartnerId($newPartner->getId());
     $kuser->setIsAdmin(true);
     $kuser->setPuserId($newPartner->getAdminEmail());
     $kuser = kuserPeer::addUser($kuser, $password, false, false);
     //this also saves the kuser and adds a user_login_data record
     $loginData = UserLoginDataPeer::retrieveByPK($kuser->getLoginDataId());
     return array($password, $loginData->getPasswordHashKey(), $kuser->getId());
 }