/** * 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; }
/** * 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; }