diff options
Diffstat (limited to 'src/model')
| -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 |
