summaryrefslogtreecommitdiff
path: root/controller/admin.php
blob: d738dc006a8a9a677991f9201e7969ebf79821b5 (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
<?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->reverseFilesArray();
	$articles = $Articles->getAll();

	if($numArticle >= 0 && !$suppression)
	{
		// 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-formulaires.php');
	// variables $css, $js, $header et $content
	// $content contient $articles et $editeurHTML
	require('view/melaine.php');
	// 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 $editeurHTML, on insère $texte dedans
	require('view/template-formulaires.php');
	// variables $css, $js, $header et $content
	// $content contient ???? et $editeurHTML
	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);
}