public function addUser() { try { $min_data = ['nickname', 'email', 'password']; $form = $this->getApp()->request()->post(); foreach ($min_data as $required_field) { if (!isset($form[$required_field])) { throw new \Exception("Missing required field " . $required_field . ". Required fields are " . implode(",", $min_data)); } } $email = $form["email"]; $password = $form["password"]; $nickname = $form["nickname"]; if (!Utilities::isValidEmail($email)) { throw new \Exception(Language::t('USERS_NO_USER_WITH_EMAIL', "Email " . $email . " is not a valid email address")); } //-- Before creating a new user, we need to check we dont have a user with this same user name $existing_user = UserAuth::getByUserName($email); if (!is_null($existing_user)) { throw new \Exception("Email " . $email . " is already in use"); } //-- Ok, lets create the new User $user_auth = new UserAuth(); $user_auth->setUserName($email); //-- Lets encode the password using a salt string $salt_string = strval(time()); $password = $password . $salt_string; $user_auth->setPassword(sha1($password)); $user_auth->setSalt(base64_encode($salt_string)); $user_auth->persist(); //-- Now we have the user_id, lets create the user now $user = new User(); $user->setUserId($user_auth->getUserId()); $user->setEmail($email); $user->setNickname($nickname); $user->persist(); //-- Remove Password from Response unset($form['password']); $this->getApp()->render(200, ['data' => $form]); } catch (\Exception $e) { $this->getApp()->render(500, ['error' => $e->getMessage()]); } }
public function getUserInfoFromToken($user_token) { $token_info = Utilities::parse_signed_request($user_token, _ENCODING_SECRET); if (is_null($token_info)) { throw new \Exception("Invalid token"); } //-- TODO:: Token expiration? $user_id = $token_info["user_id"]; $user_info = User::getByUserId($user_id); return $user_info; }
private static function createFromDb($resource) { if (!is_null($resource)) { $user = new User(); $user->setRowId($resource["row_id"]); $user->setUserId($resource["user_id"]); $user->setFirstName($resource["first_name"]); $user->setLastName($resource["last_name"]); $user->setNickname($resource["nickname"]); $user->setEmail($resource["email"]); $user->setCreatedDate($resource["created_date"]); return $user; } return null; }
public function getAllMatchPlayers($match_id) { try { $match_players = Match::getAllMatchPlayers($match_id); if (count($match_players) == 0) { throw new \Exception("No match players for match " . $match_id); } //-- Get Match Player Info $list_of_ids = []; $return = []; foreach ($match_players as $mp) { $user_id = $mp['user_id']; $list_of_ids[] = $user_id; $return[$user_id] = $mp; } $user_info = User::getByListOfIds($list_of_ids); foreach ($user_info as $user_object) { $user_data = $user_object->toArray(); $user_id = $user_data['user_id']; $return[$user_id] = array_merge($return[$user_id], $user_data); } return $return; } catch (\Exception $e) { throw $e; } }