public function executeImpl($partner_id, $subp_id, $puser_id, $partner_prefix, $puser_kuser)
 {
     defPartnerservices2baseAction::disableCache();
     $email = trim($this->getPM("adminKuser_email"));
     $new_email = trim($this->getP("new_email"));
     $old_password = trim($this->getPM("adminKuser_password", null));
     $password = trim($this->getPM("new_password", null));
     if ($new_email) {
         if (!kString::isEmailString($new_email)) {
             $f_name = "new_email";
             $this->addException(APIErrors::INVALID_FIELD_VALUE, $f_name);
         }
     }
     try {
         UserLoginDataPeer::updateLoginData($email, $old_password, $new_email, $password);
     } catch (kUserException $e) {
         $code = $e->getCode();
         if ($code == kUserException::LOGIN_DATA_NOT_FOUND) {
             $this->addException(APIErrors::ADMIN_KUSER_NOT_FOUND);
             return null;
         }
         if ($code == kUserException::WRONG_PASSWORD) {
             $this->addException(APIErrors::ADMIN_KUSER_WRONG_OLD_PASSWORD);
             return null;
         }
         if ($code == kUserException::PASSWORD_STRUCTURE_INVALID) {
             $this->addException(APIErrors::PASSWORD_STRUCTURE_INVALID);
             return null;
         }
         if ($code == kUserException::PASSWORD_ALREADY_USED) {
             $this->addException(APIErrors::PASSWORD_ALREADY_USED);
             return null;
         }
         if ($code == kUserException::INVALID_EMAIL) {
             $this->addException(APIErrors::INVALID_FIELD_VALUE, 'new_email');
             return null;
         }
         if ($code == kUserException::LOGIN_ID_ALREADY_USED) {
             $this->addException(APIErrors::LOGIN_ID_ALREADY_USED);
             return null;
         }
         throw $e;
     }
     if ($new_email) {
         $this->addMsg("new_email", $new_email);
     }
     $this->addMsg("new_password", $password);
 }
