diff options
Diffstat (limited to 'src/functions.php')
| -rw-r--r-- | src/functions.php | 118 |
1 files changed, 67 insertions, 51 deletions
diff --git a/src/functions.php b/src/functions.php index aaacb36..f78b23d 100644 --- a/src/functions.php +++ b/src/functions.php | |||
| @@ -22,21 +22,45 @@ function windowAppCommand(string $app, string $path = ''): string | |||
| 22 | return $command; | 22 | return $command; |
| 23 | } | 23 | } |
| 24 | 24 | ||
| 25 | function makeObjectCLient() | 25 | function enterCustomer($Client): bool |
| 26 | { | ||
| 27 | // fenêtre | ||
| 28 | $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client_text, ZenitySetup::$nouveau_client_entrees); | ||
| 29 | |||
| 30 | $input = exec($NouveauClient->get()); | ||
| 31 | if($input == '') | ||
| 32 | { | ||
| 33 | echo "debug: annulation lors de l'enregistrement d'un nouveau client\n"; | ||
| 34 | return false; | ||
| 35 | } | ||
| 36 | if(!$Client->hydrateFromForm($input)) | ||
| 37 | { | ||
| 38 | // messages d'erreur dans hydrateFromForm() | ||
| 39 | return false; | ||
| 40 | } | ||
| 41 | unset($input); | ||
| 42 | |||
| 43 | $Client->create(); // écrire dans la base | ||
| 44 | $Client->setID(); // sans paramètre, exécute un $this->db->lastInsertId() | ||
| 45 | |||
| 46 | return true; | ||
| 47 | } | ||
| 48 | |||
| 49 | function makeObjectClient() | ||
| 26 | { | 50 | { |
| 27 | // fenêtres | 51 | // fenêtres |
| 28 | $QuestionNouveauClient = new ZenityQuestion(ZenitySetup::$question_nouveau_client_text); | 52 | //~ $QuestionNouveauClient = new ZenityQuestion(ZenitySetup::$question_nouveau_client_text); |
| 29 | $RechercheClient = new zenityEntry(ZenitySetup::$recherche_client_text); | 53 | $RechercheClient = new zenityEntry(ZenitySetup::$recherche_client_text); |
| 30 | $ResultatsRechercheClient = new ZenityList(ZenitySetup::$resultats_recherche_client_text, []); | 54 | $ResultatsRechercheClient = new ZenityList(ZenitySetup::$resultats_recherche_client_text, []); |
| 31 | $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client_text, ZenitySetup::$nouveau_client_entrees); | 55 | //~ $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client_text, ZenitySetup::$nouveau_client_entrees); |
| 32 | 56 | ||
| 33 | $Client = new Clients; | 57 | $Client = new Clients; |
| 34 | 58 | ||
| 35 | // est ce que le client est déjà dans la base? | 59 | // est ce que le client est déjà dans la base? |
| 36 | $client_inconnu = true; | 60 | //~ $client_inconnu = true; |
| 37 | if(exec($QuestionNouveauClient->get()) == '0') // $? = 0 signifie oui, double égal == pour le transtypage | 61 | //~ if(exec($QuestionNouveauClient->get()) == '0') // $? = 0 signifie oui, double égal == pour le transtypage |
| 38 | { | 62 | //~ { |
| 39 | echo "choix: recherche d'une client\n"; | 63 | //~ echo "choix: recherche d'une client\n"; |
| 40 | $input = exec($RechercheClient->get()); | 64 | $input = exec($RechercheClient->get()); |
| 41 | if($input == '') | 65 | if($input == '') |
| 42 | { | 66 | { |
| @@ -45,7 +69,7 @@ function makeObjectCLient() | |||
| 45 | } | 69 | } |
| 46 | 70 | ||
| 47 | echo "debug: recherche effectuée\n"; | 71 | echo "debug: recherche effectuée\n"; |
| 48 | $ResultatsRechercheClient->setListRows(rechercheClient($input, $Client), $Client->getTable()); // recherche silencieuse | 72 | $ResultatsRechercheClient->setListRows(searchCustomer($input, $Client), $Client->getTable()); // recherche silencieuse |
| 49 | 73 | ||
| 50 | // sélection parmi les résultats | 74 | // sélection parmi les résultats |
| 51 | $input = exec($ResultatsRechercheClient->get()); // renvoie l'ID de la table 'clients' | 75 | $input = exec($ResultatsRechercheClient->get()); // renvoie l'ID de la table 'clients' |
| @@ -59,31 +83,31 @@ function makeObjectCLient() | |||
| 59 | 83 | ||
| 60 | echo "debug: client sélectionné\n"; | 84 | echo "debug: client sélectionné\n"; |
| 61 | $Client->hydrate($Client->findById($input)); | 85 | $Client->hydrate($Client->findById($input)); |
| 62 | $client_inconnu = false; | 86 | //~ $client_inconnu = false; |
| 63 | } | 87 | //~ } |
| 64 | else | 88 | //~ else |
| 65 | { | 89 | //~ { |
| 66 | echo "choix: nouveau client\n"; | 90 | //~ echo "choix: nouveau client\n"; |
| 67 | } | 91 | //~ } |
| 68 | 92 | ||
| 69 | // on n'a pas cherché OU on n'a pas trouvé | 93 | // on n'a pas cherché OU on n'a pas trouvé |
| 70 | if($client_inconnu) | 94 | //~ if($client_inconnu) |
| 71 | { | 95 | //~ { |
| 72 | $input = exec($NouveauClient->get()); | 96 | //~ $input = exec($NouveauClient->get()); |
| 73 | if($input == '') | 97 | //~ if($input == '') |
| 74 | { | 98 | //~ { |
| 75 | echo "debug: annulation lors de l'enregistrement d'un nouveau client\n"; | 99 | //~ echo "debug: annulation lors de l'enregistrement d'un nouveau client\n"; |
| 76 | return 0; | 100 | //~ return 0; |
| 77 | } | 101 | //~ } |
| 78 | if(!$Client->hydrateFromForm($input)) | 102 | //~ if(!$Client->hydrateFromForm($input)) |
| 79 | { | 103 | //~ { |
| 80 | // messages d'erreur dans hydrateFromForm() | 104 | //~ // messages d'erreur dans hydrateFromForm() |
| 81 | return 0; | 105 | //~ return 0; |
| 82 | } | 106 | //~ } |
| 83 | unset($input); | 107 | //~ unset($input); |
| 84 | $Client->create(); | 108 | //~ $Client->create(); |
| 85 | $Client->setID(); // sans paramètre, exécute un $this->db->lastInsertId() | 109 | //~ $Client->setID(); // sans paramètre, exécute un $this->db->lastInsertId() |
| 86 | } | 110 | //~ } |
| 87 | 111 | ||
| 88 | return $Client; | 112 | return $Client; |
| 89 | } | 113 | } |
| @@ -93,7 +117,7 @@ function makeObjectCLient() | |||
| 93 | // NOTE 3: la variable créée lors d'un "new" est elle-même une référence contenant un identifiant (= le pointeur?) | 117 | // NOTE 3: la variable créée lors d'un "new" est elle-même une référence contenant un identifiant (= le pointeur?) |
| 94 | // NOTE 4: l'objet est détruit lorsque la dernière référence est supprimée | 118 | // NOTE 4: l'objet est détruit lorsque la dernière référence est supprimée |
| 95 | 119 | ||
| 96 | function rechercheClient(string $input, Clients $Client): array | 120 | function searchCustomer(string $input, Clients $Client): array |
| 97 | { | 121 | { |
| 98 | $input_array = explode(' ', $input); // si plusieurs mot, on les recherche tous l'un après l'autre | 122 | $input_array = explode(' ', $input); // si plusieurs mot, on les recherche tous l'un après l'autre |
| 99 | $result = $Client->findByKeywords($input_array, 'prenom_nom'); // on obtient un tableau à deux dimensions avec les entrées trouvées | 123 | $result = $Client->findByKeywords($input_array, 'prenom_nom'); // on obtient un tableau à deux dimensions avec les entrées trouvées |
| @@ -101,6 +125,17 @@ function rechercheClient(string $input, Clients $Client): array | |||
| 101 | } | 125 | } |
| 102 | 126 | ||
| 103 | 127 | ||
| 128 | function makeTexAndPdf(Object $Object) | ||
| 129 | { | ||
| 130 | if(get_class($Object) !== 'EnveloppeVersoLatex') | ||
| 131 | { | ||
| 132 | makeFolder($Object->getLatexPath()); | ||
| 133 | makeFolder($Object->getPdfPath()); | ||
| 134 | } | ||
| 135 | makeFile($Object->getLatexPath(), $Object->getFileName(), $Object->getLatex()); | ||
| 136 | latexToPdf($Object->getLatexPath(), $Object->getFileName(), $Object->getPdfPath()); | ||
| 137 | } | ||
| 138 | |||
| 104 | //~ function makeLatexAndPdfDocuments(Clients $Client = null, Prestations $Presta = null, $PrestaDetails = null) | 139 | //~ function makeLatexAndPdfDocuments(Clients $Client = null, Prestations $Presta = null, $PrestaDetails = null) |
| 105 | //~ { | 140 | //~ { |
| 106 | //~ $latex = ''; | 141 | //~ $latex = ''; |
| @@ -166,22 +201,3 @@ function rechercheClient(string $input, Clients $Client): array | |||
| 166 | //~ } | 201 | //~ } |
| 167 | //~ } | 202 | //~ } |
| 168 | //~ } | 203 | //~ } |
| 169 | |||
| 170 | //~ function makeLatex(string $type, array $data = [], Dates $Date = null) | ||
| 171 | //~ { | ||
| 172 | //~ $date = ''; | ||
| 173 | //~ if($Date != null) | ||
| 174 | //~ { | ||
| 175 | //~ $date = $Date->getDate(); | ||
| 176 | //~ $date = preg_replace('#\D#', '/', $date); // date avec des slashs / parce que j'aime bien | ||
| 177 | //~ } | ||
| 178 | |||
| 179 | //~ // on obtient la variable $latex avec ob_get_clean() | ||
| 180 | //~ // le include() ici, c'est du génie ou c'est moche ou les deux? | ||
| 181 | //~ // un nouveau fichier php est inséré à chaque itération | ||
| 182 | //~ include('latex_templates/' . $type . '.php'); | ||
| 183 | |||
| 184 | //~ // on retourne le buffer | ||
| 185 | //~ // normallement le code PHP inséré avec include est nettoyé en quittant la fonction | ||
| 186 | //~ return($latex); | ||
| 187 | //~ } | ||
