Beispiel #1
0
 /**
  * Cleans up the environment after running a test.
  */
 protected function tearDown()
 {
     kuserPeer::clearInstancePool();
     UserLoginDataPeer::clearInstancePool();
     kuserPeer::setDefaultCriteriaFilter(false);
     UserLoginDataPeer::setUseCriteriaFilter(false);
     $this->clientConfig = null;
     $this->client = null;
     $this->nextUserId = null;
     foreach ($this->createdDbObjects as $obj) {
         try {
             if (get_class($obj) == 'kuser') {
                 $updated = kuserPeer::retrieveByPK($obj->getId());
                 if ($updated) {
                     $loginData = UserLoginDataPeer::retrieveByPK($updated->getLoginDataId());
                     if ($loginData) {
                         $loginData->delete();
                     }
                 }
             }
             $obj->delete();
         } catch (PropelException $e) {
         }
     }
     parent::tearDown();
 }
Beispiel #2
0
 /**
  * Returns the default criteria filter
  *
  * @return     criteriaFilter The default criteria filter.
  */
 public static function &getCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         kuserPeer::setDefaultCriteriaFilter();
     }
     return self::$s_criteria_filter;
 }
Beispiel #3
0
 /**
  * Returns the default criteria filter
  *
  * @return     criteriaFilter The default criteria filter.
  */
 public static function &getCriteriaFilter()
 {
     if (self::$s_criteria_filter == null) {
         kuserPeer::setDefaultCriteriaFilter();
     }
     $partnerCriteria = myPartnerUtils::getPartnerCriteriaParams('kuser');
     if ($partnerCriteria) {
         call_user_func_array(array('kuserPeer', 'addPartnerToCriteria'), $partnerCriteria);
     }
     return self::$s_criteria_filter;
 }
 /**
  * Get a session using user email and password
  * 
  * @param string $puserId
  * @param string $loginEmail
  * @param string $password
  * @param int $partnerId
  * @param int $expiry
  * @param string $privileges
  * 
  * @return string KS
  *
  * @throws KalturaErrors::USER_NOT_FOUND
  * @thrown KalturaErrors::LOGIN_RETRIES_EXCEEDED
  * @thrown KalturaErrors::LOGIN_BLOCKED
  * @thrown KalturaErrors::PASSWORD_EXPIRED
  * @thrown KalturaErrors::INVALID_PARTNER_ID
  * @thrown KalturaErrors::INTERNAL_SERVERL_ERROR
  * @throws KalturaErrors::USER_IS_BLOCKED
  */
 protected function loginImpl($puserId, $loginEmail, $password, $partnerId = null, $expiry = 86400, $privileges = '*')
 {
     KalturaResponseCacher::disableCache();
     kuserPeer::setDefaultCriteriaFilter();
     kuserPeer::setUseCriteriaFilter(true);
     // if a KS of a specific partner is used, don't allow logging in to a different partner
     if ($this->getPartnerId() && $partnerId && $this->getPartnerId() != $partnerId) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $partnerId);
     }
     try {
         if ($loginEmail) {
             $user = UserLoginDataPeer::userLoginByEmail($loginEmail, $password, $partnerId);
         } else {
             $user = kuserPeer::userLogin($puserId, $password, $partnerId);
         }
     } catch (kUserException $e) {
         $code = $e->getCode();
         if ($code == kUserException::LOGIN_DATA_NOT_FOUND) {
             throw new KalturaAPIException(KalturaErrors::USER_NOT_FOUND);
         }
         if ($code == kUserException::USER_NOT_FOUND) {
             throw new KalturaAPIException(KalturaErrors::USER_NOT_FOUND);
         } else {
             if ($code == kUserException::LOGIN_RETRIES_EXCEEDED) {
                 throw new KalturaAPIException(KalturaErrors::LOGIN_RETRIES_EXCEEDED);
             } else {
                 if ($code == kUserException::LOGIN_BLOCKED) {
                     throw new KalturaAPIException(KalturaErrors::LOGIN_BLOCKED);
                 } else {
                     if ($code == kUserException::PASSWORD_EXPIRED) {
                         throw new KalturaAPIException(KalturaErrors::PASSWORD_EXPIRED);
                     } else {
                         if ($code == kUserException::WRONG_PASSWORD) {
                             throw new KalturaAPIException(KalturaErrors::USER_WRONG_PASSWORD);
                         } else {
                             if ($code == kUserException::USER_IS_BLOCKED) {
                                 throw new KalturaAPIException(KalturaErrors::USER_IS_BLOCKED);
                             }
                         }
                     }
                 }
             }
         }
         throw new $e();
     }
     if (!$user) {
         throw new KalturaAPIException(KalturaErrors::LOGIN_DATA_NOT_FOUND);
     }
     if ($partnerId && $user->getPartnerId() != $partnerId || $this->getPartnerId() && !$partnerId && $user->getPartnerId() != $this->getPartnerId()) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $partnerId);
     }
     $partner = PartnerPeer::retrieveByPK($user->getPartnerId());
     if (!$partner || $partner->getStatus() == Partner::PARTNER_STATUS_FULL_BLOCK) {
         throw new KalturaAPIException(KalturaErrors::INVALID_PARTNER_ID, $user->getPartnerId());
     }
     $ks = null;
     $admin = $user->getIsAdmin() ? KalturaSessionType::ADMIN : KalturaSessionType::USER;
     // create a ks for this admin_kuser as if entered the admin_secret using the API
     kSessionUtils::createKSessionNoValidations($partner->getId(), $user->getPuserId(), $ks, $expiry, $admin, "", $privileges);
     return $ks;
 }