summaryrefslogtreecommitdiff
path: root/controller/admin.php
blob: 2f7a7cb789ed4d434d9d732b79457ea4da4477e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<?php
// controller/admin.php
//
// utilisation du site en écriture
// version des pages en mode admin lorsque celui-ci crée ou modifie quelque chose

function melaineEdit($numArticle, $suppression)
{
	$page_actuelle = "melaine";

	$Articles = new ArticlesManager;

	// contenu de la page
	$Articles->setPage($page_actuelle);
	$Articles->getFiles();

	// nouvel article
	if($numArticle == 0)
	{
		$title = "Ajouter un article";
		$texte = '';
	}
	else
	{
		// nom de l'article ciblé (objet et session)
		$Articles->findFileName($numArticle);
		$_SESSION['nomFichier'] = $Articles->getFileName();

		// suppression
		if($suppression)
		{
			$Articles->delete();
			header('Location: index.php?page=' . $page_actuelle);
		}
		// modification
		else
		{
			$title = "Modifier un article";

			// contenu envoyé à l'éditeur
			$texte = $Articles->getOne();
		}
	}

	// pour l'affichage des articles
	//$Articles->setAscending(False);
	$Articles->reverseFilesArray();
	$articles = $Articles->getAll();

	// traitements PHP pour l'éditeur
	require('controller/ckeditor.php');
	// sécurisation du contenu pré-existant inséré dans l'éditeur
	$texte = preparationCKeditor($numArticle, $texte);

	// NB: penser à ajouter au template la fonctionnalité "autosave"
	// https://ckeditor.com/docs/ckeditor5/latest/builds/guides/integration/saving-data.html

	// création des morceaux en HTML avant assemblage

	// variable $editeurHTML, on insère $texte dedans
	require('view/template-ckeditor.php');
	
	// variables $css, $js, $header et $content
	require('view/melaine.php');
	// le tableau de données ($articles) et l'éditeur ($editeurHTML) font partie de $content

	// fin de l'assemblage
	require('view/template.php');
}

function discoEdit($numArticle, $suppression)
{
	$page_actuelle = "discographie";
	$title = "Discographie";

	// modèle
	$Albums = new AlbumsManager;
	$texte = '';

	// traitements PHP pour l'éditeur
	require('controller/ckeditor.php');
	// sécurisation du contenu pré-existant inséré dans l'éditeur
	$texte = preparationCKeditor($numArticle, $texte);

	// variable $additionalInputs
	ob_start();
	?>
						<p><i>Infos qui seront affichées sur cette page:</i></p>
						<label for="titre" >Titre</label>
						<input type="text" name="titre" required ><br />
						<label for="annee" >Année</label>
						<input type="text" name="annee" ><br />
						<label for="pochette" >Pochette du disque (jpg ou png)</label>
						<input type="file" name="pochette" >
						<br /><br />
	<?php
	$additionalInputs = ob_get_clean();

	// variable $editeurHTML, on insère $texte dedans
	require('view/template-ckeditor.php');
	// variables $css, $js et $content
	require('view/discographie.php');
	// fin de l'assemblage
	require('view/template.php');
}

function changerMotDePasse($secret, $from)
{
	// vérification supplémentaire
	if($_SESSION['admin'] !== 1)
	{
		$_SESSION['admin'] = 0;
	    header('Location: index.php?page=' . $_GET['from']);
	}

	$title = "nouveau mot de passe";
	// Ajouter une sécurité par cpatcha avec un "input" supplémentaire
	// Et créer une variable de session pour la réponse au CAPTCHA
	
	$title = "nouveau mot de passe";
	$subHeading = "Veuillez saisir votre actuel mot de passe suivi du nouveau.";

	// cette page utilise la même vue que la fonction connexion() dans controller/visiteur.php
	require('view/connexion.php');

	echo($header);

	// traitements: vérification ancien mot de passe et choix du nouveau 

	echo($footer);
}