diff --git a/client/app/browse.php b/client/app/browse.php deleted file mode 100644 index 458b1a63ebbca1925e2a10f87d83e6f92e96b87a..0000000000000000000000000000000000000000 --- a/client/app/browse.php +++ /dev/null @@ -1,8 +0,0 @@ -<?php - - $browsePage = function(){ - echo "Implement plz"; - require_once __ROOT__.'/static/html/index.html'; - } - -?> \ No newline at end of file diff --git a/client/app/homepage.php b/client/app/homepage.php new file mode 100644 index 0000000000000000000000000000000000000000..5fac71f8e8c4ac6df167826c91b339547cdd70dc --- /dev/null +++ b/client/app/homepage.php @@ -0,0 +1,7 @@ +<?php + + $homepage = function() { + include __ROOT__.'/static/html/index.html'; + } + +?> \ No newline at end of file diff --git a/client/public/.htaccess b/client/public/.htaccess deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/client/public/index.php b/client/public/index.php index 0b4bd9c138f4185813f5d5825980704ae63f0a9b..9f528009f42bee2872715b3c9e6745b1611d28d1 100644 --- a/client/public/index.php +++ b/client/public/index.php @@ -3,18 +3,18 @@ require_once __ROOT__.'/util/Routing/Router.php'; - require_once __ROOT__.'/app/browse.php'; + require_once __ROOT__.'/app/homepage.php'; require_once __ROOT__.'/app/history.php'; require_once __ROOT__.'/app/profile.php'; $router = new Router(); - $router->add("/", "GET", $browsePage); + $router->add("/", "GET", $homepage); $router->add("/profile/", "GET", $historyPage); $router->add("/history/", "GET", $profilePage); - $uri = $_SERVER["REQUEST_URI"]; + $uri = $_SERVER["PATH_INFO"]; $method = $_SERVER["REQUEST_METHOD"]; $router->route($uri, $method); diff --git a/server/app/user/UserUsecase.php b/server/app/user/UserUsecase.php index b74d3c0d1fb16b9ebe9cc900257556babdbca965..a8952ecff7f78ef2fa673cea3db4b422139f455f 100644 --- a/server/app/user/UserUsecase.php +++ b/server/app/user/UserUsecase.php @@ -1,5 +1,6 @@ <?php require_once __ROOT__.'/app/user/UserDb.php'; + require_once __ROOT__.'/app/user/User.php'; require_once __ROOT__.'/util/Routing/Response.php'; class UserUsecase { @@ -39,19 +40,24 @@ function editProfile(Request $request){ $user_id = (int)$request->params["user_id"]; $user = $this->userDb->getUserById($user_id)[0]; - $user->username = array_key_exists("username",$request->payload) ? $request->payload["username"] : $user->username; - $user->fullname = array_key_exists("fullname",$request->payload) ? $request->payload["fullname"]: $user->fullname; - $user->email = array_key_exists("email",$request->payload) ? $request->payload["email"] : $user->email; - $user->address = array_key_exists("address",$request->payload) ? $request->payload["address"] : $user->address; - $newPass = array_key_exists("password",$request->payload) ? hash('sha256', $request->payload["username"]) : $user->getPassword(); - $user->setPassword($newPass); - - $user = $this->userDb->updateUser($user); if ($user){ - writeResponse(200, "Success edit user profile", $user); + $user->username = array_key_exists("username",$request->payload) ? $request->payload["username"] : $user->username; + $user->fullname = array_key_exists("fullname",$request->payload) ? $request->payload["fullname"]: $user->fullname; + $user->email = array_key_exists("email",$request->payload) ? $request->payload["email"] : $user->email; + $user->address = array_key_exists("address",$request->payload) ? $request->payload["address"] : $user->address; + + $newPass = array_key_exists("password",$request->payload) ? hash('sha256', $request->payload["username"]) : $user->getPassword(); + $user->setPassword($newPass); + + $user = $this->userDb->updateUser($user); + if ($user){ + writeResponse(200, "Success edit user profile", $user); + } else { + writeResponse(500, "Failed edit user profile"); + } } else { - writeResponse(500, "Failed edit user profile"); + writeResponse(400, "User not exist"); } } diff --git a/server/app/user/routes.php b/server/app/user/routes.php index 012884edbdc3a34505f2606cd22d0a8e2d0ec1cd..b2a81b10a659589e747465bf0a3c44dd6a7c9557 100644 --- a/server/app/user/routes.php +++ b/server/app/user/routes.php @@ -1,15 +1,14 @@ <?php function addUserRoutes($router, $userUsecase){ - // User Routes $router->add("/user/", "POST", array($userUsecase,'registerUser')); + $router->add("/user/search/", "GET", function($request){ + $queries = $request->queries; + var_dump($queries); + }); $router->add("/user/:user_id/", "DELETE", array($userUsecase,'removeUser')); $router->add("/user/:user_id/", "GET", array($userUsecase,'getProfile')); $router->add("/user/:user_id/", "PUT", array($userUsecase,'editProfile')); - // $router->add("/book/:book_id/", "POST", $postCallbackExample); - // $router->add("/book/:book_id/user/:user_id/", "POST", $postCallbackExample); - // $router->add("/book/:book_id/", "POST", $postCallbackExample); - return $router; } diff --git a/server/public/index.php b/server/public/index.php index 0642b50bb11471733f622b16f62f0c3560cf92c8..73d339bee73230e7d9a9608c5f81e5e26d02bc93 100644 --- a/server/public/index.php +++ b/server/public/index.php @@ -32,7 +32,7 @@ // TODO: Add Order Routes $errorCallback = function(){ - echo "500"; + writeResponse(404, "Page not found."); }; $uri = $_SERVER['PATH_INFO']; diff --git a/server/util/Routing/Request.php b/server/util/Routing/Request.php index ba6d58f791416275125d7b56a021e3ef916dcfaf..2cdd4fc6f634421f81f10127884ec6c9556a11a3 100644 --- a/server/util/Routing/Request.php +++ b/server/util/Routing/Request.php @@ -3,11 +3,13 @@ public $params = array(); public $payload = array(); public $header = array(); + public $queries = array(); - function __construct(array $params, array $payload, $header){ + function __construct(array $params, array $payload, $header, $queries = null){ $this->params = $params; $this->payload = $payload; $this->header = $header; + $this->queries = $queries; } } diff --git a/server/util/Routing/Router.php b/server/util/Routing/Router.php index b92e8fb0331a7950012d085c7029065f5ff332a2..09e5f8e8ac9b3515119baf7c96eb6b397b919b35 100644 --- a/server/util/Routing/Router.php +++ b/server/util/Routing/Router.php @@ -12,22 +12,21 @@ private function __makeParamPattern($url){ $url_components = explode("/", $url); - $paramPattern = "^\/"; + $paramPattern = "^"; foreach($url_components as $url_component){ if ($url_component != ""){ if (preg_match('(:.*)',$url_component)){ preg_match('(:.*)',$url_component, $paramName); $param = substr($paramName[0],1); array_push($this->paramKeys, $param); - $paramPattern .= "(?P"."<$param>"."\d+)\/"; + $paramPattern .= "\/(?P"."<$param>"."\d+)"; } else { - $paramPattern .= "(".$url_component.")\/"; + $paramPattern .= "\/(".$url_component.")"; } } } - $paramPattern.= "$"; - + $paramPattern.= "\/$"; return $paramPattern; } @@ -49,7 +48,6 @@ return $request_params; } - private function __getRouteFromPattern($url, $method){ foreach ($this->routes as $key=>$value){ if (preg_match("($key)", $url) && array_key_exists($method, $value)){ @@ -76,8 +74,9 @@ parse_str(file_get_contents("php://input"), $payload); // get header $headers = getallheaders(); - - $request = new Request($params, $payload, $headers); + $queries = $_GET; + + $request = new Request($params, $payload, $headers, $queries); if ($route["middleware"]){ $route["middleware"]->run($route["callback"], $request);