Esempio n. 2
0
 /**
  * Update admin user password and email
  * 
  * @param string $email
  * @param string $password
  * @param string $newEmail Optional, provide only when you want to update the email
  * @param string $newPassword
  *
  * @throws KalturaErrors::INVALID_FIELD_VALUE
  * @throws KalturaErrors::LOGIN_DATA_NOT_FOUND
  * @throws KalturaErrors::WRONG_OLD_PASSWORD
  * @throws KalturaErrors::PASSWORD_STRUCTURE_INVALID
  * @throws KalturaErrors::PASSWORD_ALREADY_USED
  * @throws KalturaErrors::LOGIN_ID_ALREADY_USED
  */
 protected function updateLoginDataImpl($email, $password, $newEmail = "", $newPassword = "", $newFirstName, $newLastName)
 {
     KalturaResponseCacher::disableCache();
     $this->validateApiAccessControlByEmail($email);
     if ($newEmail != "") {
         if (!kString::isEmailString($newEmail)) {
             throw new KalturaAPIException(KalturaErrors::INVALID_FIELD_VALUE, "newEmail");
         }
     }
     try {
         UserLoginDataPeer::updateLoginData($email, $password, $newEmail, $newPassword, $newFirstName, $newLastName);
     } catch (kUserException $e) {
         $code = $e->getCode();
         if ($code == kUserException::LOGIN_DATA_NOT_FOUND) {
             throw new KalturaAPIException(KalturaErrors::LOGIN_DATA_NOT_FOUND);
         } else {
             if ($code == kUserException::WRONG_PASSWORD) {
                 if ($password == $newPassword) {
                     throw new KalturaAPIException(KalturaErrors::USER_WRONG_PASSWORD);
                 } else {
                     throw new KalturaAPIException(KalturaErrors::WRONG_OLD_PASSWORD);
                 }
             } else {
                 if ($code == kUserException::PASSWORD_STRUCTURE_INVALID) {
                     $c = new Criteria();
                     $c->add(UserLoginDataPeer::LOGIN_EMAIL, $email);
                     $loginData = UserLoginDataPeer::doSelectOne($c);
                     $invalidPasswordStructureMessage = $loginData->getInvalidPasswordStructureMessage();
                     throw new KalturaAPIException(KalturaErrors::PASSWORD_STRUCTURE_INVALID, $invalidPasswordStructureMessage);
                 } else {
                     if ($code == kUserException::PASSWORD_ALREADY_USED) {
                         throw new KalturaAPIException(KalturaErrors::PASSWORD_ALREADY_USED);
                     } else {
                         if ($code == kUserException::INVALID_EMAIL) {
                             throw new KalturaAPIException(KalturaErrors::INVALID_FIELD_VALUE, 'email');
                         } else {
                             if ($code == kUserException::LOGIN_ID_ALREADY_USED) {
                                 throw new KalturaAPIException(KalturaErrors::LOGIN_ID_ALREADY_USED);
                             }
                         }
                     }
                 }
             }
         }
         throw $e;
     }
 }
 /**
  * Update admin user password and email
  * 
  * @param string $email
  * @param string $password
  * @param string $newEmail Optional, provide only when you want to update the email
  * @param string $newPassword
  *
  * @throws KalturaErrors::INVALID_FIELD_VALUE
  * @throws KalturaErrors::LOGIN_DATA_NOT_FOUND
  * @throws KalturaErrors::WRONG_OLD_PASSWORD
  * @throws KalturaErrors::PASSWORD_STRUCTURE_INVALID
  * @throws KalturaErrors::PASSWORD_ALREADY_USED
  * @throws KalturaErrors::INVALID_FIELD_VALUE
  * @throws KalturaErrors::LOGIN_ID_ALREADY_USED
  */
 protected function updateLoginDataImpl($email, $password, $newEmail = "", $newPassword = "", $newFirstName, $newLastName)
 {
     KalturaResponseCacher::disableCache();
     if ($newEmail != "") {
         if (!kString::isEmailString($newEmail)) {
             throw new KalturaAPIException(KalturaErrors::INVALID_FIELD_VALUE, "newEmail");
         }
     }
     try {
         UserLoginDataPeer::updateLoginData($email, $password, $newEmail, $newPassword, $newFirstName, $newLastName);
     } catch (kUserException $e) {
         $code = $e->getCode();
         if ($code == kUserException::LOGIN_DATA_NOT_FOUND) {
             throw new KalturaAPIException(KalturaErrors::LOGIN_DATA_NOT_FOUND);
         } else {
             if ($code == kUserException::WRONG_PASSWORD) {
                 if ($password == $newPassword) {
                     throw new KalturaAPIException(KalturaErrors::USER_WRONG_PASSWORD);
                 } else {
                     throw new KalturaAPIException(KalturaErrors::WRONG_OLD_PASSWORD);
                 }
             } else {
                 if ($code == kUserException::PASSWORD_STRUCTURE_INVALID) {
                     throw new KalturaAPIException(KalturaErrors::PASSWORD_STRUCTURE_INVALID);
                 } else {
                     if ($code == kUserException::PASSWORD_ALREADY_USED) {
                         throw new KalturaAPIException(KalturaErrors::PASSWORD_ALREADY_USED);
                     } else {
                         if ($code == kUserException::INVALID_EMAIL) {
                             throw new KalturaAPIException(KalturaErrors::INVALID_FIELD_VALUE, 'email');
                         } else {
                             if ($code == kUserException::LOGIN_ID_ALREADY_USED) {
                                 throw new KalturaAPIException(KalturaErrors::LOGIN_ID_ALREADY_USED);
                             }
                         }
                     }
                 }
             }
         }
         throw $e;
     }
 }
 private function updateLoginData($email, $password, $newEmail = "", $newPassword = "", $newFirstName = null, $newLastName = null)
 {
     if ($newEmail != "") {
         if (!kString::isEmailString($newEmail)) {
             throw new KalturaLoginDataException(APIErrors::INVALID_FIELD_VALUE, "newEmail");
         }
     }
     try {
         UserLoginDataPeer::updateLoginData($email, $password, $newEmail, $newPassword, $newFirstName, $newLastName);
     } catch (kUserException $e) {
         $code = $e->getCode();
         if ($code == kUserException::LOGIN_DATA_NOT_FOUND) {
             throw new KalturaLoginDataException(APIErrors::LOGIN_DATA_NOT_FOUND);
         } else {
             if ($code == kUserException::WRONG_PASSWORD) {
                 if ($password == $newPassword) {
                     throw new KalturaLoginDataException(APIErrors::USER_WRONG_PASSWORD);
                 } else {
                     throw new KalturaLoginDataException(APIErrors::WRONG_OLD_PASSWORD);
                 }
             } else {
                 if ($code == kUserException::PASSWORD_STRUCTURE_INVALID) {
                     $c = new Criteria();
                     $c->add(UserLoginDataPeer::LOGIN_EMAIL, $email);
                     $loginData = UserLoginDataPeer::doSelectOne($c);
                     $invalidPasswordStructureMessage = $loginData->getInvalidPasswordStructureMessage();
                     $invalidPasswordStructureMessage = str_replace('\\n', "\n", $invalidPasswordStructureMessage);
                     throw new KalturaLoginDataException(APIErrors::PASSWORD_STRUCTURE_INVALID, $invalidPasswordStructureMessage);
                 } else {
                     if ($code == kUserException::PASSWORD_ALREADY_USED) {
                         throw new KalturaLoginDataException(APIErrors::PASSWORD_ALREADY_USED);
                     } else {
                         if ($code == kUserException::INVALID_EMAIL) {
                             throw new KalturaLoginDataException(APIErrors::INVALID_FIELD_VALUE, 'email');
                         } else {
                             if ($code == kUserException::LOGIN_ID_ALREADY_USED) {
                                 throw new KalturaLoginDataException(APIErrors::LOGIN_ID_ALREADY_USED);
                             }
                         }
                     }
                 }
             }
         }
         throw $e;
     }
 }