private static function updateUser(User $user) { $params = array("id" => $user->getId(), "username" => $user->username, "first_name" => $user->first_name, "last_name" => $user->last_name, "password" => $user->hashed_password); $password_string = ", password = :password"; if (empty($user->hashed_password)) { $password_string = ""; unset($params['password']); } $query = "UPDATE user SET\n username = :username,\n first_name = :first_name,\n last_name = :last_name\n {$password_string}\n\n WHERE id = :id\n "; $stmt = static::db()->prepare($query); $stmt->execute($params); return $stmt->rowCount(); }
use Syndicate\Entities\Session; use Syndicate\Repositories\TimezoneRepository; $app->get('/user/list', function (Request $request, Response $response) use($app) { $user_collection = UserRepository::getAllUsers(); if (empty($user_collection)) { $new_response = $response->withStatus(404); $new_response->getBody()->write("No users found"); return $new_response; } $response->getBody()->write(json_encode($user_collection)); return $response; }); $save_user = function (Request $request, Response $response) { $parser = new RequestParser($request); $data = $parser->getData(); $user = new User(); $user->hydrate($data); if (!empty($data['password'])) { $user->setPassword($data['password']); } $errors = $user->validateData(); if (!empty($errors)) { $new_response = $response->withStatus(400); $r = array("errors" => $errors); $new_response->getBody()->write(json_encode($r)); return $new_response; } $count = UserRepository::saveUser($user); $response->getBody()->write(json_encode($user)); return $response; };