diff --git a/Assets/functions.php b/Assets/functions.php index 26f0d8f..ea10ebf 100644 --- a/Assets/functions.php +++ b/Assets/functions.php @@ -673,4 +673,26 @@ function deleteGuide($bdd, $id) $req->bind_param("i", $id); $req->execute(); return $req->affected_rows > 0; +} + +function updatePratiques($contenu, $bdd) { + $content = htmlspecialchars($contenu, ENT_QUOTES, 'UTF-8'); + $stmt = $bdd->prepare("UPDATE `pratique` SET `content` = ? WHERE `id` = 1 LIMIT 1"); + $stmt->bind_param("s", $content); + + if ($stmt->execute()) { + return true; + } else { + return false; + } +} + +function getPratiques($bdd){ + $results = mysqli_query($bdd, "SELECT * FROM `pratique` WHERE `id`=1"); + if ($results && mysqli_num_rows($results) > 0) { + $row = mysqli_fetch_assoc($results); + return $row['content']; + } else { + return null; + } } \ No newline at end of file diff --git a/admin/admin.php b/admin/admin.php index 7662a2f..6dfb217 100644 --- a/admin/admin.php +++ b/admin/admin.php @@ -159,6 +159,12 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST') { + +
diff --git a/admin/gestionGuides.php b/admin/gestionGuides.php index 2922fc2..713c2c2 100644 --- a/admin/gestionGuides.php +++ b/admin/gestionGuides.php @@ -95,7 +95,6 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { -
@@ -114,6 +113,11 @@ if ($_SERVER["REQUEST_METHOD"] == "POST") { Guides + diff --git a/admin/pratiques.php b/admin/pratiques.php new file mode 100644 index 0000000..7760647 --- /dev/null +++ b/admin/pratiques.php @@ -0,0 +1,118 @@ + + + + + + + Modifier les bonnes pratiques + + + + + + +

Gestion de l'intranet

+ + + + + + + + +
+ + + + + +
+ + +
+ + + + + + + + + \ No newline at end of file diff --git a/admin/save-article.php b/admin/save-article.php new file mode 100644 index 0000000..2673025 --- /dev/null +++ b/admin/save-article.php @@ -0,0 +1,22 @@ + $success]); +} else { + echo json_encode(['success' => false, 'message' => 'Contenu manquant']); +} +?> \ No newline at end of file diff --git a/login.php b/login.php index 95cb021..8477a29 100644 --- a/login.php +++ b/login.php @@ -5,43 +5,48 @@ $bdd = connectBDD("localhost", $config["BDD_USER"], $config["BDD_PASSWD"], $conf session_start(); -if(isset($_POST['user']) && isset($_POST['password']) && isset($_GET['redirect_to'])){ - if(validateCSRFToken($_SESSION['csrf'], $_POST['csrf']) && verifyPassword(getHashPwd($bdd, $_POST['user'])["password"], $_POST['password'])){ - $csrf = ''; - $_SESSION['connected'] = true; - $_SESSION['site'] = getSite($bdd, $_POST['user']); - $_SESSION['permission'] = getUserPerms($bdd, $_POST['user']); - $_SESSION['username'] = $_POST['user']; - header('location: '.$_GET['redirect_to']); - } -}else{ - $csrf = bin2hex(random_bytes(32)); - $_SESSION['csrf'] = $csrf; +if (isset($_POST['user']) && isset($_POST['password']) && isset($_GET['redirect_to'])) { + if (validateCSRFToken($_SESSION['csrf'], $_POST['csrf']) && verifyPassword(getHashPwd($bdd, $_POST['user'])["password"], $_POST['password'])) { + $csrf = ''; + $_SESSION['connected'] = true; + $_SESSION['site'] = getSite($bdd, $_POST['user']); + $_SESSION['permission'] = getUserPerms($bdd, $_POST['user']); + $_SESSION['username'] = $_POST['user']; + header('location: ' . $_GET['redirect_to']); + } +} else { + $csrf = bin2hex(random_bytes(32)); + $_SESSION['csrf'] = $csrf; } ?> + - - - - - Se connecter ! + + + + + Se connecter ! + -
-
- - -
-
- - -
- - -
-Activer mon compte -

En cas d'oubli de votre mot de passe, veuillez contacter Blandine Lemaire au 20117

+
+
+ + +
+
+ + +
+
+ + +
+
+ Activer mon compte +

En cas d'oubli de votre mot de passe, veuillez contacter Blandine Lemaire au 20117

+ \ No newline at end of file diff --git a/pratiques.php b/pratiques.php index 35a157b..d1566c7 100644 --- a/pratiques.php +++ b/pratiques.php @@ -11,11 +11,14 @@ $page = "bonnes pratiques"; Intranet de l'APEI + + + diff --git a/styles-scripts/index.css b/styles-scripts/index.css index 933209d..b1abf85 100644 --- a/styles-scripts/index.css +++ b/styles-scripts/index.css @@ -171,4 +171,8 @@ li.carousel .carouselContent p { .nav-link{ font-size: larger; +} + +p{ + font-size: 1.5rem; } \ No newline at end of file diff --git a/styles-scripts/login.css b/styles-scripts/login.css index b073c0f..696758e 100644 --- a/styles-scripts/login.css +++ b/styles-scripts/login.css @@ -1,4 +1,8 @@ body { padding: 1rem; +} +#button +{ + margin-top: 2px; } \ No newline at end of file diff --git a/styles-scripts/pratiques.css b/styles-scripts/pratiques.css new file mode 100644 index 0000000..f9cb5d4 --- /dev/null +++ b/styles-scripts/pratiques.css @@ -0,0 +1,4 @@ +p +{ + font-size: 1.5rem; +} \ No newline at end of file diff --git a/styles-scripts/pratiques.js b/styles-scripts/pratiques.js new file mode 100644 index 0000000..0263e04 --- /dev/null +++ b/styles-scripts/pratiques.js @@ -0,0 +1,56 @@ +const quill = new Quill('#editor-container', { + theme: 'snow', + modules: { + toolbar: { + container: '#toolbar', + handlers: { + image: function() { + const input = document.createElement('input'); + input.setAttribute('type', 'file'); + input.setAttribute('accept', 'image/*'); + input.click(); + input.onchange = () => { + const file = input.files[0]; + const reader = new FileReader(); + reader.onload = (e) => { + const range = quill.getSelection(); + quill.insertEmbed(range.index, 'image', e.target.result); + }; + reader.readAsDataURL(file); + }; + } + } + } + } +}); + +// Préremplir le contenu de Quill avec les données de la base de données +quill.root.innerHTML = initialContent; + +// Sauvegarder le contenu uniquement lorsque le bouton est cliqué +document.getElementById('save-button').addEventListener('click', () => { + const html = quill.root.innerHTML; // Contenu HTML, y compris les images en base64 + console.log("Contenu HTML sauvegardé :", html); // Affiche ce que l'on va envoyer au serveur + + // Envoi du contenu au serveur uniquement au clic + fetch('save-article.php', { + method: 'POST', + headers: { + 'Content-Type': 'application/json' + }, + body: JSON.stringify({ content: html }) // Le contenu de l'éditeur Quill + }) + .then(response => response.json()) + .then(data => { + if (data.success) { + alert("Données sauvegardées !"); + window.location.href = "admin.php"; // Redirection après la sauvegarde + } else { + alert("Erreur lors de la sauvegarde."); + } + }) + .catch(error => { + console.error('Erreur:', error); + alert("Une erreur s'est produite."); + }); +}); \ No newline at end of file