public function signUpWithEmail() { $reqData = $this->getDataFromRequestWithJsonFormat(); if (!isset($reqData['Email']) || !Validation::isValidEmail($reqData['Email'])) { $this->sendResponse(array('success' => false, 'message' => 'Invalid email address!')); } $email = $reqData['Email']; $username = $email; if (!isset($reqData['Password']) || !Validation::isValidPassword($reqData['Password'])) { $this->sendResponse(array('success' => false, 'message' => 'Invalid password!')); } $password = $reqData['Password']; $user = UserRepository::findUserByUsernameOrEmail($username); if ($user) { $this->sendResponse(array('success' => false, 'message' => 'This user name has already been taken!')); } $user = UserRepository::findUserByUsernameOrEmail($email); if ($user) { $this->sendResponse(array('success' => false, 'message' => 'This email address has already been taken!')); } $user = array('Username' => $username, 'Email' => $email, 'Password' => $this->app->passHash->hashPassword($password), 'CreatedDate' => date('Y-m-d H:i:s')); $newId = UserRepository::save($user); if ($newId) { $user['UserId'] = $newId; $this->sendResponse(array('success' => true, 'user' => $user)); } else { $this->sendOperationFailedResult('User'); } }