From ff14091476a35de16a9ea3208501040cfae93a06 Mon Sep 17 00:00:00 2001 From: polo Date: Wed, 14 Dec 2022 12:55:46 +0100 Subject: MODEL + reorganisation --- src/main.php | 239 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 239 insertions(+) create mode 100755 src/main.php (limited to 'src/main.php') diff --git a/src/main.php b/src/main.php new file mode 100755 index 0000000..e890744 --- /dev/null +++ b/src/main.php @@ -0,0 +1,239 @@ +#!/bin/php +setPrenom_nom('Jean Némar')->setAdresse('10, rue des douves')->setCode_client('464653476')->setCommentaires('un peu chiant'); +$Client->create(); + +// même chose avec un tableau en entrée au lieu d'écrire toutes les méthodes +$input = ['prenom_nom' => 'Eva Casquer', 'adresse' => "2, place d'Écosse", 'code_client' => '958465875', 'commentaires' => 'bonne vache à lait']; +$Client->hydrate($input); +$Client->create(); + +$input = ['prenom_nom' => 'Eva Paparla', 'commentaires' => 'grosse nunuche']; +$Client->hydrate($input); +$Client->update(2); + +$Client->delete(3); + +//$Date = new Dates; + + +require('view/Zenity.php'); // commande système zenity +require('view/zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande) +require('Latex.php'); // générer le code LaTeX + +// injection de variables dans le document +// problème à régler: et si je veux faire une deuxième facture? +//~ include('latex_templates/devis.php'); +//~ include('latex_templates/facture.php'); +//~ include('latex_templates/enveloppe_recto.php'); +//~ include('latex_templates/enveloppe_verso.php'); +//~ include('latex_templates/location.php'); + + +// boucle principale +$boucle = true; +while($boucle) +{ + // menu principal + $choix_niv1 = exec($MenuPrincipal->get()); + + // enregistrement + if($choix_niv1 === $menu_principal_entrees[0]) // = Nouvelle prestation + { + // est ce que le client est déjà dans la base? + if(exec($QuestionNouveauClient->get()) === 0) // $? = 0 signifie oui + { + // saisie du nom du client et recherche + $client_saisie = exec($RechercheClient->get()); + + // sélection parmi les résultats + $ResultatsRechercheClient->setEntries(recherche_client($client_saisie)); + $choix_niv2 = exec($ResultatsRechercheClient->get()); + if($choix_niv2 !== '') + { + echo "client trouvé\n"; + } + else // chaîne vide + { + echo "client pas trouvé\n"; + exec($NouveauClient->get()); + + // enregistrement dans la BDD + + } + + // récupération des infos dans la BDD + + } + else + { + echo "nouveau client\n"; + exec($NouveauClient->get()); + + // enregistrement dans la BDD + + } + + // choix type comptable: devis, facture, cesu + $choix_niv2 = exec($MenuEnregistrement->get()); + $continuer = true; + if($choix_niv2 === $menu_enregistrement_entrees[0]) + { + // + } + elseif($choix_niv2 === $menu_enregistrement_entrees[1]) + { + // + } + elseif($choix_niv2 === $menu_enregistrement_entrees[2]) + { + // + } + elseif($choix_niv2 === $menu_enregistrement_entrees[3]) + { + // + } + else + { + $continuer = false; // retour menu principal + } + + // détail de la prestation + if($continuer) + { + exec($Calendrier->get()); + exec($FormulairePrestation->get()); + // enregistrement date et prestation en BDD + exec($CommentairePrestation->get()); + // enregistrement commentaire en BDD + // vérification? + + // tableau récaptilatif et demande de confirmation des informations + // création fichiers LaTeX et PDF + + // imprimer? + //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); + //~ $imprimer_enveloppe = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer l\'adresse sur une enveloppe? (insérer une enveloppe DL sans fenêtre dans l\'imprimante"'); + } + } + + elseif($choix_niv1 === $menu_principal_entrees[1]) // = Modifier un enregistrement + {} + + elseif($choix_niv1 === $menu_principal_entrees[2]) // = Fichier clients + { + // quel affichage? un grand tableau avec zenity? une page web? un document LaTeX? + } + + // documents à imprimer + elseif($choix_niv1 === $menu_principal_entrees[3]) // = Créer/imprimer un document + { + $choix_niv2 = exec($MenuDocuments->get()); + if($choix_niv2 === $menu_documents_entrees[0]) + { + + } + elseif($choix_niv2 === $menu_documents_entrees[1]) // = Facture + { + + } + elseif($choix_niv2 === $menu_documents_entrees[2]) // = Lettre avec adresse + { + + } + elseif($choix_niv2 === $menu_documents_entrees[3]) // = Livre des recettes + { + + } + elseif($choix_niv2 === $menu_documents_entrees[4]) // = Registre des achats + { + + } + elseif($choix_niv2 === $menu_documents_entrees[5]) // = Bilan annuel + { + + } + else + { + // retour menu principal + } + } + + // Supports de communication + elseif($choix_niv1 === $menu_principal_entrees[4]) // = Communication + { + $choix_niv2 = exec($MenuCommunication->get()); + if($choix_niv2 === $menu_communication_entrees[0]) // = Flyer (nécessite gimp) + { + exec(window_app_command($image_editor, $flyer)); + } + elseif($choix_niv2 === $menu_communication_entrees[1]) // = Carte de visite (nécessite scribus) + { + exec(window_app_command($publishing, $business_card)); + } + elseif($choix_niv2 === $menu_communication_entrees[2]) // = Explorateur de fichiers + { + exec(window_app_command($file_explorer, $pub)); + } + else + { + // retour menu principal + } + } + + // BDD + elseif($choix_niv1 === $menu_principal_entrees[5]) // = Base de données + { + if($sqlitebrowser_enable) + { + exec(window_app_command($sqlite_gui, $db_place)); + } + else + { + exec($x_term_command . ' ' . $sqlite_cli . ' ' . $db_place); // correpond à priori à: xterm -e sqlite3 ~/ORDIPOLO/Appli_PHP/ordipolo.sqlite + } + } + + // arrêt + else + { + $boucle = false; + } +} -- cgit v1.2.3