Ajout du support des écritures ventilées.
[garradin.git] / www / admin / membres / import.php
1 <?php
2 namespace Garradin;
3
4 require_once __DIR__ . '/../_inc.php';
5
6 if ($user['droits']['membres'] < Membres::DROIT_ADMIN)
7 {
8 throw new UserException("Vous n'avez pas le droit d'accéder à cette page.");
9 }
10
11 $import = new Membres_Import;
12
13 if (isset($_GET['export']))
14 {
15 header('Content-type: application/csv');
16 header('Content-Disposition: attachment; filename="Export membres - ' . $config->get('nom_asso') . ' - ' . date('Y-m-d') . '.csv"');
17 $import->toCSV();
18 exit;
19 }
20
21 $error = false;
22 $champs = $config->get('champs_membres')->getAll();
23 $champs['date_inscription'] = ['title' => 'Date inscription', 'type' => 'date'];
24
25 if (utils::post('import'))
26 {
27 // FIXME
28 if (false && !utils::CSRF_check('membres_import'))
29 {
30 $error = 'Une erreur est survenue, merci de renvoyer le formulaire.';
31 }
32 elseif (empty($_FILES['upload']['tmp_name']))
33 {
34 $error = 'Aucun fichier fourni.';
35 }
36 else
37 {
38 try
39 {
40 if (utils::post('type') == 'galette')
41 {
42 $import->fromGalette($_FILES['upload']['tmp_name'], utils::post('galette_translate'));
43 }
44 elseif (utils::post('type') == 'garradin')
45 {
46 $import->fromCSV($_FILES['upload']['tmp_name']);
47 }
48 else
49 {
50 throw new UserException('Import inconnu.');
51 }
52
53 utils::redirect('/admin/membres/import.php?ok');
54 }
55 catch (UserException $e)
56 {
57 $error = $e->getMessage();
58 }
59 }
60 }
61
62 $tpl->assign('error', $error);
63 $tpl->assign('ok', isset($_GET['ok']) ? true : false);
64
65 $tpl->assign('garradin_champs', $champs);
66 $tpl->assign('galette_champs', $import->galette_fields);
67 $tpl->assign('translate', utils::post('galette_translate'));
68
69 $tpl->display('admin/membres/import.tpl');
70
71 ?>