Ejemplo n.º 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;
 }
Ejemplo n.º 2
0
 public static function createKvote($entryId, $partnerId, $puserId, $rank, $type = KVoteType::RANK)
 {
     $kvote = new kvote();
     $kvote->setEntryId($entryId);
     $kvote->setStatus(KVoteStatus::VOTED);
     $kvote->setPartnerId($partnerId);
     $kvote->setKvoteType($type);
     $kuser = self::getKuserFromPuserAndPartner($puserId, $partnerId);
     if (!$kuser) {
         $kuser = new kuser();
         $kuser->setPuserId($puserId);
         $kuser->setStatus(KuserStatus::ACTIVE);
         $kuser->save();
     }
     $kvote->setKuserId($kuser->getId());
     $kvote->setRank($rank);
     $kvote->save();
 }
Ejemplo n.º 3
0
 /**
  * Adds a new kuser and user_login_data records as needed
  * @param kuser $user
  * @param string $password
  * @param bool $checkPasswordStructure
  * @throws kUserException::USER_NOT_FOUND
  * @throws kUserException::USER_ALREADY_EXISTS
  * @throws kUserException::INVALID_EMAIL
  * @throws kUserException::INVALID_PARTNER
  * @throws kUserException::ADMIN_LOGIN_USERS_QUOTA_EXCEEDED
  * @throws kUserException::LOGIN_ID_ALREADY_USED
  * @throws kUserException::PASSWORD_STRUCTURE_INVALID
  * @throws kPermissionException::ROLE_ID_MISSING
  * @throws kPermissionException::ONLY_ONE_ROLE_PER_USER_ALLOWED
  */
 public static function addUser(kuser $user, $password = null, $checkPasswordStructure = true, $sendEmail = null)
 {
     if (!$user->getPuserId()) {
         throw new kUserException('', kUserException::USER_ID_MISSING);
     }
     // check if user with the same partner and puserId already exists
     $existingUser = kuserPeer::getKuserByPartnerAndUid($user->getPartnerId(), $user->getPuserId());
     if ($existingUser) {
         throw new kUserException('', kUserException::USER_ALREADY_EXISTS);
     }
     // check if roles are valid - may throw exceptions
     if (!$user->getRoleIds() && $user->getIsAdmin()) {
         // assign default role according to user type admin / normal
         $userRoleId = $user->getPartner()->getAdminSessionRoleId();
         $user->setRoleIds($userRoleId);
     }
     UserRolePeer::testValidRolesForUser($user->getRoleIds(), $user->getPartnerId());
     if ($user->getScreenName() === null) {
         $user->setScreenName($user->getPuserId());
     }
     if ($user->getFullName() === null) {
         $user->setFirstName($user->getPuserId());
     }
     if (is_null($user->getStatus())) {
         $user->setStatus(KuserStatus::ACTIVE);
     }
     // if password is set, user should be able to login to the system - add a user_login_data record
     if ($password || $user->getIsAdmin()) {
         // throws an action on error
         $user->enableLogin($user->getEmail(), $password, $checkPasswordStructure, $sendEmail);
     }
     $user->save();
     return $user;
 }
Ejemplo n.º 4
0
 $c = new Criteria();
 $c->addAnd(kuserPeer::PUSER_ID, '__ADMIN__' . $user->getId(), Criteria::EQUAL);
 $c->addAnd(kuserPeer::PARTNER_ID, $user->getPartnerId(), Criteria::EQUAL);
 $existing_kuser = kuserPeer::doSelectOne($c);
 if ($existing_kuser) {
     $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();
Ejemplo n.º 5
0
 if ($existing_kuser) {
     $new_kuser = $existing_kuser;
     // in case this script is executed more than once
 } else {
     $new_kuser = new kuser();
 }
 $new_login_data = new UserLoginData();
 $new_kuser->setEmail($user->getEmail());
 $new_kuser->setCreatedAt($user->getCreatedAt());
 $new_kuser->setUpdatedAt($user->getUpdatedAt());
 $new_kuser->setScreenName($user->getFirstName() . ' ' . $user->getLastName());
 $new_kuser->setPartnerId($admin_console_partner_id);
 $new_kuser->setFirstName($user->getFirstName());
 $new_kuser->setLastName($user->getLastName());
 if ($user->getStatus() == SystemUser::SYSTEM_USER_ACTIVE) {
     $new_kuser->setStatus(KuserStatus::ACTIVE);
 } else {
     $new_kuser->setStatus(KuserStatus::BLOCKED);
 }
 $new_kuser->setPuserId($user->getEmail());
 $new_kuser->setIsAdmin(true);
 $partnerData = new Kaltura_AdminConsoleUserPartnerData();
 $partnerData->isPrimary = $user->getIsPrimary();
 $partnerData->role = $user->getRole();
 $new_kuser->setPartnerData(serialize($partnerData));
 $c = new Criteria();
 $c->addAnd(UserLoginDataPeer::LOGIN_EMAIL, $user->getEmail());
 $existing_login_data = UserLoginDataPeer::doSelectOne($c);
 if ($existing_login_data) {
     KalturaLog::log('Existing user_login_data record with same email found with id [' . $existing_login_data->getId() . ']');
     if ($existing_login_data->getSalt() == $user->getSalt() && $existing_login_data->getSha1Password() == $user->getSha1Password()) {