diff options
| author | Maksymilian Jopek <maks@jopek.eu> | 2023-04-13 15:47:15 +0200 |
|---|---|---|
| committer | Maksymilian Jopek <maks@jopek.eu> | 2023-04-13 15:47:15 +0200 |
| commit | 87ffa36c1bfa49259e48d94f09e64f83632f0071 (patch) | |
| tree | 87a5f2157474c6b31a2efddaf8df5aad886ff070 /users.php | |
| download | cms-87ffa36c1bfa49259e48d94f09e64f83632f0071.tar.gz cms-87ffa36c1bfa49259e48d94f09e64f83632f0071.tar.zst cms-87ffa36c1bfa49259e48d94f09e64f83632f0071.zip | |
Diffstat (limited to 'users.php')
| -rw-r--r-- | users.php | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/users.php b/users.php new file mode 100644 index 0000000..e1b1e18 --- /dev/null +++ b/users.php @@ -0,0 +1,99 @@ +<?php +session_start(); + +require_once "dbCredentials.php"; +require_once "consts.php"; +error_reporting(E_ALL); +ini_set('display_errors', 1); +$pdo = new PDO("mysql:dbname=$dbName;host=$dbHost;charset=utf8mb4", $dbUser, $dbPassword); +$pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); +$stmt = $pdo->prepare("SELECT * FROM `cms_user`"); +$stmt->execute(); +$users = $stmt->fetchAll(PDO::FETCH_ASSOC); + +function strStartsWith(string $needle, string $haystack) +{ + return substr($haystack, 0, strlen($needle)) === $needle; +} +if (isset($_GET["userEditType"])) { + $type = explode('!', $_GET["userEditType"]); + $_SESSION["u_Type"] = $type[0]; + if (strStartsWith("Edit", $_GET["userEditType"]) === true || strStartsWith("Remove", $_GET["userEditType"]) === true) { + $stmt = $pdo->prepare("SELECT * FROM `cms_user` WHERE `id`=:id"); + $stmt->execute(["id" => $type[1]]); + $user = $stmt->fetchAll(PDO::FETCH_ASSOC)[0]; + $_SESSION["u_Id"] = $user["id"]; + $_SESSION["u_Firstname"] = $user["firstname"]; + $_SESSION["u_Lastname"] = $user["lastname"]; + $_SESSION["u_Login"] = $user["login"]; + $_SESSION["u_Password"] = $user["password"]; + $_SESSION["u_Email"] = $user["email"]; + $_SESSION["u_user_type"] = $user["user_type"]; + } elseif (strStartsWith("Add", $_GET["userEditType"]) === true) { + $_SESSION["u_Id"] = ""; + $_SESSION["u_Firstname"] = ""; + $_SESSION["u_Lastname"] = ""; + $_SESSION["u_Login"] = ""; + $_SESSION["u_Password"] = ""; + $_SESSION["u_Email"] = ""; + $_SESSION["u_user_type"] = ""; + } elseif (strStartsWith("Remove", $_GET["userEditType"]) === true) { + $_SESSION["u_Id"] = $type[1]; + } + header("Location: userEdit.php"); + exit(); +} +?> +<!doctype html> +<html lang="en"> + +<head> + <!-- Required meta tags --> + <meta charset="utf-8"> + <meta name="viewport" content="width=device-width, initial-scale=1"> + + <!-- Bootstrap CSS --> + <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x" crossorigin="anonymous"> + <link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" rel="stylesheet"> + + <title>sCMS - Users</title> +</head> + +<body class="bg-dark"> + <div class="container"> + <table class="table table-dark table-bordered text-center" style="border: 1px solid white;"> + <thead> + <tr> + <th>Id</th> + <th>Name</th> + <th>Login</th> + <th>Account type</th> + <th>Edit</th> + </tr> + </thead> + <tbody> + <?php + foreach ($users as $user) { + $user["firstname"] = ucfirst($user["firstname"]); + $user["lastname"] = ucfirst($user["lastname"]); + echo "<tr> + <td>{$user["id"]}</td> + <td>{$user["firstname"]} {$user["lastname"]}</td> + <td>{$user["login"]}</td> + <td>{$UserType[$user["user_type"]]}</td> + <td> + <a class='btn btn-primary' href='users.php?userEditType=Edit!{$user["id"]}'>Edit <i class='fas fa-edit'></i></a> + <a class='btn btn-danger' href='users.php?userEditType=Remove!{$user["id"]}'>Remove <i class='fas fa-trash'></i></a> + </td> + </tr>"; + } + ?> + </tbody> + </table> + <a class="btn btn-primary" style="float: left;" href="main.php">Go to main</a> + <a class="btn btn-success" style="float: right;" href="users.php?userEditType=Add">Add</a> + </div> + <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-gtEjrD/SeCtmISkJkNUaaKMoLD0//ElJ19smozuHV6z3Iehds+3Ulb9Bn9Plx0x4" crossorigin="anonymous"></script> +</body> + +</html>
\ No newline at end of file |
