From bf6655a534a6775d30cafa67bd801276bda1d98d Mon Sep 17 00:00:00 2001 From: polo Date: Tue, 13 Aug 2024 23:45:21 +0200 Subject: =?UTF-8?q?VERSION=200.2=20doctrine=20ORM=20et=20entit=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/functions.php | 123 ------------------------------------------------------ 1 file changed, 123 deletions(-) (limited to 'src/functions.php') diff --git a/src/functions.php b/src/functions.php index 47cea42..d9fbfca 100644 --- a/src/functions.php +++ b/src/functions.php @@ -1,7 +1,5 @@ stdout pour cacher un message inutile return $command; } - -function enterCustomer($Client): bool -{ - // fenêtre - $NouveauClient = new ZenityForms(ZenitySetup::$nouveau_client['text'], ZenitySetup::$nouveau_client['entrees']); - - $input = exec($NouveauClient->get()); - if($input == '') - { - echo "debug: annulation lors de l'enregistrement d'un nouveau client\n"; - return false; - } - if(!$Client->hydrateFromForm($input)) - { - // messages d'erreur dans hydrateFromForm() - return false; - } - unset($input); - - $Client->create(); // écrire dans la base - $Client->setId(); // sans paramètre, exécute un $this->db->lastInsertId() - - return true; -} - -function makeObjectClient() -{ - // fenêtres - $RechercheClient = new zenityEntry(ZenitySetup::$recherche_client_text); - $ResultatsRechercheClient = new ZenityList(ZenitySetup::$resultats_recherche_client_text, []); - - $Client = new Clients; - - $input = exec($RechercheClient->get()); - if($input == '') - { - echo "debug: recherche annulée ou saisie vide\n"; - return 0; - } - - echo "debug: recherche effectuée\n"; - $ResultatsRechercheClient->setListRows( - searchCustomer($input, $Client), - count(StructTablesDB::$structureOfTables[$Client->getTable()])); // 2è paramètre = nombre de colonnes - - // sélection parmi les résultats - $input = exec($ResultatsRechercheClient->get()); // renvoie l'ID de la table 'clients' - $ResultatsRechercheClient->cleanCommand(); - - if($input == '') - { - echo "debug: client pas trouvé ou pas sélectionné\n"; - return 0; - } - - echo "debug: client sélectionné\n"; - $Client->setId($input); - $Client->hydrate($Client->findById()); - - return $Client; -} - -// NOTE 1: en PHP les objets sont passés aux fonctions par référence par défaut, toutefois ce n'est pas entièrement vrai -// NOTE 2: PHP n'a pas de pointeur mais des références, une référence est un alias qui ne contient pas l'objet lui-même -// NOTE 3: la variable créée lors d'un "new" est elle-même une référence contenant un identifiant (= le pointeur?) -// NOTE 4: l'objet est détruit lorsque la dernière référence est supprimée - -function searchCustomer(string $input, Clients $Client): array -{ - $input_array = explode(' ', $input); // si plusieurs mot, on les recherche tous l'un après l'autre - $result = $Client->findByKeywords($input_array, 'prenom_nom'); // on obtient un tableau à deux dimensions avec les entrées trouvées - //var_dump($result); - return($result); -} - - -function getServices(Clients $Client, string $type = '') -{ - echo "debug: recherche d'une prestation\n"; - - // on recherche les ID des prestas dans la table 'prestations' avec 'id_client' - $Presta = new Prestations($Client->getId()); - $Presta->setTypePresta($type); - $IDs = $Presta->getIdsByIdClient(); // comportement différent si le type est connu - unset($Presta); - - // mettres toutes les données dans un tableau - $PrestaList = []; - foreach($IDs as $id) - { - $PrestaList[$id] = new Prestations($Client->getId()); // renseigne 'id_client' - $PrestaList[$id]->setId($id); // ID de la prestation = clé du tableau - $PrestaList[$id]->hydrate($PrestaList[$id]->findById()); // données copiés de la table à l'objet - } - - // fenêtre - $entrees = []; - foreach($PrestaList as $Presta) - { - $id = $Presta->getId(); - $entrees[$id][] = $id; - $Date = new Dates((int)$Presta->getDate()); // envoi du timestamp, (int) est là par sécurité - $entrees[$id][] = $Date->getDate(); - $entrees[$id][] = $Presta->getTypePresta(); - $entrees[$id][] = $Presta->getCodePresta(); - } - $ResultatsRecherchePresta = new ZenityList(ZenitySetup::$resultats_recherche_presta_text, []); - $ResultatsRecherchePresta->setListRows($entrees, 4); - - // choix de l'utilisateur - $input = exec($ResultatsRecherchePresta->get()); // $input est l'ID de la prestation - if($input == '') - { - echo "debug: recherche annulée ou saisie vide\n"; - return 0; - } - else - { - return $PrestaList[$input]; - } -} -- cgit v1.2.3