diff options
author | polo <ordipolo@gmx.fr> | 2021-09-08 02:09:34 +0200 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-09-08 02:09:34 +0200 |
commit | cdf1bda847edd3e22e9fe817a802219ad8e0f626 (patch) | |
tree | adbe2b35e9741a5db74491c85914f4c03d3d4c99 /index.php | |
parent | 9a552c6b751f25bac9e816cf605fb972da8b9e27 (diff) | |
download | melaine-cdf1bda847edd3e22e9fe817a802219ad8e0f626.zip |
vignette
Diffstat (limited to 'index.php')
-rw-r--r-- | index.php | 29 |
1 files changed, 22 insertions, 7 deletions
@@ -54,13 +54,31 @@ require('controller/password.php'); | |||
54 | installation(); | 54 | installation(); |
55 | 55 | ||
56 | 56 | ||
57 | // traitement des requêtes AJAX | ||
58 | if(isset($_GET['action']) && isset($_GET['page']) && $_GET['action'] == 'upload_image') | ||
59 | { | ||
60 | // et une backdoor de fermée! | ||
61 | if(!isset($_SESSION['admin']) || $_SESSION['admin'] != 1 || !isset($_FILES['upload']) || empty($_FILES['upload'])) | ||
62 | { | ||
63 | header('Location: index.php?erreur=image_ajax'); | ||
64 | } | ||
65 | else | ||
66 | { | ||
67 | require('model/Image.php'); | ||
68 | // paramètre "true" parce qu'on reçoit une requête AJAX | ||
69 | $Image = new Image(true); | ||
70 | $Image->upload(); | ||
71 | } | ||
72 | exit; // arrêt ici !! | ||
73 | } | ||
74 | |||
57 | // traitement des POST du ckeditor | 75 | // traitement des POST du ckeditor |
58 | // la fonction submitCKeditor n'affiche rien (controller/admin.php n'est pas utilisé) puis redirige sans GET | 76 | // la fonction submitCKeditor est "autonome", elle n'affiche rien puis redirige sans GET |
59 | if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1 | 77 | if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1 |
60 | && isset($_GET['action']) && $_GET['action'] == 'submit' | 78 | && isset($_GET['action']) && $_GET['action'] == 'submit' |
61 | // trois possibilités: on a un contenu HTML ou JSON ou les deux | 79 | // trois possibilités: on a un contenu HTML ou JSON ou les deux |
62 | && ((isset($_POST['contenu']) && $_POST['contenu'] != '') | 80 | && ((isset($_POST['contenu']) && $_POST['contenu'] != '') |
63 | || (isset($_POST['titre']) && isset($_POST['annee']) && isset($_POST['pochette'])))) | 81 | || (isset($_POST['titre']) && isset($_POST['annee'])))) |
64 | { | 82 | { |
65 | require('controller/ckeditor.php'); // traitement du POST | 83 | require('controller/ckeditor.php'); // traitement du POST |
66 | require('lib/htmlawed/htmLawed.php'); // failles XSS | 84 | require('lib/htmlawed/htmLawed.php'); // failles XSS |
@@ -94,11 +112,7 @@ if(isset($_GET['action']) && isset($_GET['page'])) | |||
94 | } | 112 | } |
95 | } | 113 | } |
96 | 114 | ||
97 | // le site comporte deux modes: | 115 | // contrôleur des pages en mode visiteur (= lecture uniquement) |
98 | // le mode visiteur en "lecture seule" utilisant le contrôleur visitor.php | ||
99 | // le mode admin avec droits en "écriture" utilisant le contrôleur admin.php | ||
100 | |||
101 | // contrôleur des pages en mode visiteur | ||
102 | // appelé tout le temps parce que certaines pages (accueil, menu) n'ont pas de version "admin" => à améliorer | 116 | // appelé tout le temps parce que certaines pages (accueil, menu) n'ont pas de version "admin" => à améliorer |
103 | require('controller/visitor.php'); | 117 | require('controller/visitor.php'); |
104 | 118 | ||
@@ -111,6 +125,7 @@ if(isset($_GET['page']) && $_GET['page'] != 'menu') | |||
111 | // contrôleur des pages en mode admin | 125 | // contrôleur des pages en mode admin |
112 | if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1) | 126 | if(isset($_SESSION['admin']) && $_SESSION['admin'] == 1) |
113 | { | 127 | { |
128 | // contrôleur en mode admin (= lecture/écriture) | ||
114 | require('controller/admin.php'); | 129 | require('controller/admin.php'); |
115 | } | 130 | } |
116 | else | 131 | else |