Ajout du support des écritures ventilées.
[garradin.git] / www / admin / membres / message.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['membres'] < Membres::DROIT_ACCES)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11 if (empty($user['email']))
12 {
13 throw new UserException("Vous devez renseigner l'adresse e-mail dans vos informations pour pouvoir contacter les autres membres.");
14 }
15
16 if (empty($_GET['id']) || !is_numeric($_GET['id']))
17 {
18 throw new UserException("Argument du numéro de membre manquant.");
19 }
20
21 $id = (int) $_GET['id'];
22
23 $membre = $membres->get($id);
24
25 if (!$membre)
26 {
27 throw new UserException("Ce membre n'existe pas.");
28 }
29
30 $error = false;
31
32 if (!empty($_POST['save']))
33 {
34 if (!utils::CSRF_check('send_message_'.$id))
35 {
36 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
37 }
38 elseif (!utils::post('sujet'))
39 {
40 $error = 'Le sujet ne peut rester vide.';
41 }
42 elseif (!utils::post('message'))
43 {
44 $error = 'Le message ne peut rester vide.';
45 }
46 else
47 {
48 try {
49 $membres->sendMessage($membre['email'], utils::post('sujet'),
50 utils::post('message'), (bool) utils::post('copie'));
51
52 utils::redirect('/admin/membres/?sent');
53 }
54 catch (UserException $e)
55 {
56 $error = $e->getMessage();
57 }
58 }
59 }
60
61 $cats = new Membres_Categories;
62
63 $tpl->assign('categorie', $cats->get($membre['id_categorie']));
64 $tpl->assign('membre', $membre);
65 $tpl->assign('error', $error);
66
67 $tpl->display('admin/membres/message.tpl');
68
69 ?>