summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/model/Model.php20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/model/Model.php b/src/model/Model.php
index d6597f0..6c799c3 100644
--- a/src/model/Model.php
+++ b/src/model/Model.php
@@ -173,6 +173,9 @@ abstract class Model extends DB
173 // note: avec le !== (au lieu de !=) une valeur 0 est différente de null 173 // note: avec le !== (au lieu de !=) une valeur 0 est différente de null
174 if($value !== null && $field != 'db' && $field != 'table') 174 if($value !== null && $field != 'db' && $field != 'table')
175 { 175 {
176 $value = $this->clean_for_bash($value); // pour la BDD
177 $this->$field = $value; // pour latex
178
176 $fields[] = $field; // push 179 $fields[] = $field; // push
177 $question_marks[] = '?'; 180 $question_marks[] = '?';
178 $values[] = $value; 181 $values[] = $value;
@@ -237,6 +240,9 @@ abstract class Model extends DB
237 { 240 {
238 if($value !== null && $field != 'db' && $field != 'table') // champs non renseignées et variables de l'objet qui ne sont pas des champs 241 if($value !== null && $field != 'db' && $field != 'table') // champs non renseignées et variables de l'objet qui ne sont pas des champs
239 { 242 {
243 $value = $this->clean_for_bash($value); // pour la BDD
244 $this->$field = $value; // pour latex
245
240 $fields[] = $field . ' = ?'; 246 $fields[] = $field . ' = ?';
241 $values[] = $value; 247 $values[] = $value;
242 } 248 }
@@ -261,6 +267,20 @@ abstract class Model extends DB
261 } 267 }
262 268
263 269
270 private function clean_for_bash($value)
271 {
272 if(is_string($value) && $value != '')
273 {
274 do
275 {
276 $value = trim($value);
277 $value = preg_replace('#^-#','' , $value); // en bash une chaîne commençant par un tiret est un paramètre
278 } while($value[0] == ' '|| $value[0] == '-'); // chaîne commençant par un tiret puis un espace, ou même - - - - -
279 }
280 return $value;
281 }
282
283
264 // fonction appelée une seule fois au lancement du programme 284 // fonction appelée une seule fois au lancement du programme
265 // le tableau nécessaire n'est pas copié en mémoire à l'instanciation (pas de fuite de mémoire), mais uniquement à l'appel de cette fonction statique, à la fin de la fonction la mémoire est libérée 285 // le tableau nécessaire n'est pas copié en mémoire à l'instanciation (pas de fuite de mémoire), mais uniquement à l'appel de cette fonction statique, à la fin de la fonction la mémoire est libérée
266 // DBStructure::${self::$tableStructure} permet de nommer une variable statique de classe 286 // DBStructure::${self::$tableStructure} permet de nommer une variable statique de classe