diff options
author | polo <ordipolo@gmx.fr> | 2021-11-29 03:25:19 +0100 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2021-11-29 03:25:19 +0100 |
commit | 29df6f1362745eabf4fbcaedf309eb63795152fa (patch) | |
tree | 8c2f4839c119db193eca4f35aeac96356a8ef439 /controller/ckeditor.php | |
parent | b97a68343ec5c4ff1fae25ff5dc41f1a2ce6a17f (diff) | |
download | melaine-29df6f1362745eabf4fbcaedf309eb63795152fa.zip |
discographie
Diffstat (limited to 'controller/ckeditor.php')
-rw-r--r-- | controller/ckeditor.php | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/controller/ckeditor.php b/controller/ckeditor.php index 2b9f168..661e0e3 100644 --- a/controller/ckeditor.php +++ b/controller/ckeditor.php | |||
@@ -7,41 +7,33 @@ | |||
7 | // il y a aussi un fichier CSS parce que le HTML créé par l'éditeur ne suffit pas à lui-même | 7 | // il y a aussi un fichier CSS parce que le HTML créé par l'éditeur ne suffit pas à lui-même |
8 | 8 | ||
9 | // avant de placer l'éditeur | 9 | // avant de placer l'éditeur |
10 | function preparationCKeditor($numArticle, $texte) | 10 | function preparationCKeditor($html) |
11 | { | 11 | { |
12 | // ici $numArticle sert uniquement à savoir si on crée ou modifie un article | 12 | // texte initial inséré avec setData() dans l'éditeur |
13 | // danger! | ||
14 | // setData() n'insère pas le texte si il ne respecte pas certains critères, l'utilisateur risque de perdre des données en validant un nouveau contenu sans avoir pu modifier l'ancien | ||
13 | 15 | ||
14 | // texte initial inséré avec setData() dans l'éditeur, | 16 | if(empty($html)) |
15 | // on recherche ici les causes expliquant qu'il n'apparaisse pas à l'ouverture de l'éditeur, | ||
16 | // les données précédentes sont écrasées à la validation du nouveau texte | ||
17 | if ($numArticle > 0) | ||
18 | { | 17 | { |
19 | if(empty($texte)) | 18 | header('Location: index.php?erreur=empty_input'); |
20 | { | 19 | } |
21 | header('Location: index.php?erreur=empty_input'); | ||
22 | } | ||
23 | 20 | ||
24 | // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine | 21 | // supprimer espaces, tabulations et sauts de ligne en début et fin de chaine |
25 | $texte = trim($texte); | 22 | $html = trim($html); |
26 | 23 | ||
27 | // supprimer les sauts de ligne | 24 | // supprimer les sauts de ligne |
28 | $sautsDeLigne = array("\n", "\r", "\r\n"); | 25 | $sautsDeLigne = array("\n", "\r", "\r\n"); |
29 | $texte = str_replace($sautsDeLigne, '', $texte); | 26 | $html = str_replace($sautsDeLigne, '', $html); |
30 | 27 | ||
31 | // échapper tous les ', ", \ et caractère NULL | 28 | // échapper tous les ', ", \ et caractère NULL |
32 | $texte = addslashes($texte); | 29 | $html = addslashes($html); |
33 | } | ||
34 | else | ||
35 | { | ||
36 | $texte = ''; // nouveau contenu | ||
37 | } | ||
38 | 30 | ||
39 | return($texte); | 31 | return($html); |
40 | } | 32 | } |
41 | 33 | ||
42 | // réception du HTML créé par l'éditeur | 34 | // réception du HTML créé par l'éditeur |
43 | // le nom du fichier est celui dans $_SESSION['nomFichier'] | 35 | // le nom du fichier est celui dans $_SESSION['nomFichier'] |
44 | function submitCKeditor($nomFichier) | 36 | function submitCKeditor($target) |
45 | { | 37 | { |
46 | $page = $_GET['page']; | 38 | $page = $_GET['page']; |
47 | 39 | ||
@@ -79,10 +71,10 @@ function submitCKeditor($nomFichier) | |||
79 | $Album = new Album($page); | 71 | $Album = new Album($page); |
80 | 72 | ||
81 | // enregistrement | 73 | // enregistrement |
82 | if($_GET['article'] == 0) | 74 | if($target == '') |
83 | { | 75 | { |
84 | // page disco | 76 | // page disco |
85 | $Album->createVignette($titre, $annee, $pochette); | 77 | $_SESSION['erreur'] = $Album->createVignette($titre, $annee, $pochette); |
86 | 78 | ||
87 | // page de l'album | 79 | // page de l'album |
88 | if(!empty($_POST['contenu'])) | 80 | if(!empty($_POST['contenu'])) |
@@ -92,28 +84,35 @@ function submitCKeditor($nomFichier) | |||
92 | } | 84 | } |
93 | else | 85 | else |
94 | { | 86 | { |
87 | $Album->albumCode = $target; | ||
88 | |||
95 | // page disco | 89 | // page disco |
96 | $Album->updateVignette($titre, $annee, $pochette); | 90 | $_SESSION['erreur'] = $Album->updateVignetteJSON($titre, $annee, $pochette); |
97 | 91 | ||
98 | // page de l'album | 92 | // page de l'album |
99 | if(isset($_POST['contenu'])) | 93 | if(isset($_POST['contenu'])) |
100 | { | 94 | { |
101 | $Album->update($content); | 95 | $Album->format = 'html'; |
96 | $Album->setFileName(); | ||
97 | if(!empty($Album->fileName)) | ||
98 | { | ||
99 | $Album->update($_POST['contenu']); | ||
100 | } | ||
102 | } | 101 | } |
103 | } | 102 | } |
104 | } | 103 | } |
105 | // autres pages | 104 | // autres pages |
106 | else | 105 | else |
107 | { | 106 | { |
108 | $Article = new Page($page, 'html'); | 107 | $Article = new Page($page); |
109 | 108 | ||
110 | if($_GET['article'] == 0) | 109 | if($target == '') |
111 | { | 110 | { |
112 | $Article->create($contenu); | 111 | $Article->create($contenu); |
113 | } | 112 | } |
114 | else | 113 | else |
115 | { | 114 | { |
116 | $Article->fileName = $nomFichier; | 115 | $Article->fileName = $target; |
117 | $Article->update($contenu); | 116 | $Article->update($contenu); |
118 | } | 117 | } |
119 | } | 118 | } |