63 changed files with 60327 additions and 0 deletions
@ -0,0 +1,24 @@ |
|||
<?php |
|||
session_start(); |
|||
require("init.php"); |
|||
|
|||
// kontrola jestli to otevira clověk s dostatenym právem |
|||
if(isset($_SESSION["role"])){ |
|||
if($_SESSION["role"] < 5){ |
|||
header("Location: /?error=2"); |
|||
} |
|||
} |
|||
|
|||
$id = $_GET["id"]; |
|||
|
|||
$sql = "DELETE FROM nk_prispevky WHERE id=$id"; |
|||
|
|||
if (mysqli_query($conn,$sql)) { |
|||
echo "příkaz byl vykonán"; |
|||
header("Location: /?del=$id"); |
|||
} else { |
|||
echo "Error:" .$sql."<br>". mysqli_errno($conn); |
|||
} |
|||
|
|||
|
|||
?> |
@ -0,0 +1,25 @@ |
|||
<?php |
|||
session_start(); |
|||
require("init.php"); |
|||
|
|||
|
|||
$username = $_POST["username"]; |
|||
$pw = $_POST["pw"]; |
|||
|
|||
$sql = "SELECT * FROM nk_users |
|||
WHERE username='$username' AND password='$pw'"; |
|||
$result = mysqli_query($conn, $sql); |
|||
|
|||
if(mysqli_num_rows($result) == 1) { |
|||
$row = mysqli_fetch_assoc($result); |
|||
|
|||
$_SESSION["logged"] = 1; // stav přihlášení |
|||
$_SESSION["username"] = $row["username"]; // zobrazované jméno |
|||
$_SESSION["role"] = $row["role"]; //hodnota role |
|||
$_SESSION["userid"] = $row["id"]; // jednodušší write |
|||
|
|||
header("Location: /"); |
|||
} else { |
|||
header("Location: login.php?error=1"); |
|||
} |
|||
?> |
@ -0,0 +1,30 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
|
|||
$username = $_POST["username"]; |
|||
$pw1 = $_POST["pw1"]; |
|||
$pw2 = $_POST["pw2"]; |
|||
|
|||
if ($pw1 != $pw2) { |
|||
header("Location: reg.php?error=1"); |
|||
} |
|||
|
|||
$sql = "INSERT INTO nk_users(username,password,role) |
|||
VALUES ('$username','$pw1','5')"; |
|||
|
|||
if (mysqli_query($conn,$sql)){ |
|||
$last_id = mysqli_insert_id($conn); |
|||
echo "uživatel byl vytvořen, jeho id: ".$last_id ; |
|||
|
|||
$_SESSION["logged"] = 1; |
|||
$_SESSION["username"] = $username; |
|||
$_SESSION["role"] = "5"; |
|||
$_SESSION["userid"] = $last_id; |
|||
|
|||
header("Location: /"); |
|||
} else { |
|||
echo "error:" . mysqli_error($conn); |
|||
} |
|||
|
|||
?> |
@ -0,0 +1,34 @@ |
|||
<?php |
|||
session_start(); |
|||
require("init.php"); |
|||
|
|||
// kontrola jestli to otevira clověk s dostatenym právem |
|||
if(isset($_SESSION["role"])){ |
|||
if($_SESSION["role"] == 5){ |
|||
header("Location: /?error=2"); |
|||
} |
|||
} |
|||
|
|||
//načtení odeslaných dat |
|||
$id = $_POST["id"]; |
|||
$id_nk_users = $_POST["id_nk_users"]; |
|||
$title = $_POST["title"]; |
|||
$msg = $_POST["msg"]; |
|||
|
|||
$sql = "UPDATE nk_prispevky SET |
|||
id_nk_users='$id_nk_users', |
|||
title='$title', |
|||
msg='$msg' |
|||
WHERE id=$id"; |
|||
|
|||
if(mysqli_query($conn,$sql)) { |
|||
header("Location: /?update=1"); |
|||
} else { |
|||
header("Location: /error=4"); |
|||
} |
|||
|
|||
|
|||
|
|||
|
|||
|
|||
?> |
@ -0,0 +1,18 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
|
|||
$title = $_POST["title"]; |
|||
$msg = $_POST["msg"]; |
|||
$userid = $_SESSION["userid"]; |
|||
|
|||
$sql = "INSERT INTO nk_prispevky(id_nk_users,title,msg,created) |
|||
VALUES ('$userid','$title','$msg',now())"; |
|||
|
|||
if(mysqli_query($conn,$sql)){ |
|||
echo "bylo zapsáno do knihy"; |
|||
header("Location: /list.php"); |
|||
} else{ |
|||
echo "error:". mysqli_error($conn); |
|||
} |
|||
?> |
@ -0,0 +1,3 @@ |
|||
td, th { |
|||
border: 1px solid black; |
|||
} |
@ -0,0 +1,90 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
$ptitle = "Návštěvní kniha - ADMIN"; |
|||
|
|||
if(isset($_SESSION["role"])){ |
|||
if($_SESSION["role"] != 1){ |
|||
header("Location: /?error=2"); |
|||
} |
|||
} |
|||
|
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Navštěvní kniha</title> |
|||
<link rel="stylesheet" href="admin.css"> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
|
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
<hr> |
|||
<!-- PHP výpis pro příspěvky --> |
|||
<h2>Příspěvky</h2> |
|||
|
|||
<table> |
|||
<tr> |
|||
<th>id</th> |
|||
<th>title</th> |
|||
<th>msg</th> |
|||
<th>Autor</th> |
|||
<th>role autora</th> |
|||
<th>čas vytvoření</th> |
|||
<th>delete</th> |
|||
<th>update</th> |
|||
</tr> |
|||
|
|||
<?php |
|||
$sql = "SELECT nk_prispevky.id, nk_users.username, nk_prispevky.title, nk_prispevky.msg, nk_prispevky.created, nk_users.role |
|||
FROM nk_prispevky |
|||
INNER JOIN nk_users ON nk_prispevky.id_nk_users = nk_users.id |
|||
ORDER BY nk_prispevky.id DESC"; |
|||
$result = mysqli_query($conn,$sql); |
|||
|
|||
if (mysqli_num_rows($result) > 0) { |
|||
while ($row = mysqli_fetch_assoc($result)){ |
|||
echo "<tr>"; |
|||
echo "<td>".$row["id"]."</td>"; |
|||
echo "<td>".$row["title"]."</td>"; |
|||
echo "<td>".$row["msg"]."</td>"; |
|||
echo "<td>".$row["created"]."</td>"; |
|||
echo "<td>".$row["username"]."</td>"; |
|||
echo "<td>".$row["role"]."</td>"; //id=5"> |
|||
echo "<td> <a href=\"action_delete.php?id=".$row["id"]."\">Delete</a></td>"; |
|||
echo "<td> <a href=\"update_prispevky.php?id=".$row["id"]."\">UPDATE</a></td>"; |
|||
echo "</tr>"; |
|||
} |
|||
} |
|||
?> |
|||
</table> |
|||
|
|||
<h2>Users</h2> |
|||
<?php |
|||
|
|||
$sql = "SELECT * FROM nk_users"; |
|||
$result = mysqli_query($conn,$sql); |
|||
|
|||
if (mysqli_num_rows($result) > 0) { |
|||
while ($row = mysqli_fetch_assoc($result)){ |
|||
echo "<p>id:".$row["id"]."; user:".$row["username"]."</p>"; |
|||
} |
|||
} |
|||
|
|||
?> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,591 @@ |
|||
/*! |
|||
* Bootstrap Reboot v5.3.0-alpha3 (https://getbootstrap.com/) |
|||
* Copyright 2011-2023 The Bootstrap Authors |
|||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
|||
*/ |
|||
:root, |
|||
[data-bs-theme=light] { |
|||
--bs-blue: #0d6efd; |
|||
--bs-indigo: #6610f2; |
|||
--bs-purple: #6f42c1; |
|||
--bs-pink: #d63384; |
|||
--bs-red: #dc3545; |
|||
--bs-orange: #fd7e14; |
|||
--bs-yellow: #ffc107; |
|||
--bs-green: #198754; |
|||
--bs-teal: #20c997; |
|||
--bs-cyan: #0dcaf0; |
|||
--bs-black: #000; |
|||
--bs-white: #fff; |
|||
--bs-gray: #6c757d; |
|||
--bs-gray-dark: #343a40; |
|||
--bs-gray-100: #f8f9fa; |
|||
--bs-gray-200: #e9ecef; |
|||
--bs-gray-300: #dee2e6; |
|||
--bs-gray-400: #ced4da; |
|||
--bs-gray-500: #adb5bd; |
|||
--bs-gray-600: #6c757d; |
|||
--bs-gray-700: #495057; |
|||
--bs-gray-800: #343a40; |
|||
--bs-gray-900: #212529; |
|||
--bs-primary: #0d6efd; |
|||
--bs-secondary: #6c757d; |
|||
--bs-success: #198754; |
|||
--bs-info: #0dcaf0; |
|||
--bs-warning: #ffc107; |
|||
--bs-danger: #dc3545; |
|||
--bs-light: #f8f9fa; |
|||
--bs-dark: #212529; |
|||
--bs-primary-rgb: 13, 110, 253; |
|||
--bs-secondary-rgb: 108, 117, 125; |
|||
--bs-success-rgb: 25, 135, 84; |
|||
--bs-info-rgb: 13, 202, 240; |
|||
--bs-warning-rgb: 255, 193, 7; |
|||
--bs-danger-rgb: 220, 53, 69; |
|||
--bs-light-rgb: 248, 249, 250; |
|||
--bs-dark-rgb: 33, 37, 41; |
|||
--bs-primary-text-emphasis: #052c65; |
|||
--bs-secondary-text-emphasis: #2b2f32; |
|||
--bs-success-text-emphasis: #0a3622; |
|||
--bs-info-text-emphasis: #055160; |
|||
--bs-warning-text-emphasis: #664d03; |
|||
--bs-danger-text-emphasis: #58151c; |
|||
--bs-light-text-emphasis: #495057; |
|||
--bs-dark-text-emphasis: #495057; |
|||
--bs-primary-bg-subtle: #cfe2ff; |
|||
--bs-secondary-bg-subtle: #e2e3e5; |
|||
--bs-success-bg-subtle: #d1e7dd; |
|||
--bs-info-bg-subtle: #cff4fc; |
|||
--bs-warning-bg-subtle: #fff3cd; |
|||
--bs-danger-bg-subtle: #f8d7da; |
|||
--bs-light-bg-subtle: #fcfcfd; |
|||
--bs-dark-bg-subtle: #ced4da; |
|||
--bs-primary-border-subtle: #9ec5fe; |
|||
--bs-secondary-border-subtle: #c4c8cb; |
|||
--bs-success-border-subtle: #a3cfbb; |
|||
--bs-info-border-subtle: #9eeaf9; |
|||
--bs-warning-border-subtle: #ffe69c; |
|||
--bs-danger-border-subtle: #f1aeb5; |
|||
--bs-light-border-subtle: #e9ecef; |
|||
--bs-dark-border-subtle: #adb5bd; |
|||
--bs-white-rgb: 255, 255, 255; |
|||
--bs-black-rgb: 0, 0, 0; |
|||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
|||
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
|||
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); |
|||
--bs-body-font-family: var(--bs-font-sans-serif); |
|||
--bs-body-font-size: 1rem; |
|||
--bs-body-font-weight: 400; |
|||
--bs-body-line-height: 1.5; |
|||
--bs-body-color: #212529; |
|||
--bs-body-color-rgb: 33, 37, 41; |
|||
--bs-body-bg: #fff; |
|||
--bs-body-bg-rgb: 255, 255, 255; |
|||
--bs-emphasis-color: #000; |
|||
--bs-emphasis-color-rgb: 0, 0, 0; |
|||
--bs-secondary-color: rgba(33, 37, 41, 0.75); |
|||
--bs-secondary-color-rgb: 33, 37, 41; |
|||
--bs-secondary-bg: #e9ecef; |
|||
--bs-secondary-bg-rgb: 233, 236, 239; |
|||
--bs-tertiary-color: rgba(33, 37, 41, 0.5); |
|||
--bs-tertiary-color-rgb: 33, 37, 41; |
|||
--bs-tertiary-bg: #f8f9fa; |
|||
--bs-tertiary-bg-rgb: 248, 249, 250; |
|||
--bs-link-color: #0d6efd; |
|||
--bs-link-color-rgb: 13, 110, 253; |
|||
--bs-link-decoration: underline; |
|||
--bs-link-hover-color: #0a58ca; |
|||
--bs-link-hover-color-rgb: 10, 88, 202; |
|||
--bs-code-color: #d63384; |
|||
--bs-highlight-bg: #fff3cd; |
|||
--bs-border-width: 1px; |
|||
--bs-border-style: solid; |
|||
--bs-border-color: #dee2e6; |
|||
--bs-border-color-translucent: rgba(0, 0, 0, 0.175); |
|||
--bs-border-radius: 0.375rem; |
|||
--bs-border-radius-sm: 0.25rem; |
|||
--bs-border-radius-lg: 0.5rem; |
|||
--bs-border-radius-xl: 1rem; |
|||
--bs-border-radius-xxl: 2rem; |
|||
--bs-border-radius-2xl: var(--bs-border-radius-xxl); |
|||
--bs-border-radius-pill: 50rem; |
|||
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); |
|||
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); |
|||
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); |
|||
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); |
|||
--bs-focus-ring-width: 0.25rem; |
|||
--bs-focus-ring-opacity: 0.25; |
|||
--bs-focus-ring-color: rgba(13, 110, 253, 0.25); |
|||
--bs-form-valid-color: #198754; |
|||
--bs-form-valid-border-color: #198754; |
|||
--bs-form-invalid-color: #dc3545; |
|||
--bs-form-invalid-border-color: #dc3545; |
|||
} |
|||
|
|||
[data-bs-theme=dark] { |
|||
color-scheme: dark; |
|||
--bs-body-color: #adb5bd; |
|||
--bs-body-color-rgb: 173, 181, 189; |
|||
--bs-body-bg: #212529; |
|||
--bs-body-bg-rgb: 33, 37, 41; |
|||
--bs-emphasis-color: #fff; |
|||
--bs-emphasis-color-rgb: 255, 255, 255; |
|||
--bs-secondary-color: rgba(173, 181, 189, 0.75); |
|||
--bs-secondary-color-rgb: 173, 181, 189; |
|||
--bs-secondary-bg: #343a40; |
|||
--bs-secondary-bg-rgb: 52, 58, 64; |
|||
--bs-tertiary-color: rgba(173, 181, 189, 0.5); |
|||
--bs-tertiary-color-rgb: 173, 181, 189; |
|||
--bs-tertiary-bg: #2b3035; |
|||
--bs-tertiary-bg-rgb: 43, 48, 53; |
|||
--bs-primary-text-emphasis: #6ea8fe; |
|||
--bs-secondary-text-emphasis: #a7acb1; |
|||
--bs-success-text-emphasis: #75b798; |
|||
--bs-info-text-emphasis: #6edff6; |
|||
--bs-warning-text-emphasis: #ffda6a; |
|||
--bs-danger-text-emphasis: #ea868f; |
|||
--bs-light-text-emphasis: #f8f9fa; |
|||
--bs-dark-text-emphasis: #dee2e6; |
|||
--bs-primary-bg-subtle: #031633; |
|||
--bs-secondary-bg-subtle: #161719; |
|||
--bs-success-bg-subtle: #051b11; |
|||
--bs-info-bg-subtle: #032830; |
|||
--bs-warning-bg-subtle: #332701; |
|||
--bs-danger-bg-subtle: #2c0b0e; |
|||
--bs-light-bg-subtle: #343a40; |
|||
--bs-dark-bg-subtle: #1a1d20; |
|||
--bs-primary-border-subtle: #084298; |
|||
--bs-secondary-border-subtle: #41464b; |
|||
--bs-success-border-subtle: #0f5132; |
|||
--bs-info-border-subtle: #087990; |
|||
--bs-warning-border-subtle: #997404; |
|||
--bs-danger-border-subtle: #842029; |
|||
--bs-light-border-subtle: #495057; |
|||
--bs-dark-border-subtle: #343a40; |
|||
--bs-link-color: #6ea8fe; |
|||
--bs-link-hover-color: #8bb9fe; |
|||
--bs-link-color-rgb: 110, 168, 254; |
|||
--bs-link-hover-color-rgb: 139, 185, 254; |
|||
--bs-code-color: #e685b5; |
|||
--bs-border-color: #495057; |
|||
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); |
|||
--bs-form-valid-color: #75b798; |
|||
--bs-form-valid-border-color: #75b798; |
|||
--bs-form-invalid-color: #ea868f; |
|||
--bs-form-invalid-border-color: #ea868f; |
|||
} |
|||
|
|||
*, |
|||
*::before, |
|||
*::after { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
@media (prefers-reduced-motion: no-preference) { |
|||
:root { |
|||
scroll-behavior: smooth; |
|||
} |
|||
} |
|||
|
|||
body { |
|||
margin: 0; |
|||
font-family: var(--bs-body-font-family); |
|||
font-size: var(--bs-body-font-size); |
|||
font-weight: var(--bs-body-font-weight); |
|||
line-height: var(--bs-body-line-height); |
|||
color: var(--bs-body-color); |
|||
text-align: var(--bs-body-text-align); |
|||
background-color: var(--bs-body-bg); |
|||
-webkit-text-size-adjust: 100%; |
|||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
|||
} |
|||
|
|||
hr { |
|||
margin: 1rem 0; |
|||
color: inherit; |
|||
border: 0; |
|||
border-top: var(--bs-border-width) solid; |
|||
opacity: 0.25; |
|||
} |
|||
|
|||
h6, h5, h4, h3, h2, h1 { |
|||
margin-top: 0; |
|||
margin-bottom: 0.5rem; |
|||
font-weight: 500; |
|||
line-height: 1.2; |
|||
color: var(--bs-heading-color, inherit); |
|||
} |
|||
|
|||
h1 { |
|||
font-size: calc(1.375rem + 1.5vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h1 { |
|||
font-size: 2.5rem; |
|||
} |
|||
} |
|||
|
|||
h2 { |
|||
font-size: calc(1.325rem + 0.9vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h2 { |
|||
font-size: 2rem; |
|||
} |
|||
} |
|||
|
|||
h3 { |
|||
font-size: calc(1.3rem + 0.6vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h3 { |
|||
font-size: 1.75rem; |
|||
} |
|||
} |
|||
|
|||
h4 { |
|||
font-size: calc(1.275rem + 0.3vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h4 { |
|||
font-size: 1.5rem; |
|||
} |
|||
} |
|||
|
|||
h5 { |
|||
font-size: 1.25rem; |
|||
} |
|||
|
|||
h6 { |
|||
font-size: 1rem; |
|||
} |
|||
|
|||
p { |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
} |
|||
|
|||
abbr[title] { |
|||
-webkit-text-decoration: underline dotted; |
|||
text-decoration: underline dotted; |
|||
cursor: help; |
|||
-webkit-text-decoration-skip-ink: none; |
|||
text-decoration-skip-ink: none; |
|||
} |
|||
|
|||
address { |
|||
margin-bottom: 1rem; |
|||
font-style: normal; |
|||
line-height: inherit; |
|||
} |
|||
|
|||
ol, |
|||
ul { |
|||
padding-left: 2rem; |
|||
} |
|||
|
|||
ol, |
|||
ul, |
|||
dl { |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
} |
|||
|
|||
ol ol, |
|||
ul ul, |
|||
ol ul, |
|||
ul ol { |
|||
margin-bottom: 0; |
|||
} |
|||
|
|||
dt { |
|||
font-weight: 700; |
|||
} |
|||
|
|||
dd { |
|||
margin-bottom: 0.5rem; |
|||
margin-left: 0; |
|||
} |
|||
|
|||
blockquote { |
|||
margin: 0 0 1rem; |
|||
} |
|||
|
|||
b, |
|||
strong { |
|||
font-weight: bolder; |
|||
} |
|||
|
|||
small { |
|||
font-size: 0.875em; |
|||
} |
|||
|
|||
mark { |
|||
padding: 0.1875em; |
|||
background-color: var(--bs-highlight-bg); |
|||
} |
|||
|
|||
sub, |
|||
sup { |
|||
position: relative; |
|||
font-size: 0.75em; |
|||
line-height: 0; |
|||
vertical-align: baseline; |
|||
} |
|||
|
|||
sub { |
|||
bottom: -0.25em; |
|||
} |
|||
|
|||
sup { |
|||
top: -0.5em; |
|||
} |
|||
|
|||
a { |
|||
color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); |
|||
text-decoration: underline; |
|||
} |
|||
a:hover { |
|||
--bs-link-color-rgb: var(--bs-link-hover-color-rgb); |
|||
} |
|||
|
|||
a:not([href]):not([class]), a:not([href]):not([class]):hover { |
|||
color: inherit; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
pre, |
|||
code, |
|||
kbd, |
|||
samp { |
|||
font-family: var(--bs-font-monospace); |
|||
font-size: 1em; |
|||
} |
|||
|
|||
pre { |
|||
display: block; |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
overflow: auto; |
|||
font-size: 0.875em; |
|||
} |
|||
pre code { |
|||
font-size: inherit; |
|||
color: inherit; |
|||
word-break: normal; |
|||
} |
|||
|
|||
code { |
|||
font-size: 0.875em; |
|||
color: var(--bs-code-color); |
|||
word-wrap: break-word; |
|||
} |
|||
a > code { |
|||
color: inherit; |
|||
} |
|||
|
|||
kbd { |
|||
padding: 0.1875rem 0.375rem; |
|||
font-size: 0.875em; |
|||
color: var(--bs-body-bg); |
|||
background-color: var(--bs-body-color); |
|||
border-radius: 0.25rem; |
|||
} |
|||
kbd kbd { |
|||
padding: 0; |
|||
font-size: 1em; |
|||
} |
|||
|
|||
figure { |
|||
margin: 0 0 1rem; |
|||
} |
|||
|
|||
img, |
|||
svg { |
|||
vertical-align: middle; |
|||
} |
|||
|
|||
table { |
|||
caption-side: bottom; |
|||
border-collapse: collapse; |
|||
} |
|||
|
|||
caption { |
|||
padding-top: 0.5rem; |
|||
padding-bottom: 0.5rem; |
|||
color: var(--bs-secondary-color); |
|||
text-align: left; |
|||
} |
|||
|
|||
th { |
|||
text-align: inherit; |
|||
text-align: -webkit-match-parent; |
|||
} |
|||
|
|||
thead, |
|||
tbody, |
|||
tfoot, |
|||
tr, |
|||
td, |
|||
th { |
|||
border-color: inherit; |
|||
border-style: solid; |
|||
border-width: 0; |
|||
} |
|||
|
|||
label { |
|||
display: inline-block; |
|||
} |
|||
|
|||
button { |
|||
border-radius: 0; |
|||
} |
|||
|
|||
button:focus:not(:focus-visible) { |
|||
outline: 0; |
|||
} |
|||
|
|||
input, |
|||
button, |
|||
select, |
|||
optgroup, |
|||
textarea { |
|||
margin: 0; |
|||
font-family: inherit; |
|||
font-size: inherit; |
|||
line-height: inherit; |
|||
} |
|||
|
|||
button, |
|||
select { |
|||
text-transform: none; |
|||
} |
|||
|
|||
[role=button] { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
select { |
|||
word-wrap: normal; |
|||
} |
|||
select:disabled { |
|||
opacity: 1; |
|||
} |
|||
|
|||
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { |
|||
display: none !important; |
|||
} |
|||
|
|||
button, |
|||
[type=button], |
|||
[type=reset], |
|||
[type=submit] { |
|||
-webkit-appearance: button; |
|||
} |
|||
button:not(:disabled), |
|||
[type=button]:not(:disabled), |
|||
[type=reset]:not(:disabled), |
|||
[type=submit]:not(:disabled) { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
::-moz-focus-inner { |
|||
padding: 0; |
|||
border-style: none; |
|||
} |
|||
|
|||
textarea { |
|||
resize: vertical; |
|||
} |
|||
|
|||
fieldset { |
|||
min-width: 0; |
|||
padding: 0; |
|||
margin: 0; |
|||
border: 0; |
|||
} |
|||
|
|||
legend { |
|||
float: left; |
|||
width: 100%; |
|||
padding: 0; |
|||
margin-bottom: 0.5rem; |
|||
font-size: calc(1.275rem + 0.3vw); |
|||
line-height: inherit; |
|||
} |
|||
@media (min-width: 1200px) { |
|||
legend { |
|||
font-size: 1.5rem; |
|||
} |
|||
} |
|||
legend + * { |
|||
clear: left; |
|||
} |
|||
|
|||
::-webkit-datetime-edit-fields-wrapper, |
|||
::-webkit-datetime-edit-text, |
|||
::-webkit-datetime-edit-minute, |
|||
::-webkit-datetime-edit-hour-field, |
|||
::-webkit-datetime-edit-day-field, |
|||
::-webkit-datetime-edit-month-field, |
|||
::-webkit-datetime-edit-year-field { |
|||
padding: 0; |
|||
} |
|||
|
|||
::-webkit-inner-spin-button { |
|||
height: auto; |
|||
} |
|||
|
|||
[type=search] { |
|||
outline-offset: -2px; |
|||
-webkit-appearance: textfield; |
|||
} |
|||
|
|||
/* rtl:raw: |
|||
[type="tel"], |
|||
[type="url"], |
|||
[type="email"], |
|||
[type="number"] { |
|||
direction: ltr; |
|||
} |
|||
*/ |
|||
::-webkit-search-decoration { |
|||
-webkit-appearance: none; |
|||
} |
|||
|
|||
::-webkit-color-swatch-wrapper { |
|||
padding: 0; |
|||
} |
|||
|
|||
::-webkit-file-upload-button { |
|||
font: inherit; |
|||
-webkit-appearance: button; |
|||
} |
|||
|
|||
::file-selector-button { |
|||
font: inherit; |
|||
-webkit-appearance: button; |
|||
} |
|||
|
|||
output { |
|||
display: inline-block; |
|||
} |
|||
|
|||
iframe { |
|||
border: 0; |
|||
} |
|||
|
|||
summary { |
|||
display: list-item; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
progress { |
|||
vertical-align: baseline; |
|||
} |
|||
|
|||
[hidden] { |
|||
display: none !important; |
|||
} |
|||
|
|||
/*# sourceMappingURL=bootstrap-reboot.css.map */ |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,588 @@ |
|||
/*! |
|||
* Bootstrap Reboot v5.3.0-alpha3 (https://getbootstrap.com/) |
|||
* Copyright 2011-2023 The Bootstrap Authors |
|||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) |
|||
*/ |
|||
:root, |
|||
[data-bs-theme=light] { |
|||
--bs-blue: #0d6efd; |
|||
--bs-indigo: #6610f2; |
|||
--bs-purple: #6f42c1; |
|||
--bs-pink: #d63384; |
|||
--bs-red: #dc3545; |
|||
--bs-orange: #fd7e14; |
|||
--bs-yellow: #ffc107; |
|||
--bs-green: #198754; |
|||
--bs-teal: #20c997; |
|||
--bs-cyan: #0dcaf0; |
|||
--bs-black: #000; |
|||
--bs-white: #fff; |
|||
--bs-gray: #6c757d; |
|||
--bs-gray-dark: #343a40; |
|||
--bs-gray-100: #f8f9fa; |
|||
--bs-gray-200: #e9ecef; |
|||
--bs-gray-300: #dee2e6; |
|||
--bs-gray-400: #ced4da; |
|||
--bs-gray-500: #adb5bd; |
|||
--bs-gray-600: #6c757d; |
|||
--bs-gray-700: #495057; |
|||
--bs-gray-800: #343a40; |
|||
--bs-gray-900: #212529; |
|||
--bs-primary: #0d6efd; |
|||
--bs-secondary: #6c757d; |
|||
--bs-success: #198754; |
|||
--bs-info: #0dcaf0; |
|||
--bs-warning: #ffc107; |
|||
--bs-danger: #dc3545; |
|||
--bs-light: #f8f9fa; |
|||
--bs-dark: #212529; |
|||
--bs-primary-rgb: 13, 110, 253; |
|||
--bs-secondary-rgb: 108, 117, 125; |
|||
--bs-success-rgb: 25, 135, 84; |
|||
--bs-info-rgb: 13, 202, 240; |
|||
--bs-warning-rgb: 255, 193, 7; |
|||
--bs-danger-rgb: 220, 53, 69; |
|||
--bs-light-rgb: 248, 249, 250; |
|||
--bs-dark-rgb: 33, 37, 41; |
|||
--bs-primary-text-emphasis: #052c65; |
|||
--bs-secondary-text-emphasis: #2b2f32; |
|||
--bs-success-text-emphasis: #0a3622; |
|||
--bs-info-text-emphasis: #055160; |
|||
--bs-warning-text-emphasis: #664d03; |
|||
--bs-danger-text-emphasis: #58151c; |
|||
--bs-light-text-emphasis: #495057; |
|||
--bs-dark-text-emphasis: #495057; |
|||
--bs-primary-bg-subtle: #cfe2ff; |
|||
--bs-secondary-bg-subtle: #e2e3e5; |
|||
--bs-success-bg-subtle: #d1e7dd; |
|||
--bs-info-bg-subtle: #cff4fc; |
|||
--bs-warning-bg-subtle: #fff3cd; |
|||
--bs-danger-bg-subtle: #f8d7da; |
|||
--bs-light-bg-subtle: #fcfcfd; |
|||
--bs-dark-bg-subtle: #ced4da; |
|||
--bs-primary-border-subtle: #9ec5fe; |
|||
--bs-secondary-border-subtle: #c4c8cb; |
|||
--bs-success-border-subtle: #a3cfbb; |
|||
--bs-info-border-subtle: #9eeaf9; |
|||
--bs-warning-border-subtle: #ffe69c; |
|||
--bs-danger-border-subtle: #f1aeb5; |
|||
--bs-light-border-subtle: #e9ecef; |
|||
--bs-dark-border-subtle: #adb5bd; |
|||
--bs-white-rgb: 255, 255, 255; |
|||
--bs-black-rgb: 0, 0, 0; |
|||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; |
|||
--bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; |
|||
--bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); |
|||
--bs-body-font-family: var(--bs-font-sans-serif); |
|||
--bs-body-font-size: 1rem; |
|||
--bs-body-font-weight: 400; |
|||
--bs-body-line-height: 1.5; |
|||
--bs-body-color: #212529; |
|||
--bs-body-color-rgb: 33, 37, 41; |
|||
--bs-body-bg: #fff; |
|||
--bs-body-bg-rgb: 255, 255, 255; |
|||
--bs-emphasis-color: #000; |
|||
--bs-emphasis-color-rgb: 0, 0, 0; |
|||
--bs-secondary-color: rgba(33, 37, 41, 0.75); |
|||
--bs-secondary-color-rgb: 33, 37, 41; |
|||
--bs-secondary-bg: #e9ecef; |
|||
--bs-secondary-bg-rgb: 233, 236, 239; |
|||
--bs-tertiary-color: rgba(33, 37, 41, 0.5); |
|||
--bs-tertiary-color-rgb: 33, 37, 41; |
|||
--bs-tertiary-bg: #f8f9fa; |
|||
--bs-tertiary-bg-rgb: 248, 249, 250; |
|||
--bs-link-color: #0d6efd; |
|||
--bs-link-color-rgb: 13, 110, 253; |
|||
--bs-link-decoration: underline; |
|||
--bs-link-hover-color: #0a58ca; |
|||
--bs-link-hover-color-rgb: 10, 88, 202; |
|||
--bs-code-color: #d63384; |
|||
--bs-highlight-bg: #fff3cd; |
|||
--bs-border-width: 1px; |
|||
--bs-border-style: solid; |
|||
--bs-border-color: #dee2e6; |
|||
--bs-border-color-translucent: rgba(0, 0, 0, 0.175); |
|||
--bs-border-radius: 0.375rem; |
|||
--bs-border-radius-sm: 0.25rem; |
|||
--bs-border-radius-lg: 0.5rem; |
|||
--bs-border-radius-xl: 1rem; |
|||
--bs-border-radius-xxl: 2rem; |
|||
--bs-border-radius-2xl: var(--bs-border-radius-xxl); |
|||
--bs-border-radius-pill: 50rem; |
|||
--bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15); |
|||
--bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075); |
|||
--bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175); |
|||
--bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075); |
|||
--bs-focus-ring-width: 0.25rem; |
|||
--bs-focus-ring-opacity: 0.25; |
|||
--bs-focus-ring-color: rgba(13, 110, 253, 0.25); |
|||
--bs-form-valid-color: #198754; |
|||
--bs-form-valid-border-color: #198754; |
|||
--bs-form-invalid-color: #dc3545; |
|||
--bs-form-invalid-border-color: #dc3545; |
|||
} |
|||
|
|||
[data-bs-theme=dark] { |
|||
color-scheme: dark; |
|||
--bs-body-color: #adb5bd; |
|||
--bs-body-color-rgb: 173, 181, 189; |
|||
--bs-body-bg: #212529; |
|||
--bs-body-bg-rgb: 33, 37, 41; |
|||
--bs-emphasis-color: #fff; |
|||
--bs-emphasis-color-rgb: 255, 255, 255; |
|||
--bs-secondary-color: rgba(173, 181, 189, 0.75); |
|||
--bs-secondary-color-rgb: 173, 181, 189; |
|||
--bs-secondary-bg: #343a40; |
|||
--bs-secondary-bg-rgb: 52, 58, 64; |
|||
--bs-tertiary-color: rgba(173, 181, 189, 0.5); |
|||
--bs-tertiary-color-rgb: 173, 181, 189; |
|||
--bs-tertiary-bg: #2b3035; |
|||
--bs-tertiary-bg-rgb: 43, 48, 53; |
|||
--bs-primary-text-emphasis: #6ea8fe; |
|||
--bs-secondary-text-emphasis: #a7acb1; |
|||
--bs-success-text-emphasis: #75b798; |
|||
--bs-info-text-emphasis: #6edff6; |
|||
--bs-warning-text-emphasis: #ffda6a; |
|||
--bs-danger-text-emphasis: #ea868f; |
|||
--bs-light-text-emphasis: #f8f9fa; |
|||
--bs-dark-text-emphasis: #dee2e6; |
|||
--bs-primary-bg-subtle: #031633; |
|||
--bs-secondary-bg-subtle: #161719; |
|||
--bs-success-bg-subtle: #051b11; |
|||
--bs-info-bg-subtle: #032830; |
|||
--bs-warning-bg-subtle: #332701; |
|||
--bs-danger-bg-subtle: #2c0b0e; |
|||
--bs-light-bg-subtle: #343a40; |
|||
--bs-dark-bg-subtle: #1a1d20; |
|||
--bs-primary-border-subtle: #084298; |
|||
--bs-secondary-border-subtle: #41464b; |
|||
--bs-success-border-subtle: #0f5132; |
|||
--bs-info-border-subtle: #087990; |
|||
--bs-warning-border-subtle: #997404; |
|||
--bs-danger-border-subtle: #842029; |
|||
--bs-light-border-subtle: #495057; |
|||
--bs-dark-border-subtle: #343a40; |
|||
--bs-link-color: #6ea8fe; |
|||
--bs-link-hover-color: #8bb9fe; |
|||
--bs-link-color-rgb: 110, 168, 254; |
|||
--bs-link-hover-color-rgb: 139, 185, 254; |
|||
--bs-code-color: #e685b5; |
|||
--bs-border-color: #495057; |
|||
--bs-border-color-translucent: rgba(255, 255, 255, 0.15); |
|||
--bs-form-valid-color: #75b798; |
|||
--bs-form-valid-border-color: #75b798; |
|||
--bs-form-invalid-color: #ea868f; |
|||
--bs-form-invalid-border-color: #ea868f; |
|||
} |
|||
|
|||
*, |
|||
*::before, |
|||
*::after { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
@media (prefers-reduced-motion: no-preference) { |
|||
:root { |
|||
scroll-behavior: smooth; |
|||
} |
|||
} |
|||
|
|||
body { |
|||
margin: 0; |
|||
font-family: var(--bs-body-font-family); |
|||
font-size: var(--bs-body-font-size); |
|||
font-weight: var(--bs-body-font-weight); |
|||
line-height: var(--bs-body-line-height); |
|||
color: var(--bs-body-color); |
|||
text-align: var(--bs-body-text-align); |
|||
background-color: var(--bs-body-bg); |
|||
-webkit-text-size-adjust: 100%; |
|||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
|||
} |
|||
|
|||
hr { |
|||
margin: 1rem 0; |
|||
color: inherit; |
|||
border: 0; |
|||
border-top: var(--bs-border-width) solid; |
|||
opacity: 0.25; |
|||
} |
|||
|
|||
h6, h5, h4, h3, h2, h1 { |
|||
margin-top: 0; |
|||
margin-bottom: 0.5rem; |
|||
font-weight: 500; |
|||
line-height: 1.2; |
|||
color: var(--bs-heading-color, inherit); |
|||
} |
|||
|
|||
h1 { |
|||
font-size: calc(1.375rem + 1.5vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h1 { |
|||
font-size: 2.5rem; |
|||
} |
|||
} |
|||
|
|||
h2 { |
|||
font-size: calc(1.325rem + 0.9vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h2 { |
|||
font-size: 2rem; |
|||
} |
|||
} |
|||
|
|||
h3 { |
|||
font-size: calc(1.3rem + 0.6vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h3 { |
|||
font-size: 1.75rem; |
|||
} |
|||
} |
|||
|
|||
h4 { |
|||
font-size: calc(1.275rem + 0.3vw); |
|||
} |
|||
@media (min-width: 1200px) { |
|||
h4 { |
|||
font-size: 1.5rem; |
|||
} |
|||
} |
|||
|
|||
h5 { |
|||
font-size: 1.25rem; |
|||
} |
|||
|
|||
h6 { |
|||
font-size: 1rem; |
|||
} |
|||
|
|||
p { |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
} |
|||
|
|||
abbr[title] { |
|||
-webkit-text-decoration: underline dotted; |
|||
text-decoration: underline dotted; |
|||
cursor: help; |
|||
-webkit-text-decoration-skip-ink: none; |
|||
text-decoration-skip-ink: none; |
|||
} |
|||
|
|||
address { |
|||
margin-bottom: 1rem; |
|||
font-style: normal; |
|||
line-height: inherit; |
|||
} |
|||
|
|||
ol, |
|||
ul { |
|||
padding-right: 2rem; |
|||
} |
|||
|
|||
ol, |
|||
ul, |
|||
dl { |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
} |
|||
|
|||
ol ol, |
|||
ul ul, |
|||
ol ul, |
|||
ul ol { |
|||
margin-bottom: 0; |
|||
} |
|||
|
|||
dt { |
|||
font-weight: 700; |
|||
} |
|||
|
|||
dd { |
|||
margin-bottom: 0.5rem; |
|||
margin-right: 0; |
|||
} |
|||
|
|||
blockquote { |
|||
margin: 0 0 1rem; |
|||
} |
|||
|
|||
b, |
|||
strong { |
|||
font-weight: bolder; |
|||
} |
|||
|
|||
small { |
|||
font-size: 0.875em; |
|||
} |
|||
|
|||
mark { |
|||
padding: 0.1875em; |
|||
background-color: var(--bs-highlight-bg); |
|||
} |
|||
|
|||
sub, |
|||
sup { |
|||
position: relative; |
|||
font-size: 0.75em; |
|||
line-height: 0; |
|||
vertical-align: baseline; |
|||
} |
|||
|
|||
sub { |
|||
bottom: -0.25em; |
|||
} |
|||
|
|||
sup { |
|||
top: -0.5em; |
|||
} |
|||
|
|||
a { |
|||
color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1)); |
|||
text-decoration: underline; |
|||
} |
|||
a:hover { |
|||
--bs-link-color-rgb: var(--bs-link-hover-color-rgb); |
|||
} |
|||
|
|||
a:not([href]):not([class]), a:not([href]):not([class]):hover { |
|||
color: inherit; |
|||
text-decoration: none; |
|||
} |
|||
|
|||
pre, |
|||
code, |
|||
kbd, |
|||
samp { |
|||
font-family: var(--bs-font-monospace); |
|||
font-size: 1em; |
|||
} |
|||
|
|||
pre { |
|||
display: block; |
|||
margin-top: 0; |
|||
margin-bottom: 1rem; |
|||
overflow: auto; |
|||
font-size: 0.875em; |
|||
} |
|||
pre code { |
|||
font-size: inherit; |
|||
color: inherit; |
|||
word-break: normal; |
|||
} |
|||
|
|||
code { |
|||
font-size: 0.875em; |
|||
color: var(--bs-code-color); |
|||
word-wrap: break-word; |
|||
} |
|||
a > code { |
|||
color: inherit; |
|||
} |
|||
|
|||
kbd { |
|||
padding: 0.1875rem 0.375rem; |
|||
font-size: 0.875em; |
|||
color: var(--bs-body-bg); |
|||
background-color: var(--bs-body-color); |
|||
border-radius: 0.25rem; |
|||
} |
|||
kbd kbd { |
|||
padding: 0; |
|||
font-size: 1em; |
|||
} |
|||
|
|||
figure { |
|||
margin: 0 0 1rem; |
|||
} |
|||
|
|||
img, |
|||
svg { |
|||
vertical-align: middle; |
|||
} |
|||
|
|||
table { |
|||
caption-side: bottom; |
|||
border-collapse: collapse; |
|||
} |
|||
|
|||
caption { |
|||
padding-top: 0.5rem; |
|||
padding-bottom: 0.5rem; |
|||
color: var(--bs-secondary-color); |
|||
text-align: right; |
|||
} |
|||
|
|||
th { |
|||
text-align: inherit; |
|||
text-align: -webkit-match-parent; |
|||
} |
|||
|
|||
thead, |
|||
tbody, |
|||
tfoot, |
|||
tr, |
|||
td, |
|||
th { |
|||
border-color: inherit; |
|||
border-style: solid; |
|||
border-width: 0; |
|||
} |
|||
|
|||
label { |
|||
display: inline-block; |
|||
} |
|||
|
|||
button { |
|||
border-radius: 0; |
|||
} |
|||
|
|||
button:focus:not(:focus-visible) { |
|||
outline: 0; |
|||
} |
|||
|
|||
input, |
|||
button, |
|||
select, |
|||
optgroup, |
|||
textarea { |
|||
margin: 0; |
|||
font-family: inherit; |
|||
font-size: inherit; |
|||
line-height: inherit; |
|||
} |
|||
|
|||
button, |
|||
select { |
|||
text-transform: none; |
|||
} |
|||
|
|||
[role=button] { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
select { |
|||
word-wrap: normal; |
|||
} |
|||
select:disabled { |
|||
opacity: 1; |
|||
} |
|||
|
|||
[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator { |
|||
display: none !important; |
|||
} |
|||
|
|||
button, |
|||
[type=button], |
|||
[type=reset], |
|||
[type=submit] { |
|||
-webkit-appearance: button; |
|||
} |
|||
button:not(:disabled), |
|||
[type=button]:not(:disabled), |
|||
[type=reset]:not(:disabled), |
|||
[type=submit]:not(:disabled) { |
|||
cursor: pointer; |
|||
} |
|||
|
|||
::-moz-focus-inner { |
|||
padding: 0; |
|||
border-style: none; |
|||
} |
|||
|
|||
textarea { |
|||
resize: vertical; |
|||
} |
|||
|
|||
fieldset { |
|||
min-width: 0; |
|||
padding: 0; |
|||
margin: 0; |
|||
border: 0; |
|||
} |
|||
|
|||
legend { |
|||
float: right; |
|||
width: 100%; |
|||
padding: 0; |
|||
margin-bottom: 0.5rem; |
|||
font-size: calc(1.275rem + 0.3vw); |
|||
line-height: inherit; |
|||
} |
|||
@media (min-width: 1200px) { |
|||
legend { |
|||
font-size: 1.5rem; |
|||
} |
|||
} |
|||
legend + * { |
|||
clear: right; |
|||
} |
|||
|
|||
::-webkit-datetime-edit-fields-wrapper, |
|||
::-webkit-datetime-edit-text, |
|||
::-webkit-datetime-edit-minute, |
|||
::-webkit-datetime-edit-hour-field, |
|||
::-webkit-datetime-edit-day-field, |
|||
::-webkit-datetime-edit-month-field, |
|||
::-webkit-datetime-edit-year-field { |
|||
padding: 0; |
|||
} |
|||
|
|||
::-webkit-inner-spin-button { |
|||
height: auto; |
|||
} |
|||
|
|||
[type=search] { |
|||
outline-offset: -2px; |
|||
-webkit-appearance: textfield; |
|||
} |
|||
|
|||
[type="tel"], |
|||
[type="url"], |
|||
[type="email"], |
|||
[type="number"] { |
|||
direction: ltr; |
|||
} |
|||
::-webkit-search-decoration { |
|||
-webkit-appearance: none; |
|||
} |
|||
|
|||
::-webkit-color-swatch-wrapper { |
|||
padding: 0; |
|||
} |
|||
|
|||
::-webkit-file-upload-button { |
|||
font: inherit; |
|||
-webkit-appearance: button; |
|||
} |
|||
|
|||
::file-selector-button { |
|||
font: inherit; |
|||
-webkit-appearance: button; |
|||
} |
|||
|
|||
output { |
|||
display: inline-block; |
|||
} |
|||
|
|||
iframe { |
|||
border: 0; |
|||
} |
|||
|
|||
summary { |
|||
display: list-item; |
|||
cursor: pointer; |
|||
} |
|||
|
|||
progress { |
|||
vertical-align: baseline; |
|||
} |
|||
|
|||
[hidden] { |
|||
display: none !important; |
|||
} |
|||
/*# sourceMappingURL=bootstrap-reboot.rtl.css.map */ |
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,5 @@ |
|||
<div class="container mt-auto"> |
|||
<footer class="footer"> |
|||
<p class="text-muted"> Návštěvní kniha 2023 - BETA VERZE</p> |
|||
</footer> |
|||
</div> |
@ -0,0 +1,44 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
$ptitle = "Návštěvní kniha"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Navštěvní kniha</title> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
|
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
|
|||
<?php |
|||
if(isset($_SESSION["username"])){ |
|||
|
|||
echo "<h2> vítej uživateli: ".$_SESSION["username"]."</h2>"; |
|||
echo "<h5>username: ".$_SESSION["username"]."</h5>"; |
|||
echo "<h5>userid: ".$_SESSION["userid"]."</h5>"; |
|||
echo "<h5>role: ".$_SESSION["role"]."</h5>"; |
|||
if ($_SESSION["role"] == 1){ |
|||
echo "<p>". var_dump($_SESSION). "</p>"; |
|||
} |
|||
} else { |
|||
echo "<h2> Prosím přihlaš se </h2>"; |
|||
} |
|||
|
|||
?> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
</body> |
|||
</html> |
@ -0,0 +1,35 @@ |
|||
# Informace |
|||
|
|||
## Seznam rolí |
|||
|
|||
- 1 = admin |
|||
- 3 = moderátor |
|||
- 5 = uživatel |
|||
|
|||
## Vlastnosti rolí |
|||
|
|||
### Admin |
|||
povolení: |
|||
|
|||
- [X] Wožnost mazat příspěvky (vlastní + role 3, 5) |
|||
- [ ] možnosti mazat uživatele |
|||
|
|||
### Moderator |
|||
povolení: |
|||
- [ ] možnost mazat příspvěky (vlastní + role 5) |
|||
|
|||
zákaz: |
|||
- [ ] možnost mazat uživatele |
|||
|
|||
### Uživatel |
|||
povolení: |
|||
- [ ] možnost mazat příspěvky (pouze vlastní) |
|||
|
|||
|
|||
## Admin Panel |
|||
- [ ] Zobrazit příspěvky |
|||
- [ ] Zobrazit uživatele |
|||
- [ ] možnost změna hesla pro uživatele |
|||
- [ ] možnost vymazat uživatele |
|||
- [ ] možnost změnit příspěvěk |
|||
- [ ] možnost vymazat příspěvěk |
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -0,0 +1,84 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
$ptitle= "Výpis knihy"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Výpis knihy</title> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
|
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
|
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
|
|||
<!-- <h2>Nadpis</h2> |
|||
<h4>od: jméno</h4> |
|||
<h5>cas</h5> |
|||
<p>zpráva</p> |
|||
<hr> --> |
|||
|
|||
<?php |
|||
$sql = "SELECT nk_prispevky.id, nk_users.username, nk_prispevky.title, nk_prispevky.msg, nk_prispevky.created, nk_users.role |
|||
FROM nk_prispevky |
|||
INNER JOIN nk_users ON nk_prispevky.id_nk_users = nk_users.id |
|||
ORDER BY nk_prispevky.id DESC"; |
|||
$result = mysqli_query($conn,$sql); |
|||
|
|||
if (mysqli_num_rows($result) > 0) { |
|||
while ($row = mysqli_fetch_assoc($result)){ |
|||
echo "<h2>".$row["title"] ."</h2>"; |
|||
echo "<h4> od: " . $row["username"]."</h4>"; |
|||
echo "<h5>". $row["created"] . "</h5>"; |
|||
echo "<p>" . $row["msg"] . "</p>"; |
|||
|
|||
//kontrola přihlášenosti |
|||
if(isset($_SESSION["logged"])){ |
|||
if ($_SESSION["role"] < 5) { |
|||
echo "<p> role vytvoření: ". $row["role"] . "</p>"; |
|||
} |
|||
|
|||
|
|||
//pohled pro moderatora |
|||
if($_SESSION["role"] == 3 && $row["role"] == 5) { |
|||
echo "<a href=\"action_delete.php?id=".$row["id"]."\">Smazat příspěvek</a>"; |
|||
} |
|||
|
|||
//pohled nad vlasstní příspěvek |
|||
if( $row["username"] == $_SESSION["username"]){ |
|||
echo "<a href=\"action_delete.php?id=".$row["id"]."\">Smazat příspěvek</a>"; |
|||
} |
|||
|
|||
|
|||
//pohled pro admina |
|||
|
|||
if($_SESSION["role"] == 1 && $row["username"] != $_SESSION["username"]) { |
|||
echo "<a href=\"action_delete.php?id=".$row["id"]."\">Smazat příspěvek</a>"; |
|||
} |
|||
|
|||
|
|||
// if($_SESSION["role"] < 5){ //počíta se s tím že hodnota existuje |
|||
// echo "<a href=\"action_delete.php?id=".$row["id"]."\">Smazat příspěvek</a>"; |
|||
// } |
|||
} |
|||
echo "<hr>"; |
|||
} |
|||
} |
|||
mysqli_close($conn); |
|||
?> |
|||
</div> |
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
@ -0,0 +1,39 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
$ptitle = "Login"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Login</title> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
<form action="action_login.php" method="post" class="form"> |
|||
<label for="username">Uživatelské jméno</label> |
|||
<br> |
|||
<input type="text" name="username" id="username"> |
|||
<br> |
|||
<label for="pw">Heslo</label> |
|||
<br> |
|||
<input type="password" name="pw" id="pw"> |
|||
<br> |
|||
<input type="submit" value="Login"> |
|||
</form> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
@ -0,0 +1,6 @@ |
|||
<?php |
|||
session_start(); |
|||
session_unset(); |
|||
session_destroy(); |
|||
header("Location: /?logout=1"); |
|||
?> |
@ -0,0 +1,23 @@ |
|||
<header class="py-3 d-flex flex-wrap justify-content-center border-bottom mb-4"> |
|||
<a href="/" class="d-flex align-items-center me-md-auto text-decoration-none text-dark"> |
|||
<h1> |
|||
<?php echo $ptitle; ?> |
|||
</h1> |
|||
</a> |
|||
<ul class="nav nav-pills"> |
|||
<li class="nav-item"><a href="/" class="nav-link">HOME</a></li> |
|||
<li class="nav-item"><a href="list.php" class="nav-link">Vypsat knihu</a></li> |
|||
<li class="nav-item"><a href="write.php" class="nav-link">Zapsat do knihy</a></li> |
|||
<?php |
|||
if(isset($_SESSION["logged"])) { |
|||
echo '<li class="nav-item" ><a href="logout.php" class="nav-link">Odhlásit se</a></li>'; |
|||
if ($_SESSION["role"] == 1) { |
|||
echo '<li class="nav-item"><a href="admin.php" class="nav-link">ADMIN</a></li>'; |
|||
} |
|||
} else { |
|||
echo '<li class="nav-item"><a href="reg.php" class="nav-link">Registrovat se</a></li>'; // kombinace uvozovek |
|||
echo "<li class=\"nav-item\"><a href=\"login.php\" class=\"nav-link\">Přihlásit se</a></li>"; //"escape" znaků |
|||
} |
|||
?> |
|||
</ul> |
|||
</header> |
@ -0,0 +1,56 @@ |
|||
-- Adminer 4.7.6 MySQL dump |
|||
|
|||
SET NAMES utf8; |
|||
SET time_zone = '+00:00'; |
|||
SET foreign_key_checks = 0; |
|||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; |
|||
|
|||
DROP TABLE IF EXISTS `nk_log`; |
|||
CREATE TABLE `nk_log` ( |
|||
`id` int(11) NOT NULL, |
|||
`id_nk_users` int(11) unsigned NOT NULL, |
|||
`logintime` datetime NOT NULL, |
|||
KEY `id_nk_users` (`id_nk_users`), |
|||
CONSTRAINT `nk_log_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`) |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
|
|||
DROP TABLE IF EXISTS `nk_prispevky`; |
|||
CREATE TABLE `nk_prispevky` ( |
|||
`id` int(11) NOT NULL AUTO_INCREMENT, |
|||
`id_nk_users` int(11) unsigned NOT NULL, |
|||
`title` varchar(128) COLLATE utf8_czech_ci NOT NULL, |
|||
`msg` text COLLATE utf8_czech_ci NOT NULL, |
|||
`created` datetime NOT NULL, |
|||
PRIMARY KEY (`id`), |
|||
KEY `id_nk_users` (`id_nk_users`), |
|||
CONSTRAINT `nk_prispevky_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`) |
|||
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
INSERT INTO `nk_prispevky` (`id`, `id_nk_users`, `title`, `msg`, `created`) VALUES |
|||
(1, 3, 'Lorem 1', 'Lorem Ipsum supres', '2023-03-01 23:36:52'), |
|||
(2, 2, 'Lorem 11', 'Lorem ipsumus loremos spravenost', '2023-03-01 23:37:30'), |
|||
(4, 9, 'Test z PHP', 'LOREM lipsum', '2023-03-09 10:12:35'), |
|||
(5, 10, 'Hodnocení', 'Je to tu boží, mám to tady rád ☺', '2023-03-09 10:22:39'), |
|||
(7, 1, 'Ctcrřtky jsou fajne v2', 'testxt', '2023-03-23 09:57:45'), |
|||
(8, 4, 'Zapis od Mod1', 'AHOJ DĚTI', '2023-03-23 10:07:55'); |
|||
|
|||
DROP TABLE IF EXISTS `nk_users`; |
|||
CREATE TABLE `nk_users` ( |
|||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
|||
`username` varchar(32) COLLATE utf8_czech_ci NOT NULL, |
|||
`password` varchar(64) COLLATE utf8_czech_ci NOT NULL, |
|||
`role` int(3) NOT NULL, |
|||
PRIMARY KEY (`id`) |
|||
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
INSERT INTO `nk_users` (`id`, `username`, `password`, `role`) VALUES |
|||
(1, 'admin', 'admin', 1), |
|||
(2, 'user1', 'user1', 5), |
|||
(3, 'user2', 'user2', 5), |
|||
(4, 'mod1', 'mod1', 3), |
|||
(5, 'mod2', 'mod2', 3), |
|||
(9, 'asd', 'asd', 5), |
|||
(10, 'xyz', 'xyz', 5); |
|||
|
|||
-- 2023-03-23 09:32:22 |
@ -0,0 +1,55 @@ |
|||
-- Adminer 4.7.6 MySQL dump |
|||
|
|||
SET NAMES utf8; |
|||
SET time_zone = '+00:00'; |
|||
SET foreign_key_checks = 0; |
|||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO'; |
|||
|
|||
DROP TABLE IF EXISTS `nk_log`; |
|||
CREATE TABLE `nk_log` ( |
|||
`id` int(11) NOT NULL, |
|||
`id_nk_users` int(11) unsigned NOT NULL, |
|||
`logintime` datetime NOT NULL, |
|||
KEY `id_nk_users` (`id_nk_users`), |
|||
CONSTRAINT `nk_log_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`) |
|||
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
|
|||
DROP TABLE IF EXISTS `nk_prispevky`; |
|||
CREATE TABLE `nk_prispevky` ( |
|||
`id` int(11) NOT NULL AUTO_INCREMENT, |
|||
`id_nk_users` int(11) unsigned NOT NULL, |
|||
`title` varchar(128) COLLATE utf8_czech_ci NOT NULL, |
|||
`msg` text COLLATE utf8_czech_ci NOT NULL, |
|||
`created` datetime NOT NULL, |
|||
PRIMARY KEY (`id`), |
|||
KEY `id_nk_users` (`id_nk_users`), |
|||
CONSTRAINT `nk_prispevky_ibfk_1` FOREIGN KEY (`id_nk_users`) REFERENCES `nk_users` (`id`) |
|||
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
INSERT INTO `nk_prispevky` (`id`, `id_nk_users`, `title`, `msg`, `created`) VALUES |
|||
(1, 3, 'Lorem 1', 'Lorem Ipsum supres', '2023-03-01 23:36:52'), |
|||
(2, 2, 'Lorem 11', 'Lorem ipsumus loremos spravenost', '2023-03-01 23:37:30'), |
|||
(3, 2, 'Lorem 12', 'Luromes jolontos procentos', '2023-03-01 23:37:40'), |
|||
(4, 9, 'Test z PHP', 'LOREM lipsum', '2023-03-09 10:12:35'), |
|||
(5, 10, 'Hodnocení', 'Je to tu boží, mám to tady rád ☺', '2023-03-09 10:22:39'); |
|||
|
|||
DROP TABLE IF EXISTS `nk_users`; |
|||
CREATE TABLE `nk_users` ( |
|||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT, |
|||
`username` varchar(32) COLLATE utf8_czech_ci NOT NULL, |
|||
`password` varchar(64) COLLATE utf8_czech_ci NOT NULL, |
|||
`role` int(3) NOT NULL, |
|||
PRIMARY KEY (`id`) |
|||
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8 COLLATE=utf8_czech_ci; |
|||
|
|||
INSERT INTO `nk_users` (`id`, `username`, `password`, `role`) VALUES |
|||
(1, 'admin', 'admin', 1), |
|||
(2, 'user1', 'user1', 5), |
|||
(3, 'user2', 'user2', 5), |
|||
(4, 'mod1', 'mod1', 3), |
|||
(5, 'mod2', 'mod2', 3), |
|||
(9, 'asd', 'asd', 5), |
|||
(10, 'xyz', 'xyz', 5); |
|||
|
|||
-- 2023-03-09 09:24:37 |
@ -0,0 +1,52 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
$ptitle = "Registrace"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Document</title> |
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
|
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
<?php |
|||
if(isset($_GET["error"])){ |
|||
if ($_GET["error"] == "1") { |
|||
echo "<h2>Hesla nejsou stejná</h2>"; |
|||
} |
|||
} |
|||
?> |
|||
<form action="action_reg.php" method="post"> |
|||
<label for="username">Přihlašovací jméno:</label><br> |
|||
<input type="text" name="username" id="username"> |
|||
<br> |
|||
|
|||
<label for="pw1">Heslo:</label><br> |
|||
<input type="password" name="pw1" id="pw1"> |
|||
<br> |
|||
|
|||
<label for="pw2">Opakovat heslo:</label><br> |
|||
<input type="password" name="pw2" id="pw2"> |
|||
<br> |
|||
|
|||
<br> |
|||
<input type="submit" value="Registrovat"> |
|||
|
|||
</form> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
@ -0,0 +1,61 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
|
|||
if(!isset($_SESSION["logged"])){ |
|||
header("Location: /?error=3"); //error 3 = přístup odepřen |
|||
} |
|||
if(!isset($_GET["id"])){ |
|||
header("Location: /?error=4"); //error 4 = špatný vstup |
|||
} |
|||
$id = $_GET["id"]; |
|||
$sql = "SELECT * FROM nk_prispevky WHERE id=$id"; |
|||
$result = mysqli_query($conn,$sql); |
|||
|
|||
if (mysqli_num_rows($result) > 0) { |
|||
while ($row = mysqli_fetch_assoc($result)){ |
|||
$title = $row["title"]; |
|||
$id_nk_users = $row["id_nk_users"]; |
|||
$msg = $row["msg"]; |
|||
} |
|||
} else { |
|||
header("Location: /?error=4"); |
|||
} |
|||
|
|||
$ptitle = "Uprava ID: $id"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Update</title> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
|
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
<form action="action_update_prispevky.php" method="post"> |
|||
<?php |
|||
echo '<input type="text" hidden name="id" id="id" value="'.$id.'">'; |
|||
echo '<input type="text" name="title" id="title" value="'.$title.'"> <br>'; |
|||
echo '<input type="text" name="id_nk_users" id="id_nk_users" value="'.$id_nk_users.'"> <br>'; |
|||
echo '<textarea name="msg" id="msg" cols="30" rows="10">'.$title.'</textarea>' |
|||
|
|||
?> |
|||
<br> |
|||
<input type="submit" value="UPDATE"> |
|||
</form> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
@ -0,0 +1,42 @@ |
|||
<?php |
|||
session_start(); |
|||
include("init.php"); |
|||
|
|||
if(!isset($_SESSION["logged"])){ |
|||
header("Location: /?error=3"); //error 3 = přístup odepřen |
|||
} |
|||
$ptitle="Zápis do knihy"; |
|||
?> |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
<head> |
|||
<meta charset="UTF-8"> |
|||
<meta http-equiv="X-UA-Compatible" content="IE=edge"> |
|||
<meta name="viewport" content="width=device-width, initial-scale=1.0"> |
|||
<title>Zápis do knihy</title> |
|||
<link rel="stylesheet" href="css/bootstrap.css"> |
|||
</head> |
|||
<body class="d-flex flex-column min-vh-100"> |
|||
<div class="container"> |
|||
|
|||
<?php |
|||
include "menu.php"; |
|||
?> |
|||
<form action="action_write.php" method="post"> |
|||
<label for="title">Nadpis:</label><br> |
|||
<input type="text" name="title" id="title"><br> |
|||
|
|||
<label for="msg">Zpráva do knihy:</label><br> |
|||
<textarea name="msg" id="msg" cols="30" rows="10"></textarea> |
|||
<br> |
|||
<input type="submit" value="Zapsat do knihy"> |
|||
</form> |
|||
</div> |
|||
|
|||
<?php |
|||
include "footer.php"; |
|||
?> |
|||
<script src="js/bootstrap.bundle.js"></script> |
|||
|
|||
</body> |
|||
</html> |
Loading…
Reference in new issue