From 6fb3a6ae1ef7a990678eab30a843770b605ccd29 Mon Sep 17 00:00:00 2001 From: polo Date: Mon, 22 Jan 2024 22:01:47 +0100 Subject: =?UTF-8?q?correction=20erreur=20de=20zenity=20si=20une=20cha?= =?UTF-8?q?=C3=AEne=20commence=20par=20un=20tiret?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/model/Model.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) 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 // note: avec le !== (au lieu de !=) une valeur 0 est différente de null if($value !== null && $field != 'db' && $field != 'table') { + $value = $this->clean_for_bash($value); // pour la BDD + $this->$field = $value; // pour latex + $fields[] = $field; // push $question_marks[] = '?'; $values[] = $value; @@ -237,6 +240,9 @@ abstract class Model extends DB { if($value !== null && $field != 'db' && $field != 'table') // champs non renseignées et variables de l'objet qui ne sont pas des champs { + $value = $this->clean_for_bash($value); // pour la BDD + $this->$field = $value; // pour latex + $fields[] = $field . ' = ?'; $values[] = $value; } @@ -261,6 +267,20 @@ abstract class Model extends DB } + private function clean_for_bash($value) + { + if(is_string($value) && $value != '') + { + do + { + $value = trim($value); + $value = preg_replace('#^-#','' , $value); // en bash une chaîne commençant par un tiret est un paramètre + } while($value[0] == ' '|| $value[0] == '-'); // chaîne commençant par un tiret puis un espace, ou même - - - - - + } + return $value; + } + + // fonction appelée une seule fois au lancement du programme // 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 // DBStructure::${self::$tableStructure} permet de nommer une variable statique de classe -- cgit v1.2.3