public function saveRegisteredUser($lastName, $firstName, $middleName, $gender, $birthday, $homeAddress, $countryCode, $cityID, $emailAddress, $telephoneNumber, $mobileNumber, $username, $hashedPassword, $activationCode) { $connection = $this->_connection; $beginTrans = $connection->beginTransaction(); $sql = "INSERT INTO accountregistereduserdetails (LastName, FirstName, MiddleName, Gender, Birthday, HomeAddress, CountryCode, CityID, Landline, MobileNumber)\n VALUES(:lastName, :firstName, :middleName, :gender, :birthday, :homeAddress, :countryCode, :cityID, :telephoneNumber, :mobileNumber)"; $commandRegisteredUserDetails = $connection->createCommand($sql); $commandRegisteredUserDetails->bindValues(array(":lastName" => $lastName, ":firstName" => $firstName, ":middleName" => $middleName, ":gender" => $gender, ":birthday" => $birthday, ":homeAddress" => $homeAddress, ":countryCode" => $countryCode, ":cityID" => $cityID, ":telephoneNumber" => $telephoneNumber, ":mobileNumber" => $mobileNumber)); $commandRegisteredUserDetails->execute(); try { $lastInserted = $this->_connection->getLastInsertID(); $inactiveStatus = DefaultForm::ACCOUNT_STATUS_REGISTERED_USER_INACTIVE; $accountTypeID = DefaultForm::ACCOUNT_TYPE_REGISTERED_USER; $sql = "INSERT INTO accountregisteredusers (RegisteredUserID, Username, Password, EmailAddress, AccountTypeID, Status, ActivationCode, CreatedByAccountID)\n VALUES(:registeredUserID, :username, :password, :emailAddress, :accountTypeID, :status, :activationCode, :createdByAccountID)"; $commandRegisteredUser = $connection->createCommand($sql); $commandRegisteredUser->bindValues(array(":registeredUserID" => $lastInserted, ":username" => $username, ":password" => $hashedPassword, ":emailAddress" => $emailAddress, ":accountTypeID" => $accountTypeID, ":status" => $inactiveStatus, ":activationCode" => $activationCode, ":createdByAccountID" => $lastInserted)); $commandRegisteredUser->execute(); try { $subject = Yii::$app->params['siteName'] . " Account Registration"; $emailMessage = DefaultForm::emailMessageRegistration($lastName, $firstName, $middleName, $lastInserted, $emailAddress, $activationCode); $sendEmail = DefaultForm::sendMail($emailAddress, $subject, $emailMessage); if ($sendEmail['status'] == DefaultForm::ERROR_CODE_NO_ERROR) { $beginTrans->commit(); } else { $beginTrans->rollback(); } return array('registeredUserID' => $lastInserted, 'status' => $sendEmail['status'], 'message' => $sendEmail['message']); } catch (PDOException $e) { $beginTrans->rollback(); return array('registeredUserID' => 0, 'status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => $e); } } catch (PDOException $e) { $beginTrans->rollback(); return array('registeredUserID' => 0, 'status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => $e); } }
public function deleteAccountFromEmail($registeredUserID, $status, $emailAddress) { $activationCode = ""; $connection = $this->_connection; $beginTrans = $connection->beginTransaction(); $sql = "UPDATE accountregisteredusers SET Status = :status, ActivationCode = :activationCode WHERE RegisteredUserID = :registeredUserID"; $command = $connection->createCommand($sql); $command->bindValues(array(":status" => $status, ":activationCode" => $activationCode, ":registeredUserID" => $registeredUserID)); $rowCount = $command->execute(); try { if ($rowCount == 0) { $status = 2; $message = "Unable to delete your account! Please try again."; } else { $subject = Yii::$app->params['siteName'] . " Delete Account Successful"; $emailMessage = DefaultForm::emailMessageAccountDeleted(); $sendEmail = DefaultForm::sendMail($emailAddress, $subject, $emailMessage); if ($sendEmail['status'] == DefaultForm::ERROR_CODE_NO_ERROR) { $beginTrans->commit(); } else { $beginTrans->rollback(); } return array('status' => $sendEmail['status'], 'message' => $sendEmail['message']); } return array('status' => $status, 'message' => $message); } catch (PDOException $e) { $beginTrans->rollback(); return array('status' => DefaultForm::ERROR_CODE_SYSTEM_DEFAULT, 'message' => $e); } }