diff options
Diffstat (limited to 'src/model/Model.php')
-rw-r--r-- | src/model/Model.php | 20 |
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 |