@ -0,0 +1,485 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2021 The Bootstrap Authors
|
||||
* Copyright 2011-2021 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--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-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-white-rgb: 255, 255, 255;
|
||||
--bs-black-rgb: 0, 0, 0;
|
||||
--bs-body-color-rgb: 33, 37, 41;
|
||||
--bs-body-bg-rgb: 255, 255, 255;
|
||||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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-bg: #fff;
|
||||
}
|
||||
|
||||
*,
|
||||
*::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;
|
||||
background-color: currentColor;
|
||||
border: 0;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
hr:not([size]) {
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
h6, h5, h4, h3, h2, h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
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],
|
||||
abbr[data-bs-original-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.2em;
|
||||
background-color: #fcf8e3;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 0.75em;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0d6efd;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover {
|
||||
color: #0a58ca;
|
||||
}
|
||||
|
||||
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;
|
||||
direction: ltr /* rtl:ignore */;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
|
||||
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: #d63384;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
a > code {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: 0.2rem 0.4rem;
|
||||
font-size: 0.875em;
|
||||
color: #fff;
|
||||
background-color: #212529;
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
kbd kbd {
|
||||
padding: 0;
|
||||
font-size: 1em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
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: #6c757d;
|
||||
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]::-webkit-calendar-picker-indicator {
|
||||
display: none;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
::file-selector-button {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-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 */
|
@ -0,0 +1,482 @@
|
||||
/*!
|
||||
* Bootstrap Reboot v5.1.3 (https://getbootstrap.com/)
|
||||
* Copyright 2011-2021 The Bootstrap Authors
|
||||
* Copyright 2011-2021 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
||||
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
|
||||
*/
|
||||
:root {
|
||||
--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-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-white-rgb: 255, 255, 255;
|
||||
--bs-black-rgb: 0, 0, 0;
|
||||
--bs-body-color-rgb: 33, 37, 41;
|
||||
--bs-body-bg-rgb: 255, 255, 255;
|
||||
--bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", 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-bg: #fff;
|
||||
}
|
||||
|
||||
*,
|
||||
*::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;
|
||||
background-color: currentColor;
|
||||
border: 0;
|
||||
opacity: 0.25;
|
||||
}
|
||||
|
||||
hr:not([size]) {
|
||||
height: 1px;
|
||||
}
|
||||
|
||||
h6, h5, h4, h3, h2, h1 {
|
||||
margin-top: 0;
|
||||
margin-bottom: 0.5rem;
|
||||
font-weight: 500;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
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],
|
||||
abbr[data-bs-original-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.2em;
|
||||
background-color: #fcf8e3;
|
||||
}
|
||||
|
||||
sub,
|
||||
sup {
|
||||
position: relative;
|
||||
font-size: 0.75em;
|
||||
line-height: 0;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #0d6efd;
|
||||
text-decoration: underline;
|
||||
}
|
||||
a:hover {
|
||||
color: #0a58ca;
|
||||
}
|
||||
|
||||
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;
|
||||
direction: ltr ;
|
||||
unicode-bidi: bidi-override;
|
||||
}
|
||||
|
||||
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: #d63384;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
a > code {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
kbd {
|
||||
padding: 0.2rem 0.4rem;
|
||||
font-size: 0.875em;
|
||||
color: #fff;
|
||||
background-color: #212529;
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
kbd kbd {
|
||||
padding: 0;
|
||||
font-size: 1em;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
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: #6c757d;
|
||||
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]::-webkit-calendar-picker-indicator {
|
||||
display: none;
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
::file-selector-button {
|
||||
font: inherit;
|
||||
}
|
||||
|
||||
::-webkit-file-upload-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 */
|
@ -0,0 +1,49 @@
|
||||
.champ-interrupteur {
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.champ-interrupteur input {
|
||||
position: absolute !important;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
height: 1px;
|
||||
width: 1px;
|
||||
border: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.champ-interrupteur label {
|
||||
background-color: #e4e4e4;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
|
||||
transition: all 0.1s ease-in-out;
|
||||
width: 38px;
|
||||
height: 34px;
|
||||
}
|
||||
|
||||
.champ-interrupteur label:hover {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.champ-interrupteur input:checked + .interrupteur-allumer {
|
||||
background-color: #0d6efd;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.champ-interrupteur input:checked + .interrupteur-eteint {
|
||||
background-color: #dc3545;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.champ-interrupteur label:first-of-type {
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
|
||||
.champ-interrupteur label:last-of-type {
|
||||
border-radius: 0 4px 4px 0;
|
||||
}
|
||||
|
||||
.champ-interrupteur.disabled {
|
||||
pointer-events: none;
|
||||
opacity: .65;
|
||||
}
|
@ -0,0 +1,76 @@
|
||||
body {
|
||||
background-color: #eee;
|
||||
margin-bottom: 100px;
|
||||
}
|
||||
|
||||
#contenu_auth {
|
||||
max-width: 380px;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
#contenu_auth #envoyer {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#logo-accueil {
|
||||
text-align: center;
|
||||
margin: 50px;
|
||||
}
|
||||
|
||||
#logo-accueil img {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
#logo-accueil h1 {
|
||||
color: #FFF;
|
||||
font-size: 40pt;
|
||||
}
|
||||
|
||||
.alert img {
|
||||
height: 1.5em;
|
||||
margin-right: 0.3em;
|
||||
}
|
||||
|
||||
.alert {
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.bouton-flotant {
|
||||
position: fixed;
|
||||
bottom: 20px;
|
||||
right: 20px;
|
||||
background-color: #0d6efd;
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border: 2px solid #0d6efd;
|
||||
}
|
||||
|
||||
.contour-pastille {
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.interieur-pastille {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.titre-pastille {
|
||||
width: calc(100% - 122px);
|
||||
text-align: center;
|
||||
padding-top: 4px;
|
||||
padding-left: 10px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.bouton-ajout{
|
||||
padding: .375rem .475rem;
|
||||
}
|
||||
|
||||
.alert {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.interieur-pastille-bleu {
|
||||
background-color: #cfe2ff;
|
||||
}
|
After Width: | Height: | Size: 419 B |
After Width: | Height: | Size: 419 B |
After Width: | Height: | Size: 323 B |
After Width: | Height: | Size: 318 B |
After Width: | Height: | Size: 342 B |
After Width: | Height: | Size: 371 B |
After Width: | Height: | Size: 354 B |
After Width: | Height: | Size: 296 B |
After Width: | Height: | Size: 384 B |
After Width: | Height: | Size: 309 B |
After Width: | Height: | Size: 440 B |
@ -1,37 +1,60 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page importé intégrant le menu de navigation dans la page d'administration centrale.
|
||||
*/
|
||||
|
||||
echo <<<_HEREDOC_
|
||||
<div>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="/pages/gestion/administration.php?page=accueil">Courtail</a></td>
|
||||
<td><a href="/pages/gestion/administration.php?page=alias">Alias</a></td>
|
||||
_HEREDOC_;
|
||||
if (testPrivileges()=="administrateur") {
|
||||
echo <<<_HEREDOC_
|
||||
<td><a href="/pages/gestion/administration.php?page=domaines">Domaines</a></td>
|
||||
<td><a href="/pages/gestion/administration.php?page=listes_noires">Listes noires</a></td>
|
||||
_HEREDOC_;
|
||||
}
|
||||
echo <<<_HEREDOC_
|
||||
<td><a href="/pages/gestion/administration.php?page=parametres">Paramètres</a></td>
|
||||
<td><a href="/services/traitements/utilisateurs/deconnexion.php">Déconnexion</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
_HEREDOC_;
|
||||
if (isset($_GET['page']) && !empty($_GET['page'])) {
|
||||
?>
|
||||
|
||||
<nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #343a40;">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand" href="/pages/gestion/administration.php?page=accueil">Courtail</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <?php if ($_GET['page'] == 'accueil' || $_GET['page'] == 'alias') {echo 'active';} ?>" href="/pages/gestion/administration.php?page=alias">Alias</a>
|
||||
</li>
|
||||
<?php if (testPrivileges()=="administrateur") { ?>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <?php if ($_GET['page'] == 'domaines') {echo 'active';} ?>" href="/pages/gestion/administration.php?page=domaines">Domaines</a>
|
||||
</li>
|
||||
<li class="nav-item dropdown">
|
||||
<a class="nav-link dropdown-toggle" href="/pages/gestion/administration.php?page=listes_noires&sousPage=destinataires" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
||||
Listes noires
|
||||
</a>
|
||||
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
|
||||
<li><a class="dropdown-item" href="/pages/gestion/administration.php?page=listes_noires&sousPage=destinataires">Destinataires</a></li>
|
||||
<li><a class="dropdown-item" href="/pages/gestion/administration.php?page=listes_noires&sousPage=expediteurs">Expéditeurs</a></li>
|
||||
</ul>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav ms-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link <?php if ($_GET['page'] == 'parametres') {echo 'active';} ?>" href="/pages/gestion/administration.php?page=parametres">Paramètres</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="/services/traitements/utilisateurs/deconnexion.php">Déconnexion</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
if (isset($_GET['message']) && !empty($_GET['message'])) {
|
||||
/*if (isset($_GET['message']) && !empty($_GET['message'])) {
|
||||
switch ($_GET['message']) {
|
||||
case "bienvenue":
|
||||
echo "<p class=\"messages_retour_ko\">Bienvenue ".$_SESSION['nom_utilisateur'].". Vous êtes authentifié en tant qu'".$_SESSION['privilege_utilisateur'].".</p>";
|
||||
echo "<div class=\"alert alert-success\" role=\"alert\">Bienvenue ".$_SESSION['nom_utilisateur'].". Vous êtes authentifié en tant qu'".$_SESSION['privilege_utilisateur'].".</div>";
|
||||
break;
|
||||
}
|
||||
}
|
||||
}*/
|
||||
|
||||
?>
|
||||
?>
|
||||
|
@ -1,3 +1,3 @@
|
||||
<script src="/fichiers/js/bootstrap.js"></script>
|
||||
<script src="/fichiers/js/bootstrap.bundle.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
</html>
|
||||
|
@ -1,31 +0,0 @@
|
||||
-- Alias (ne doivent pas apparaître)
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("toto","test1",1);
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("tata","test2",0);
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("titi","test3",1);
|
||||
|
||||
-- Alias virtuels
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("toto@toto.fr","comptable@toto.fr",1);
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("toto@toto.fr","medecin@toto.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("toto@toto.fr","supermacher@toto.fr",1);
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("tata@toto.fr","fleuriste@toto.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("tata@toto.fr","coiffeur@toto.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (courriel,destination,active) VALUES ("titi@toto.fr","promos@toto.fr",1);
|
||||
|
||||
-- Domaines secondaires
|
||||
INSERT INTO postfix_domaines (domaine,active,defaut) VALUES ("toto.fr",1,1);
|
||||
INSERT INTO postfix_domaines (domaine,active) VALUES ("tata.fr",1);
|
||||
INSERT INTO postfix_domaines (domaine,active) VALUES ("titi.fr",0);
|
||||
|
||||
-- Listes noires destinataires
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("root@mail.exemple.fr","REJECT",1);
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("git@mail.exemple.fr","REJECT",1);
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("liste@mail.exemple.fr","REJECT",1);
|
||||
|
||||
-- Listes noires expéditeurs
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("tata@toto.fr",554,"Parle à ma main, ma tête est malade.",0);
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("bob@titi.fr",554,"Parle à ma main, ma tête est malade.",1);
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("roland@tata.fr",554,"Parle à ma main, ma tête est malade.",1);
|
||||
|
||||
-- Listes utilisateurs
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege,active) VALUES ("toto","toto","Alphonse Pastacaisse",5000,5000,"administrateur",1);
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,uid,gid,privilege, active) VALUES ("tata", "tata", "Jonathan Quesquiestjaune", 5000, 5000, "utilisateur", 1);
|
@ -0,0 +1,34 @@
|
||||
|
||||
-- Alias (ne doivent pas apparaître)
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("toto","test1",1);
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("tata","test2",0);
|
||||
INSERT INTO postfix_alias (alias,destination,active) VALUES ("titi","test3",1);
|
||||
|
||||
-- Alias virtuels
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("toto@exemple.fr","comptable@exemple.fr",1);
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("toto@exemple.fr","medecin@exemple.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("toto@exemple.fr","supermacher@exemple.fr",1);
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("tata@exemple.fr","fleuriste@exemple.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("tata@exemple.fr","coiffeur@exemple.fr",0);
|
||||
INSERT INTO postfix_alias_virtuels (destination,courriel,active) VALUES ("titi@exemple.fr","promos@exemple.fr",1);
|
||||
|
||||
-- Domaines secondaires
|
||||
INSERT INTO postfix_domaines (domaine,active,defaut) VALUES ("toto.fr",1,0);
|
||||
INSERT INTO postfix_domaines (domaine,active,defaut) VALUES ("tata.fr",1,0);
|
||||
INSERT INTO postfix_domaines (domaine,active,defaut) VALUES ("titi.fr",0,0);
|
||||
|
||||
-- Listes noires destinataires
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("root@mail.exemple.fr","REJECT",1);
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("git@mail.exemple.fr","REJECT",1);
|
||||
INSERT INTO postfix_liste_noire_destinataires (courriel,action,active) VALUES ("liste@mail.exemple.fr","REJECT",1);
|
||||
|
||||
-- Listes noires expéditeurs
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("tata@exemple.fr",554,"Parle à ma main, ma tête est malade.",0);
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("bob@titi.fr",554,"Parle à ma main, ma tête est malade.",1);
|
||||
INSERT INTO postfix_liste_noire_expediteurs (courriel,code_retour,message,active) VALUES ("roland@tata.fr",554,"Parle à ma main, ma tête est malade.",1);
|
||||
|
||||
-- Listes utilisateurs
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,active) VALUES ("toto@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Toto
|
||||
Dupont","exemple.fr/toto/",3000,3000,"administrateur",1);
|
||||
INSERT INTO postfix_utilisateurs (utilisateur,mot_de_passe,nom_complet,rep_perso,uid,gid,privilege,prefixe,active) VALUES ("tata@exemple.fr","{SHA512-CRYPT}$6$xWfisyC6fLawFcBr$zLm4hfRfs6Pn0RKArnyWcgliBy6lpnRUkDHfHMkvskShfLiv4pRIU6XC5ry0ysd.DeKhoAiZUfnNdmwIai2k50","Toto
|
||||
Dupont","exemple.fr/tata/",3000,3000,"utilisateur","ta.",1)
|
@ -1,3 +1,3 @@
|
||||
#!/bin/sh
|
||||
docker build -t courtail ../
|
||||
docker run -it -p 8080:80 courtail:latest
|
||||
docker run -it -p 8080:80 courtail:latest
|
||||
|
@ -1,48 +1,56 @@
|
||||
<!-- Page d'accueil du portail.
|
||||
-- Impose une authentification du visiteur pour continuer.
|
||||
-- Redirige les tentative d'identification pour traitement et test de légitimité.
|
||||
-->
|
||||
|
||||
<div id="contenu" class="contenu">
|
||||
<div id="contenu_auth">
|
||||
</br>
|
||||
<table id="authentification">
|
||||
<form method="post" action="/services/traitements/utilisateurs/identification.php">
|
||||
<tr>
|
||||
<td><label for="identifiant">Votre nom d'utilisateur :</label><br/></td>
|
||||
<td><input type="email" name="identifiant" id="identifiant" required/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="mdp">Votre mot de passe :</label><br/></td>
|
||||
<td><input type="password" name="mdp" id="mdp" required/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input class="envoyer" type="submit" value="envoyer"/></td>
|
||||
</tr>
|
||||
</form>
|
||||
</table>
|
||||
|
||||
<?php
|
||||
|
||||
if (isset($_GET['erreur']) && !empty($_GET['erreur'])){
|
||||
switch ($_GET['erreur']) {
|
||||
case 1:
|
||||
echo "<p class=\"messages_retour_ko\">Identifiant ou mot de passe incorrecte.</p>";
|
||||
break;
|
||||
case 2:
|
||||
echo "<p class=\"messages_retour_ko\">Vous n'avez pas les privilèges nécessaires.</p>";
|
||||
break;
|
||||
}
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Page d'accueil du portail.
|
||||
* Impose une authentification du visiteur pour continuer.
|
||||
* Redirige les tentative d'identification pour traitement et test de légitimité.
|
||||
*/
|
||||
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/entete.php");
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/services/fonctions/messages/messages.php");
|
||||
|
||||
?>
|
||||
|
||||
<div id="contenu" class="contenu container">
|
||||
<div id="logo-accueil" class="logo">
|
||||
<img src="/fichiers/svg/send.svg" alt="courriel">
|
||||
<h1>Courtail</h1>
|
||||
</div>
|
||||
<div class="card" id="contenu_auth">
|
||||
<div class="card-body">
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Affichage d'une bannière d'état sur l'action précedemment effectuée.
|
||||
*/
|
||||
if (isset($_GET['erreur']) && !empty($_GET['erreur'])) {
|
||||
retourneMessage('erreurs',$_GET['erreur']);
|
||||
}
|
||||
elseif (isset($_GET['succes']) && !empty($_GET['succes'])){
|
||||
switch ($_GET['succes']) {
|
||||
case 1:
|
||||
echo "<p class=\"messages_retour_ok\">Vous avez bien été déconnecté.</p>";
|
||||
break;
|
||||
}
|
||||
elseif (isset($_GET['succes']) && !empty($_GET['succes'])) {
|
||||
retourneMessage('succes',$_GET['succes']);
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
?>
|
||||
<form method="post" action="/services/traitements/utilisateurs/identification.php">
|
||||
<div class="form-floating mb-3 mt-3">
|
||||
<input type="email" name="identifiant" class="form-control" id="identifiant" placeholder="nom@example.fr" required/>
|
||||
<label for="identifiant">Votre nom d'utilisateur</label>
|
||||
</div>
|
||||
<div class="form-floating mb-3">
|
||||
<input type="password" name="mdp" class="form-control" id="mdp" placeholder="Mot de passe" required/>
|
||||
<label for="mdp">Votre mot de passe</label>
|
||||
</div>
|
||||
<button id="envoyer" type="submit" class="btn btn-primary">envoyer</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
const body = document.querySelector('body');
|
||||
body.style.backgroundColor = '#343a40';
|
||||
</script>
|
||||
|
||||
<?php
|
||||
require_once($_SERVER["DOCUMENT_ROOT"]."/inclusions/pied.php");
|
||||
?>
|
||||
|