source: spip-zone/_plugins_/orr/formulaires/reserv.php @ 65823

Last change on this file since 65823 was 65823, checked in by tofulm@…, 7 years ago

un peu de ménage

File size: 4.8 KB
Line 
1<?php
2
3function formulaires_reserv_charger_dist($idressource,$date_deb,$date_f,$nom,$idresa){
4    list($dated,$heured)            = explode(' ',$date_deb);
5    list($anneed,$moisd,$jourd)     = explode('-',$dated);
6    list($heured,$minuted,$econded) = explode(':',$heured);
7    $date_deb = date("d/m/Y H:i:s", mktime($heured, $minuted, $seconded, $moisd, $jourd, $anneed));
8
9    list($datef,$heuref)            = explode(' ',$date_f);
10    list($anneef,$moisf,$jourf)     = explode('-',$datef);
11    list($heuref,$minutef,$econdef) = explode(':',$heuref);
12    $date_f = date("d/m/Y H:i:s", mktime($heuref, $minutef, $secondef, $moisf, $jourf, $anneef));
13    $valeurs = array(
14        "nom_ressource"   => "",
15        "nom_reservation" => $nom,
16        "id_ressource"    => $idressource,
17        "date_debut"      => $date_deb,
18        "date_fin"        => $date_f,
19    );
20    return $valeurs;
21}
22
23function formulaires_reserv_verifier_dist($idressource,$date_deb,$date_f,$nom,$idresa){
24    $date_debut      = _request('date_debut');
25    $date_fin        = _request('date_fin');
26    $erreurs = array();
27    //champs obligatoire
28    foreach (array ('nom_reservation','date_debut','date_fin') as $obligatoire) {
29        if (!_request($obligatoire)) {
30            $erreurs[$obligatoire] = 'Ce champs est obligatoire';
31        }
32    }
33    //format de date correct
34    if (!isset($erreurs['date_debut'])){
35        list ($dated,$tempsd) = explode(' ',$date_debut);
36        list ($jourd,$moisd,$anneed) = explode('/',$dated);
37        if (!intval($jourd)or!intval($moisd)or!intval($anneed)or!preg_match("#^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$#", $tempsd)) {
38            $erreurs['date_debut'] = "Ce format de data n'est pas reconnu.";
39        }
40    }
41    if (!isset($erreurs['date_fin'])){
42        list ($datef,$tempsf) = explode(' ',$date_fin);
43        list ($jourf,$moisf,$anneef) = explode('/',$datef);
44        if (!intval($jourf)or!intval($moisf)or!intval($anneef)or!preg_match("#^([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]$#", $tempsf)) {
45            $erreurs['date_fin'] = "Ce format de data n'est pas reconnu.";
46        }
47    }
48
49    // date de fin anterieur à la date de debut
50    list($heured,$minuted,$seconded) = explode(':',$tempsd);
51    list($heuref,$minutef,$secondef) = explode(':',$tempsf);
52    $timestampd = mktime($heured,$minuted,$seconded,$jourd,$moisd,$anneed);
53    $timestampf = mktime($heuref,$minutef,$secondef,$jourf,$moisf,$anneef);
54    if ($timestampd>=$timestampf){
55        $erreurs['date_fin'] = "date de fin antérieur  ou égale à la date de début";
56    }
57
58    // les dates choisies sont libres
59    include_spip('inc/compare_date');
60    $date_debut = date("Y-m-d H:i:s", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
61    $date_fin   = date("Y-m-d H:i:s", mktime ($heuref,$minutef,0, $moisf, $jourf, $anneef));
62    $resultat=compare_date($date_debut,$date_fin,$idressource,$idresa);
63        if ($resultat == "1"){
64                //~ $erreurs['date_debut'] = 'Vos dates de réservations ne sont pas libres !';
65                $erreurs['date_fin'] = 'Vos dates de réservations ne sont pas libres !';
66        }
67    return $erreurs;
68}
69
70
71function formulaires_reserv_traiter_dist($idressource,$date_deb,$date_f,$nom,$idresa){
72    $nom_reservation = _request('nom_reservation');
73    $date_debut      = _request('date_debut');
74    $date_fin        = _request('date_fin');
75
76    list($jour_debut, $heure_debut) = explode(' ',$date_debut);
77    list($jour_fin, $heure_fin) = explode(' ',$date_fin);
78    list($jourd,$moisd,$anneed) = explode('/',$jour_debut);
79    list($jourf,$moisf,$anneef) = explode('/',$jour_fin);
80
81    list($heured,$minuted) = explode(':',$heure_debut);
82    list($heuref,$minutef) = explode(':',$heure_fin);
83
84    $date_debut = date("Y-m-d H:i:s", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
85    $jourj = date("Y-m-d", mktime ($heured,$minuted,0, $moisd, $jourd, $anneed));
86    $date_fin   = date("Y-m-d H:i:s", mktime ($heuref,$minutef,0, $moisf, $jourf, $anneef));
87    $retour=array();
88    $retour['message_ok'] = "bravo";
89    $retour['redirect'] = "spip.php?page=affichage_orr&jourj=$jourj";
90
91    // utilisation API editer_objet pour l'insertion en BDD'
92    $objet = "orr_reservation";
93    include_spip('action/editer_objet');
94    $set = array (
95        'id_orr_ressource'    => $idressource,
96        'orr_reservation_nom' => $nom_reservation,
97        'orr_date_debut'      => $date_debut,
98        'orr_date_fin'        => $date_fin
99    );
100
101        if ($idresa>"0"){
102                $id_objet=$idresa;
103        }else{
104                $id_objet = objet_inserer($objet);
105        }
106
107    objet_modifier($objet, $id_objet, $set);
108    // utilisation de l'API editer_liens pour la gestion de la table de lien entre
109    // une reservation et une ressource
110    include_spip('action/editer_liens');
111    objet_associer(array("orr_reservation"=>$id_objet), array("orr_ressource"=>$idressource));
112
113    return $retour;
114}
115?>
Note: See TracBrowser for help on using the repository browser.