Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- session_start();
- define("USER_SESSION_ID", "userId");
- require "model/User.php";
- require "model/Product.php";
- require "Router.php";
- require "DatabaseConnector.php";
- require "AuthService.php";
- require "NotificationsService.php";
- $user = DatabaseConnector::getAllUsers()[0];
- $user->setId(null);
- $user->setEmail("test@test.pl");
- DatabaseConnector::saveUser($user);
- Router::get("/", function () {
- renderView("home");
- });
- Router::get("/contact", function () {
- renderView("contact");
- });
- Router::get("/products", function () {
- $products = DatabaseConnector::getAllProducts();
- renderView("products/index", get_defined_vars());
- });
- Router::get("/products/new", function () {
- $product = new Product();
- renderView("products/new", get_defined_vars());
- });
- Router::post("/products", function () {
- $product = Product::create(null, $_POST["name"], $_POST["description"], $_POST["count"], $_POST["price"]);
- $errors = $product->validate();
- if(empty($errors)) {
- DatabaseConnector::saveProduct($product);
- NotificationsService::success("Produkt został pomyślnie zapisany");
- redirectTo("/products");
- } else {
- renderView("products/new", get_defined_vars());
- }
- });
- Router::put("/products/{:id}", function ($id) {
- $product = Product::create($id, $_POST["name"], $_POST["description"], $_POST["count"], $_POST["price"]);
- $errors = $product->validate();
- if(empty($errors)) {
- DatabaseConnector::saveProduct($product);
- NotificationsService::success("Produkt został pomyślnie zapisany");
- redirectTo("/products");
- } else {
- renderView("products/".$id."/edit", get_defined_vars());
- }
- });
- Router::get("/products/{:id}", function ($id) {
- $product = DatabaseConnector::getProduct($id);
- renderView("products/show", get_defined_vars());
- });
- Router::get("/products/{:id}/edit", function ($id) {
- $product = DatabaseConnector::getProduct($id);
- renderView("products/edit", get_defined_vars());
- });
- Router::get("/login", function () {
- renderView("auth/login");
- });
- Router::post("/login", function () {
- $email = $_POST['email'];
- $password = $_POST['password'];
- $authenticatedUser = null;
- foreach(DatabaseConnector::getAllUsers() as $user) {
- if($user->getEmail() == $email && $user->getPassword() == $password) {
- $authenticatedUser = $user;
- }
- }
- if(is_null($authenticatedUser)) {
- $errors = ["email" => "Email niepoprwany", "password" => "Hasło niepoprwane"];
- renderView("auth/login", get_defined_vars());
- } else {
- $_SESSION[USER_SESSION_ID] = $authenticatedUser->getId();
- redirectTo("/");
- }
- });
- Router::delete("/logout", function () {
- unset($_SESSION[USER_SESSION_ID]);
- redirectTo("/");
- });
- Router::execute($_SERVER);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement