1 |
<?php |
2 |
//$Id$ |
3 |
//gen openMairie le 17/12/2015 15:27 |
4 |
|
5 |
require_once "../gen/obj/dossier_geolocalisation.class.php"; |
6 |
|
7 |
class dossier_geolocalisation extends dossier_geolocalisation_gen { |
8 |
|
9 |
/** |
10 |
* Liste des actions de géolocalisation. |
11 |
* |
12 |
* @var array |
13 |
*/ |
14 |
private $list_action = array( |
15 |
"verif_parcelle", |
16 |
"calcul_emprise", |
17 |
"dessin_emprise", |
18 |
"calcul_centroide", |
19 |
"recup_contrainte" |
20 |
); |
21 |
|
22 |
function __construct($id, $dnu1 = null, $dnu2 = null, $dossier = null) { |
23 |
// |
24 |
$this->init_om_utils(); |
25 |
// Si l'action et l'identifiant du dossier son passé |
26 |
if ($dossier != null && $dossier != "") { |
27 |
// Récupère l'identifiant de dossier_geolocalisation |
28 |
$id = $this->get_id_by_dossier($dossier); |
29 |
|
30 |
// Si aucun identifiant n'est trouvé |
31 |
if ($id == null || $id == "") { |
32 |
// Objet utilisé pour l'ajout |
33 |
$add_object = new dossier_geolocalisation("]"); |
34 |
|
35 |
// Valeurs |
36 |
$values = array(); |
37 |
// Initialise chaque champ |
38 |
foreach($add_object->champs as $val) { |
39 |
$values[$val] = null; |
40 |
} |
41 |
// Valeurs à ajouter |
42 |
$values['dossier'] = $dossier; |
43 |
|
44 |
// Ajout de l'enregistrement |
45 |
$add = $add_object->ajouter($values); |
46 |
|
47 |
// Si l'ajout a échoué |
48 |
if ($add == false) { |
49 |
// |
50 |
return false; |
51 |
} |
52 |
|
53 |
// Récupération de l'identifiant |
54 |
$id = $add_object->valF[$add_object->clePrimaire]; |
55 |
} |
56 |
} |
57 |
|
58 |
// |
59 |
$this->constructeur($id); |
60 |
} |
61 |
|
62 |
|
63 |
/** |
64 |
* Recupère l'identifiant de dossier_geolocalisation par rapport au dossier. |
65 |
* |
66 |
* @param string $dossier Identifiant du dossier. |
67 |
* |
68 |
* @return integer |
69 |
*/ |
70 |
private function get_id_by_dossier($dossier) { |
71 |
// Requête |
72 |
$sql = "SELECT dossier_geolocalisation |
73 |
FROM ".DB_PREFIXE."dossier_geolocalisation |
74 |
WHERE dossier = '".$dossier."'"; |
75 |
// Éxecute la requête |
76 |
$id = $this->f->db->getOne($sql); |
77 |
// Log |
78 |
$this->f->addToLog(__METHOD__.": db->getOne(\"".$sql."\");", VERBOSE_MODE); |
79 |
// Vérification erreur |
80 |
$this->f->isDatabaseError($id); |
81 |
|
82 |
// Retourne l'identifiant |
83 |
return $id; |
84 |
} |
85 |
|
86 |
|
87 |
/** |
88 |
* Modifie les informations d'une action de géolocalisation. |
89 |
* |
90 |
* @param string $action Action de géolocalisation. |
91 |
* @param string $date Date de la dernière exécution de l'action. |
92 |
* @param boolean $etat État de la dernière exécution de l'action. |
93 |
* @param string $message Message de la dernière exécution de l'action. |
94 |
* |
95 |
* @return boolean |
96 |
*/ |
97 |
public function set_geolocalisation_state($action, $date, $etat, $message) { |
98 |
// Si c'est une action de géolocalisation |
99 |
if (in_array($action, $this->list_action) == false) { |
100 |
// |
101 |
return false; |
102 |
} |
103 |
|
104 |
// Valeurs |
105 |
$values = array(); |
106 |
// Initialise chaque champ |
107 |
foreach($this->champs as $key => $val) { |
108 |
// |
109 |
$values[$val] = $this->val[$key]; |
110 |
|
111 |
// Si la valeur est vide |
112 |
if ($values[$val] == "") { |
113 |
// La valeur est null pour éviter les erreurs avec les champs |
114 |
// timestamp |
115 |
$values[$val] = null; |
116 |
} |
117 |
} |
118 |
// Valeurs modifiées |
119 |
$values['date_'.$action] = $date; |
120 |
$values['etat_'.$action] = $etat; |
121 |
$values['message_'.$action] = $message; |
122 |
|
123 |
// Modifie l'enregistrement |
124 |
$edit = $this->modifier($values); |
125 |
|
126 |
// Si la modification a échouée |
127 |
if ($edit == false) { |
128 |
// |
129 |
return false; |
130 |
} |
131 |
|
132 |
// |
133 |
return true; |
134 |
} |
135 |
|
136 |
|
137 |
/** |
138 |
* Récupère les informations d'une action de géolocalisation. |
139 |
* |
140 |
* @param string $action Action de géolocalisation. |
141 |
* |
142 |
* @return mixed [description] |
143 |
*/ |
144 |
public function get_geolocalisation_state($action) { |
145 |
// Si c'est une action de géolocalisation |
146 |
if (in_array($action, $this->list_action) == false) { |
147 |
// |
148 |
return false; |
149 |
} |
150 |
|
151 |
// Tableau des résultats |
152 |
$result = array(); |
153 |
$result["date"] = $this->getVal('date_'.$action); |
154 |
$result["etat"] = $this->getVal('etat_'.$action); |
155 |
$result["message"] = $this->getVal('message_'.$action); |
156 |
|
157 |
// Retourne le tableau des résultats |
158 |
return $result; |
159 |
} |
160 |
|
161 |
|
162 |
/** |
163 |
* Modifie le champ terrain_references_cadastrales_archive. |
164 |
* |
165 |
* @param string $value Valeur du champ. |
166 |
* |
167 |
* @return boolean |
168 |
*/ |
169 |
public function set_terrain_references_cadastrales_archive($value) { |
170 |
// Valeurs |
171 |
$values = array(); |
172 |
// Initialise chaque champ |
173 |
foreach($this->champs as $key => $val) { |
174 |
// |
175 |
$values[$val] = $this->val[$key]; |
176 |
|
177 |
// Si la valeur est vide |
178 |
if ($values[$val] == "") { |
179 |
// La valeur est null pour éviter les erreurs avec les champs |
180 |
// timestamp |
181 |
$values[$val] = null; |
182 |
} |
183 |
} |
184 |
// Valeurs modifiées |
185 |
$values['terrain_references_cadastrales_archive'] = $value; |
186 |
|
187 |
// Modifie l'enregistrement |
188 |
$edit = $this->modifier($values); |
189 |
|
190 |
// Si la modification a échouée |
191 |
if ($edit == false) { |
192 |
// |
193 |
return false; |
194 |
} |
195 |
|
196 |
// |
197 |
return true; |
198 |
} |
199 |
|
200 |
|
201 |
/** |
202 |
* Recupère la valeur du champ terrain_references_cadastrales_archive. |
203 |
* |
204 |
* @return string |
205 |
*/ |
206 |
public function get_terrain_references_cadastrales_archive() { |
207 |
// |
208 |
return $this->getVal('terrain_references_cadastrales_archive'); |
209 |
} |
210 |
|
211 |
|
212 |
} |
213 |
|
214 |
?> |