diff options
| author | polo <ordipolo@gmx.fr> | 2021-08-14 01:32:59 +0200 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2021-08-14 01:32:59 +0200 |
| commit | 07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f (patch) | |
| tree | 81fa397b2482984554c2d559e8cca7e08dfec312 | |
| parent | cd4cffac62363c132d5ce98680b0303dd9b4d4f9 (diff) | |
| download | melaine-07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f.tar.gz melaine-07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f.tar.bz2 melaine-07e0291bfad8ef3a8b37bf0d0ebf20df936e7b7f.zip | |
password
| -rw-r--r-- | controller/admin.php | 48 | ||||
| -rw-r--r-- | controller/ckeditor.php | 12 | ||||
| -rw-r--r-- | controller/password.php | 16 | ||||
| -rw-r--r-- | controller/visitor.php | 8 | ||||
| -rw-r--r-- | data/password.txt | 1 | ||||
| -rw-r--r-- | index.php | 11 | ||||
| -rw-r--r-- | model/Classes.php | 8 | ||||
| -rw-r--r-- | public/accueil.css | 12 | ||||
| -rw-r--r-- | public/main.js | 13 | ||||
| -rw-r--r-- | view/connexion.php | 27 | ||||
| -rw-r--r-- | view/melaine.php | 4 | ||||
| -rw-r--r-- | view/template.php | 6 |
12 files changed, 135 insertions, 31 deletions
diff --git a/controller/admin.php b/controller/admin.php index d738dc0..29ccd41 100644 --- a/controller/admin.php +++ b/controller/admin.php | |||
| @@ -31,6 +31,7 @@ function melaineEdit($numArticle, $suppression) | |||
| 31 | { | 31 | { |
| 32 | $Articles->delete(); | 32 | $Articles->delete(); |
| 33 | header('Location: index.php?page=' . $page_actuelle); | 33 | header('Location: index.php?page=' . $page_actuelle); |
| 34 | exit(); | ||
| 34 | } | 35 | } |
| 35 | // modification | 36 | // modification |
| 36 | else | 37 | else |
| @@ -46,22 +47,20 @@ function melaineEdit($numArticle, $suppression) | |||
| 46 | $Articles->reverseFilesArray(); | 47 | $Articles->reverseFilesArray(); |
| 47 | $articles = $Articles->getAll(); | 48 | $articles = $Articles->getAll(); |
| 48 | 49 | ||
| 50 | // sécurisation du contenu pré-existant inséré dans l'éditeur | ||
| 49 | if($numArticle >= 0 && !$suppression) | 51 | if($numArticle >= 0 && !$suppression) |
| 50 | { | 52 | { |
| 51 | // traitements PHP pour l'éditeur | ||
| 52 | require('controller/ckeditor.php'); | 53 | require('controller/ckeditor.php'); |
| 53 | // sécurisation du contenu pré-existant inséré dans l'éditeur | ||
| 54 | $texte = preparationCKeditor($numArticle, $texte); | 54 | $texte = preparationCKeditor($numArticle, $texte); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | // NB: penser à ajouter au template la fonctionnalité "autosave" | 57 | // NB: penser à ajouter au template la fonctionnalité "autosave" |
| 58 | // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html | 58 | // https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html |
| 59 | 59 | ||
| 60 | // création des morceaux en HTML avant assemblage | 60 | // morceaux en HTML à assembler |
| 61 | 61 | // variable $editeurHTML, contient $texte | |
| 62 | // variable $editeurHTML, on insère $texte dedans | ||
| 63 | require('view/template-formulaires.php'); | 62 | require('view/template-formulaires.php'); |
| 64 | // variables $css, $js, $header et $content | 63 | // variables $css, $js, $header et $content, |
| 65 | // $content contient $articles et $editeurHTML | 64 | // $content contient $articles et $editeurHTML |
| 66 | require('view/melaine.php'); | 65 | require('view/melaine.php'); |
| 67 | // fin de l'assemblage | 66 | // fin de l'assemblage |
| @@ -82,25 +81,26 @@ function discoEdit($numArticle, $suppression) | |||
| 82 | // sécurisation du contenu pré-existant inséré dans l'éditeur | 81 | // sécurisation du contenu pré-existant inséré dans l'éditeur |
| 83 | $texte = preparationCKeditor($numArticle, $texte); | 82 | $texte = preparationCKeditor($numArticle, $texte); |
| 84 | 83 | ||
| 85 | // variable $editeurHTML, on insère $texte dedans | 84 | // morceaux en HTML à assembler |
| 85 | // variable $editeurHTML, contient $texte | ||
| 86 | require('view/template-formulaires.php'); | 86 | require('view/template-formulaires.php'); |
| 87 | // variables $css, $js, $header et $content | 87 | // variables $css, $js, $header et $content, |
| 88 | // $content contient ???? et $editeurHTML | 88 | // $content contient ???? et $editeurHTML |
| 89 | require('view/discographie.php'); | 89 | require('view/discographie.php'); |
| 90 | // fin de l'assemblage | 90 | // fin de l'assemblage |
| 91 | require('view/template.php'); | 91 | require('view/template.php'); |
| 92 | } | 92 | } |
| 93 | 93 | ||
| 94 | function changerMotDePasse($secret, $from) | 94 | function changerMotDePasse($secret) |
| 95 | { | 95 | { |
| 96 | // vérification supplémentaire | 96 | // vérification supplémentaire |
| 97 | if($_SESSION['admin'] !== 1) | 97 | if($_SESSION['admin'] !== 1) |
| 98 | { | 98 | { |
| 99 | $_SESSION['admin'] = 0; | 99 | $_SESSION['admin'] = 0; |
| 100 | header('Location: index.php?page=' . $_GET['from']); | 100 | header('Location: index.php?page=' . $_GET['from']); |
| 101 | exit(); | ||
| 101 | } | 102 | } |
| 102 | 103 | ||
| 103 | $title = "nouveau mot de passe"; | ||
| 104 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire | 104 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire |
| 105 | // Et créer une variable de session pour la réponse au CAPTCHA | 105 | // Et créer une variable de session pour la réponse au CAPTCHA |
| 106 | 106 | ||
| @@ -112,7 +112,33 @@ function changerMotDePasse($secret, $from) | |||
| 112 | 112 | ||
| 113 | echo($header); | 113 | echo($header); |
| 114 | 114 | ||
| 115 | // traitements: vérification ancien mot de passe et choix du nouveau | 115 | // traitements: vérification ancien mot de passe et choix du nouveau |
| 116 | // bon mot de passe | ||
| 117 | if(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] == $secret) | ||
| 118 | { | ||
| 119 | // confirmation | ||
| 120 | echo($message); | ||
| 121 | //exit(); | ||
| 122 | |||
| 123 | /*header('Location: index.php?page=' . $_GET['from'] . '&message=nouveau_mdp'); | ||
| 124 | exit();*/ | ||
| 125 | } | ||
| 126 | |||
| 127 | // mauvais mot de passe | ||
| 128 | elseif(isset ($_POST["ancienMotdepasse"]) AND $_POST["ancienMotdepasse"] != $secret) | ||
| 129 | { | ||
| 130 | // défense aux attaques par force brute | ||
| 131 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site | ||
| 132 | echo($erreurMDP); | ||
| 133 | sleep(1); | ||
| 134 | echo($formulaireNouveauMDP); | ||
| 135 | } | ||
| 136 | |||
| 137 | // première arrivée sur la page | ||
| 138 | else | ||
| 139 | { | ||
| 140 | echo($formulaireNouveauMDP); | ||
| 141 | } | ||
| 116 | 142 | ||
| 117 | echo($footer); | 143 | echo($footer); |
| 118 | } | 144 | } |
diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 9262da0..d25e5ac 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php | |||
| @@ -71,13 +71,21 @@ function submitCKeditor($nomFichier) | |||
| 71 | { | 71 | { |
| 72 | $titre = $_POST['titre']; | 72 | $titre = $_POST['titre']; |
| 73 | $annee = $_POST['annee']; | 73 | $annee = $_POST['annee']; |
| 74 | $pochette = $_POST['pochette']; | 74 | $pochette = $_POST['pochette']; // une image |
| 75 | 75 | ||
| 76 | // des formulaires simples | ||
| 76 | $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); | 77 | $titre = htmLawed($titre, $configHtmLawed, $specHtmLawed); |
| 77 | $titre = trim($titre); | 78 | $titre = trim($titre); |
| 78 | $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); | ||
| 79 | $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); | 79 | $annee = htmLawed($annee, $configHtmLawed, $specHtmLawed); |
| 80 | $annee = trim($annee); | 80 | $annee = trim($annee); |
| 81 | |||
| 82 | // pochette | ||
| 83 | // Album->imageUpload(); | ||
| 84 | // test formats jpg, jpeg, png, gif, tiff | ||
| 85 | // enregistrement du fichier | ||
| 86 | |||
| 87 | // du ckeditor | ||
| 88 | $contenu = htmLawed($contenu, $configHtmLawed, $specHtmLawed); | ||
| 81 | $contenu = trim($contenu); | 89 | $contenu = trim($contenu); |
| 82 | } | 90 | } |
| 83 | else // pages comme "melaine" | 91 | else // pages comme "melaine" |
diff --git a/controller/password.php b/controller/password.php new file mode 100644 index 0000000..987670f --- /dev/null +++ b/controller/password.php | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | <?php | ||
| 2 | // password.php | ||
| 3 | |||
| 4 | function hashNewPassword() | ||
| 5 | { | ||
| 6 | //$hash = password_hash($password, PASSWORD_DEFAULT); | ||
| 7 | |||
| 8 | // écrire dans un fichier | ||
| 9 | } | ||
| 10 | |||
| 11 | function testPassword() | ||
| 12 | { | ||
| 13 | // lire dans un fichier | ||
| 14 | |||
| 15 | //if(password_verify($password, $hash)) | ||
| 16 | } \ No newline at end of file | ||
diff --git a/controller/visitor.php b/controller/visitor.php index 16f9c40..539df1f 100644 --- a/controller/visitor.php +++ b/controller/visitor.php | |||
| @@ -87,6 +87,7 @@ function connexion($secret) | |||
| 87 | if($_SESSION['admin'] == 1) | 87 | if($_SESSION['admin'] == 1) |
| 88 | { | 88 | { |
| 89 | header('Location: index.php?page=' . $_GET['from']); | 89 | header('Location: index.php?page=' . $_GET['from']); |
| 90 | exit(); | ||
| 90 | } | 91 | } |
| 91 | 92 | ||
| 92 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire | 93 | // Ajouter une sécurité par cpatcha avec un "input" supplémentaire |
| @@ -105,14 +106,15 @@ function connexion($secret) | |||
| 105 | { | 106 | { |
| 106 | $_SESSION['admin'] = 1; | 107 | $_SESSION['admin'] = 1; |
| 107 | header('Location: index.php?page=' . $_GET['from']); | 108 | header('Location: index.php?page=' . $_GET['from']); |
| 108 | exit (); | 109 | exit(); |
| 109 | } | 110 | } |
| 110 | 111 | ||
| 111 | // mauvaise mot de passe | 112 | // mauvais mot de passe |
| 112 | elseif(isset ($_POST["motdepasse"]) AND $_POST["motdepasse"] != $secret) | 113 | elseif(isset ($_POST["motdepasse"]) AND $_POST["motdepasse"] != $secret) |
| 113 | { | 114 | { |
| 114 | // défense aux attaques par force brute | 115 | // défense aux attaques par force brute |
| 115 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site | 116 | // pas parfait, ne marche pas si l'attaquant multiplie les connexions au site |
| 117 | echo($erreurMDP); | ||
| 116 | sleep(1); | 118 | sleep(1); |
| 117 | echo($formulaireConnexion); | 119 | echo($formulaireConnexion); |
| 118 | } | 120 | } |
| @@ -124,4 +126,4 @@ function connexion($secret) | |||
| 124 | } | 126 | } |
| 125 | 127 | ||
| 126 | echo($footer); | 128 | echo($footer); |
| 127 | } \ No newline at end of file | 129 | } |
diff --git a/data/password.txt b/data/password.txt new file mode 100644 index 0000000..46afb44 --- /dev/null +++ b/data/password.txt | |||
| @@ -0,0 +1 @@ | |||
| julian \ No newline at end of file | |||
| @@ -115,9 +115,13 @@ else | |||
| 115 | $_SESSION['admin'] = 0; | 115 | $_SESSION['admin'] = 0; |
| 116 | } | 116 | } |
| 117 | 117 | ||
| 118 | // mot de passe de connexion à protéger par le .htaccess !! | 118 | |
| 119 | // mot de passe de connexion à hacher! | ||
| 120 | // utiliser php pour ça, plus le .htaccess | ||
| 121 | require('controller/password.php'); | ||
| 119 | $secret = "julian"; | 122 | $secret = "julian"; |
| 120 | 123 | ||
| 124 | |||
| 121 | // page du site demandée | 125 | // page du site demandée |
| 122 | if(isset($_GET['page'])) | 126 | if(isset($_GET['page'])) |
| 123 | { | 127 | { |
| @@ -208,12 +212,13 @@ if(isset($_GET['page'])) | |||
| 208 | } | 212 | } |
| 209 | } | 213 | } |
| 210 | 214 | ||
| 211 | // actions en mode admin recharger une des pages principales | 215 | |
| 216 | // actions en mode admin, recharger une des pages principales | ||
| 212 | elseif($_SESSION['admin'] == 1 && isset($_GET['action'])) | 217 | elseif($_SESSION['admin'] == 1 && isset($_GET['action'])) |
| 213 | { | 218 | { |
| 214 | if($_GET['action'] == 'nouveau_mdp') | 219 | if($_GET['action'] == 'nouveau_mdp') |
| 215 | { | 220 | { |
| 216 | changerMotDePasse($secret, $_GET['from']); | 221 | changerMotDePasse($secret); |
| 217 | } | 222 | } |
| 218 | // extraction du contenu du dossier data | 223 | // extraction du contenu du dossier data |
| 219 | else if($_GET['action'] == 'extraction') | 224 | else if($_GET['action'] == 'extraction') |
diff --git a/model/Classes.php b/model/Classes.php index a455213..1b2a463 100644 --- a/model/Classes.php +++ b/model/Classes.php | |||
| @@ -160,7 +160,8 @@ class AlbumsManager extends ArticlesManager | |||
| 160 | 160 | ||
| 161 | // create | 161 | // create |
| 162 | //public function create($titre, $annee, $pochette) | 162 | //public function create($titre, $annee, $pochette) |
| 163 | public function create($content) | 163 | //public function create($content) |
| 164 | public function create($content, $titre, $annee, $pochette) | ||
| 164 | {} | 165 | {} |
| 165 | 166 | ||
| 166 | // read | 167 | // read |
| @@ -168,8 +169,9 @@ class AlbumsManager extends ArticlesManager | |||
| 168 | {} | 169 | {} |
| 169 | 170 | ||
| 170 | // update | 171 | // update |
| 171 | //public function create($titre, $annee, $pochette) | 172 | //public function update($titre, $annee, $pochette) |
| 172 | public function update($content) | 173 | //public function update($content) |
| 174 | public function update($content, $titre, $annee, $pochette) | ||
| 173 | {} | 175 | {} |
| 174 | 176 | ||
| 175 | // delete | 177 | // delete |
diff --git a/public/accueil.css b/public/accueil.css index aba7196..2e4426a 100644 --- a/public/accueil.css +++ b/public/accueil.css | |||
| @@ -79,6 +79,12 @@ img | |||
| 79 | margin-top: 5px; | 79 | margin-top: 5px; |
| 80 | } | 80 | } |
| 81 | 81 | ||
| 82 | form | ||
| 83 | { | ||
| 84 | padding-bottom: 14px; | ||
| 85 | border-bottom: 1px black solid; | ||
| 86 | } | ||
| 87 | |||
| 82 | #courriel | 88 | #courriel |
| 83 | { | 89 | { |
| 84 | padding-top: 30px; | 90 | padding-top: 30px; |
| @@ -169,6 +175,12 @@ img | |||
| 169 | margin-top: 0px; | 175 | margin-top: 0px; |
| 170 | text-align: center; | 176 | text-align: center; |
| 171 | } | 177 | } |
| 178 | .avertissement | ||
| 179 | { | ||
| 180 | color: red; | ||
| 181 | font-size: 90%; | ||
| 182 | text-align: center; | ||
| 183 | } | ||
| 172 | 184 | ||
| 173 | .connexionFormulaire | 185 | .connexionFormulaire |
| 174 | { | 186 | { |
diff --git a/public/main.js b/public/main.js index 1c04dec..ec2b2f1 100644 --- a/public/main.js +++ b/public/main.js | |||
| @@ -3,7 +3,8 @@ | |||
| 3 | function versMenu() | 3 | function versMenu() |
| 4 | { | 4 | { |
| 5 | // ergonomique | 5 | // ergonomique |
| 6 | window.setTimeout("location=('index.php?page=menu');", 10000); | 6 | //window.setTimeout("location=('index.php?page=menu');", 10000); |
| 7 | window.setTimeout(function(){location.href="index.php?page=menu"}, 3000); | ||
| 7 | } | 8 | } |
| 8 | 9 | ||
| 9 | function deconnexionAutomatique() | 10 | function deconnexionAutomatique() |
| @@ -18,7 +19,7 @@ function deconnexionAutomatique() | |||
| 18 | // fonction appelée avec onClick dans un lien, | 19 | // fonction appelée avec onClick dans un lien, |
| 19 | // si on sélectionne pas "oui", on ne doit pas suivre le lien | 20 | // si on sélectionne pas "oui", on ne doit pas suivre le lien |
| 20 | // si javascript est désactivé, le lien fonctionne | 21 | // si javascript est désactivé, le lien fonctionne |
| 21 | function confirmerSuppression(page) | 22 | function confirmerSuppression() |
| 22 | { | 23 | { |
| 23 | // ne suivre le lien "href" que si on clique sur oui | 24 | // ne suivre le lien "href" que si on clique sur oui |
| 24 | var oui = confirm('Confirmer la suppression de cet article.'); | 25 | var oui = confirm('Confirmer la suppression de cet article.'); |
| @@ -51,7 +52,7 @@ function copierAdresse() | |||
| 51 | document.body.appendChild(element); | 52 | document.body.appendChild(element); |
| 52 | var cible = document.getElementById('copyMe'); | 53 | var cible = document.getElementById('copyMe'); |
| 53 | 54 | ||
| 54 | // selection comme-ci on utilisait la souris | 55 | // selection comme on le ferait à la souris |
| 55 | cible.select(); | 56 | cible.select(); |
| 56 | // copie (= Ctrl + C) | 57 | // copie (= Ctrl + C) |
| 57 | document.execCommand("copy"); | 58 | document.execCommand("copy"); |
| @@ -66,3 +67,9 @@ function copierAdresse() | |||
| 66 | // var cible = document.getElementById('nouvelArticle'); | 67 | // var cible = document.getElementById('nouvelArticle'); |
| 67 | // cible.setAttribute("style", "display: none;"); | 68 | // cible.setAttribute("style", "display: none;"); |
| 68 | // } | 69 | // } |
| 70 | |||
| 71 | function nouveauMotdepasse(page) | ||
| 72 | { | ||
| 73 | confirm('Le mot de passe a été modifié.'); | ||
| 74 | window.setTimeout(location=('index.php?page=' + page + '&message=nouveau_mdp'), 0); | ||
| 75 | } \ No newline at end of file | ||
diff --git a/view/connexion.php b/view/connexion.php index 2187ecf..1c3aceb 100644 --- a/view/connexion.php +++ b/view/connexion.php | |||
| @@ -20,7 +20,14 @@ $formulaireConnexion = ob_get_clean(); | |||
| 20 | // vérification de l'ancien et choix du nouveau à taper deux fois dont une à l'aveugle | 20 | // vérification de l'ancien et choix du nouveau à taper deux fois dont une à l'aveugle |
| 21 | ob_start(); | 21 | ob_start(); |
| 22 | ?> | 22 | ?> |
| 23 | 23 | <form class="connexionFormulaire" method="post" action="index.php?from=<?= $_GET['from'] ?>&action=nouveau_mdp" > | |
| 24 | <label for="motdepasse" >Ancien mot de passe:</label> | ||
| 25 | <input type="password" name="ancienMotdepasse" autofocus required ><br /><br /> | ||
| 26 | <label for="motdepasse" >Nouveau mot de passe:</label> | ||
| 27 | <input type="password" name="nouveauMotdepasse" required > | ||
| 28 | <br /><br /> | ||
| 29 | <input type="submit" value="Valider" > | ||
| 30 | </form> | ||
| 24 | <?php | 31 | <?php |
| 25 | $formulaireNouveauMDP = ob_get_clean(); | 32 | $formulaireNouveauMDP = ob_get_clean(); |
| 26 | 33 | ||
| @@ -38,6 +45,7 @@ ob_start(); | |||
| 38 | <link rel="icon" type="image/png" href="public/mouette-logo.png" > | 45 | <link rel="icon" type="image/png" href="public/mouette-logo.png" > |
| 39 | <link rel="stylesheet" type="text/css" href="public/normalize.css"> | 46 | <link rel="stylesheet" type="text/css" href="public/normalize.css"> |
| 40 | <link rel="stylesheet" type="text/css" href="public/accueil.css" /> | 47 | <link rel="stylesheet" type="text/css" href="public/accueil.css" /> |
| 48 | <script type="text/javascript" src="public/main.js" ></script> | ||
| 41 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> | 49 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> |
| 42 | </head> | 50 | </head> |
| 43 | 51 | ||
| @@ -48,9 +56,26 @@ ob_start(); | |||
| 48 | <?php | 56 | <?php |
| 49 | $header = ob_get_clean(); | 57 | $header = ob_get_clean(); |
| 50 | 58 | ||
| 59 | |||
| 60 | // message d'erreur | ||
| 61 | $erreurMDP = '<p class="avertissement" >Mauvais mot de passe</p>'; | ||
| 62 | |||
| 63 | // confirmation modification mot de passe | ||
| 64 | ob_start(); | ||
| 65 | ?> | ||
| 66 | <script type="text/javascript" >nouveauMotdepasse('<?= $_GET["from"] ?>');</script> | ||
| 67 | <noscript> | ||
| 68 | <p class="avertissement" >Le mot de passe a été modifié<br /> | ||
| 69 | <a href="index.php" >Retour au site.</a><br/></p> | ||
| 70 | </noscript> | ||
| 71 | <?php | ||
| 72 | $message = ob_get_clean(); | ||
| 73 | |||
| 74 | |||
| 51 | // pied de page | 75 | // pied de page |
| 52 | ob_start(); | 76 | ob_start(); |
| 53 | ?> | 77 | ?> |
| 78 | <p class="avertissement" >Rappel de sécurité<br />Vous n'utilisez pas votre propre ordinateur ou téléphone: utilisez la navigation privée!</p> | ||
| 54 | <p class="connexionFooter" > | 79 | <p class="connexionFooter" > |
| 55 | <i>N'oubliez de cliquer sur "déconnexion" quand vous aurez fini.</i><br /> | 80 | <i>N'oubliez de cliquer sur "déconnexion" quand vous aurez fini.</i><br /> |
| 56 | <a href="index.php?page=<?= $_GET['from'] ?>" >Retour à la page précédente</a> | 81 | <a href="index.php?page=<?= $_GET['from'] ?>" >Retour à la page précédente</a> |
diff --git a/view/melaine.php b/view/melaine.php index 657c656..cdb24cc 100644 --- a/view/melaine.php +++ b/view/melaine.php | |||
| @@ -90,7 +90,7 @@ foreach ($articles as $article) | |||
| 90 | // placer un article | 90 | // placer un article |
| 91 | else | 91 | else |
| 92 | { | 92 | { |
| 93 | // c'était pas compliqué | 93 | // et voila |
| 94 | echo($article . "\n"); | 94 | echo($article . "\n"); |
| 95 | 95 | ||
| 96 | // bouton | 96 | // bouton |
| @@ -102,7 +102,7 @@ foreach ($articles as $article) | |||
| 102 | Modifier cet article | 102 | Modifier cet article |
| 103 | </a> | 103 | </a> |
| 104 | <!-- un espace --> | 104 | <!-- un espace --> |
| 105 | <a href="index.php?page=melaine&action=suppression&article=<?= $j ?>" onclick="confirmerSuppression('<?= $page_actuelle ?>')" > | 105 | <a href="index.php?page=melaine&action=suppression&article=<?= $j ?>" onclick="confirmerSuppression()" > |
| 106 | Supprimer cet article | 106 | Supprimer cet article |
| 107 | </a> | 107 | </a> |
| 108 | </p> | 108 | </p> |
diff --git a/view/template.php b/view/template.php index b7ea0fb..ded1d08 100644 --- a/view/template.php +++ b/view/template.php | |||
| @@ -77,11 +77,11 @@ if($_SESSION['admin'] == 1) | |||
| 77 | <div> | 77 | <div> |
| 78 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=nouveau_mdp" > | 78 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=nouveau_mdp" > |
| 79 | Changer le mot de passe de connexion.</a></p> | 79 | Changer le mot de passe de connexion.</a></p> |
| 80 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=sauvegarde" > | ||
| 81 | Sauvegarder les données de tout le site.</a></p> | ||
| 82 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=restauration" >Restaurer les données avec une sauvegarde.</a></p> | ||
| 80 | <p><a href="melainePHP.zip" > | 83 | <p><a href="melainePHP.zip" > |
| 81 | Télécharger le code PHP pour migration.</a></p> | 84 | Télécharger le code PHP pour migration.</a></p> |
| 82 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=extraction" > | ||
| 83 | Extraire les données de tout le site.</a></p> | ||
| 84 | <p><a href="index.php?from=<?= $page_actuelle ?>&action=insertion" >Restauration des données avec une sauvegarde.</a></p> | ||
| 85 | </div> | 85 | </div> |
| 86 | </div> | 86 | </div> |
| 87 | <?php | 87 | <?php |
