summaryrefslogtreecommitdiffstats
path: root/users.php
blob: e1b1e1862d7eb29c2588703d8f2fd4c17153f20b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
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>&nbsp;&nbsp;
              <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>