/**
  * Enable user login 
  * @param string $loginId
  * @param string $password
  * @param bool $checkPasswordStructure
  * @throws kUserException::USER_LOGIN_ALREADY_ENABLED
  * @throws kUserException::INVALID_EMAIL
  * @throws kUserException::INVALID_PARTNER
  * @throws kUserException::ADMIN_LOGIN_USERS_QUOTA_EXCEEDED
  * @throws kUserException::PASSWORD_STRUCTURE_INVALID
  * @throws kUserException::LOGIN_ID_ALREADY_USED
  */
 public function enableLogin($loginId, $password = null, $checkPasswordStructure = true, $sendEmail = null)
 {
     if (!$password) {
         $password = UserLoginDataPeer::generateNewPassword();
         if (is_null($sendEmail)) {
             $sendEmail = true;
         }
     }
     if ($this->getLoginDataId()) {
         throw new kUserException('', kUserException::USER_LOGIN_ALREADY_ENABLED);
     }
     $loginDataExisted = null;
     $loginData = UserLoginDataPeer::addLoginData($loginId, $password, $this->getPartnerId(), $this->getFirstName(), $this->getLastName(), $this->getIsAdmin(), $checkPasswordStructure, $loginDataExisted);
     if (!$loginData) {
         throw new kUserException('', kUserException::LOGIN_DATA_NOT_FOUND);
     }
     $this->setLoginDataId($loginData->getId());
     if ($sendEmail) {
         if ($loginDataExisted) {
             kuserPeer::sendNewUserMail($this, true);
         } else {
             kuserPeer::sendNewUserMail($this, false);
         }
         kuserPeer::sendNewUserMailToAdmins($this);
     }
     return $this;
 }
Ejemplo n.º 2
0
 /**
  * Enable user login 
  * @param string $loginId
  * @param string $password
  * @param bool $checkPasswordStructure
  * @throws kUserException::USER_LOGIN_ALREADY_ENABLED
  * @throws kUserException::INVALID_EMAIL
  * @throws kUserException::INVALID_PARTNER
  * @throws kUserException::ADMIN_LOGIN_USERS_QUOTA_EXCEEDED
  * @throws kUserException::PASSWORD_STRUCTURE_INVALID
  * @throws kUserException::LOGIN_ID_ALREADY_USED
  */
 public function enableLogin($loginId, $password = null, $checkPasswordStructure = true, $sendEmail = null)
 {
     if (!$password) {
         $password = UserLoginDataPeer::generateNewPassword();
         if (is_null($sendEmail)) {
             $sendEmail = true;
         }
     }
     if ($this->getLoginDataId()) {
         throw new kUserException('', kUserException::USER_LOGIN_ALREADY_ENABLED);
     }
     $loginDataExisted = null;
     $loginData = UserLoginDataPeer::addLoginData($loginId, $password, $this->getPartnerId(), $this->getFirstName(), $this->getLastName(), $this->getIsAdmin(), $checkPasswordStructure, $loginDataExisted);
     if (!$loginData) {
         throw new kUserException('', kUserException::LOGIN_DATA_NOT_FOUND);
     }
     $this->setLoginDataId($loginData->getId());
     //Email notification on user creation is sent while using kuser email so make sure this field is set before enabling login
     //if not than set the email to be the $loginId provided to this action (we now know this is a valid email since "addLoginData" verifies this)
     if (!$this->getEmail()) {
         $this->setEmail($loginId);
     }
     if ($sendEmail) {
         if ($loginDataExisted) {
             kuserPeer::sendNewUserMail($this, true);
         } else {
             kuserPeer::sendNewUserMail($this, false);
         }
         if (!PermissionPeer::isValidForPartner(PermissionName::FEATURE_DISABLE_NEW_USER_EMAIL, $this->getPartnerId())) {
             kuserPeer::sendNewUserMailToAdmins($this);
         }
     }
     return $this;
 }