-
Notifications
You must be signed in to change notification settings - Fork 21
/
Copy pathcountry.php
69 lines (56 loc) · 1.86 KB
/
country.php
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
<?php
// Autoload PSR-4
spl_autoload_register();
// Imports
use \Classes\Webforce3\Config\Config;
use \Classes\Webforce3\DB\Country;
use \Classes\Webforce3\Helpers\SelectHelper;
// Get the config object
$conf = Config::getInstance();
$countryId = isset($_GET['cou_id']) ? intval($_GET['cou_id']) : 0;
$countryObject = new Country();
// Récupère la liste complète des country en DB
$countriesList = Country::getAllForSelect();
// Si modification d'une ville, on charge les données pour le formulaire
if ($countryId > 0) {
$countryObject = Country::get($countryId);
}
// Si lien suppression
if (isset($_GET['delete']) && intval($_GET['delete']) > 0) {
if (Country::deleteById(intval($_GET['delete']))) {
header('Location: country.php?success='.urlencode('Suppression effectuée'));
exit;
}
}
// Formulaire soumis
if(!empty($_POST)) {
$countryId = isset($_POST['id']) ? intval($_POST['id']) : 0;
$countryName = isset($_POST['cou_name']) ? trim($_POST['cou_name']) : '';
if (empty($countryName)) {
$conf->addError('Veuillez renseigner le nom');
}
// je remplis l'objet qui est lu pour les inputs du formulaire, ou pour l'ajout en DB
$countryObject = new Country(
$countryId,
$countryName
);
// Si tout est ok => en DB
if (!$conf->haveError()) {
if ($countryObject->saveDB()) {
header('Location: country.php?success='.urlencode('Ajout/Modification effectuée').'&cou_id='.$countryObject->getId());
exit;
}
else {
$conf->addError('Erreur dans l\'ajout ou la modification');
}
}
}
$selectCountries = new SelectHelper($countriesList, $countryId, array(
'name' => 'cou_id',
'id' => 'cou_id',
'class' => 'form-control',
));
// Views - toutes les variables seront automatiquement disponibles dans les vues
require $conf->getViewsDir().'header.php';
require $conf->getViewsDir().'country.php';
require $conf->getViewsDir().'footer.php';