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
|
<?php
/*
* CSS
* class p.msg_confirm
*/
require_once($_SERVER['DOCUMENT_ROOT'].'/w3c.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/adresse.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/carburant.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/compagniePetroliere.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/tarif.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/classes/stationService.php');
require_once($_SERVER['DOCUMENT_ROOT'].'/ihms/stationIHM.php');
session_start();
if( !isset($_SESSION['st']) || !isset($_GET['station']) ) $_SESSION['st'] = new StationService();
if( isset($_GET['station']) ){
$_SESSION['st']->load($_GET['station']);
$_SESSION['st']->loadTarifs();
}
$erreurs = '';
$messages = '';
if( isset($_POST['add']) || isset($_POST['up_'.$_SESSION['st']->getId()]) ){
// affectation des champs de formulaire a l'objet en session
$co = new CompagniePetroliere();
$co->load($_POST['compagniePetroliere']);
$_SESSION['st']->setCompagniePetroliere($co);
$adr = new Adresse();
if( !isset($_POST['add']) ) $adr->load($_SESSION['st']->getAdresse()->getId());
$adr->setVoie($_POST['voie']);
$adr->setVille($_POST['ville']);
$adr->setCodePostal($_POST['codePostal']);
$_SESSION['st']->setAdresse($adr);
// variables utiles
$carburant;
$tarif;
// modifications de tarifs
foreach( $_POST as $key => $val ){
list($prefix, $id) = explode('_', $key);
switch($prefix){
case 'newcarburant':
$carburant = new Carburant();
$carburant->load($val);
$tarif = new Tarif();
$tarif->setCarburant($carburant);
break;
case 'newprix':
$tarif->setPrix($val);
if( $tarif->getCarburant()->getId() != 0 ) $_SESSION['st']->setTarif($tarif);
break;
case 'prix':
$tarif = new Tarif();
$tarif->load($id);
$tarif->setPrix($val);
$_SESSION['st']->setTarif($tarif);
break;
}
}
if( isset($_POST['delTarifs']) ){
foreach( $_POST['delTarifs'] as $delIndex ){
$_SESSION['st']->unsetTarif($delIndex);
}
}
// vérification avant sauvegarde
if( $_SESSION['st']->check() ){
// sauvegarde: insert ou update
$_SESSION['st']->save();
// message de confirmation
$messages = '<p class="msg_confirm">Station service enregistrée avec succès.</p>';
// préparation d'un nouvel ajout de station
if( isset($_POST['add']) ) $_SESSION['st'] = new StationService();
// préparation d'un nouvel ajout de station et redirection
// en effet si on a supprimé tous les tarifs il n'y a plus de station service
if( !isset($_POST['add']) && $_SESSION['st']->exists() == false ){
$_SESSION['st'] = new StationService();
// redirection sur la page des stations
header("Location: http://".$_SERVER['SERVER_NAME']."/admin_stations.php");
}
// sinon rien: on reste fixé sur la même station
}
// echec vérification
else{
$erreurs = $_SESSION['st']->getEm()->afficher();
}
}
elseif( isset($_POST['del']) ){
// suppression
$_SESSION['st']->erase();
// redirection sur la page des stations
header("Location: http://".$_SERVER['SERVER_NAME']."/admin_stations.php");
}
// graphisme
setHead();
setMenuAdmin();
$ihm = new stationIHM($_SESSION['st']);
echo $ihm->__toString();
echo $erreurs;
echo $messages;
setFoot();
?> |
Partager