#!/bin/php get()); // Nouvelle prestation if($choix_niv1 === $menu_principal_entrees[0]) { $Client = new Clients; $id_client_connu = false; // niveau 2: est ce que le client est déjà dans la base? if(exec($QuestionNouveauClient->get()) == '0') // $? = 0 signifie oui, double égal == pour le transtypage { echo "debug: recherche souhaitée\n"; // niveau 3: saisie du nom du client $nom_client = exec($RechercheClient->get()); if($nom_client !== '') { echo "debug: recherche effectuée\n"; $ResultatsRechercheClient->setListRows(rechercheClient($nom_client, $Client), $Client->getTable()); // recherche silencieuse //~ var_dump($ResultatsRechercheClient->get()); die(); unset($nom_client); // niveau 4: sélection parmi les résultats $choix_niv4 = exec($ResultatsRechercheClient->get()); $ResultatsRechercheClient->cleanCommand(); if($choix_niv4 !== '') { echo "debug: client sélectionné\n"; $id_client_connu = true; } else { echo "debug: client pas trouvé ou pas sélectionné\n"; } } else { echo "debug: recherche annulée ou saisie vide\n"; } } else { echo "debug: nouveau client\n"; } // niveau 2: on n'a pas cherché OU on n'a pas trouvé if(!$id_client_connu) { $id_client_connu = enregistrementNouveauClient(exec($NouveauClient->get()), $Client); // fenêtre + écriture BDD } // niveau 2: type comptable d'enregistrement: devis, facture, cesu ou pas de prestation if($id_client_connu) { $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 } if($continuer) { //niveau 3: détail de la prestation $Date = new Dates(exec($Calendrier->get())); $Objet->setDate($Date->getTimestamp()); // enregistrement du timestamp en BDD 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 //~ $latex_path = '../data/latex/'; // noms de variables dans le config.php //~ $file_name = 'devis.tex'; //~ $template = 'devis'; // vaut 'devis' ou 'enveloppe_recto' ou 'enveloppe_verso' ou 'facture' ou 'location' //~ $latex = getLatexFromTemplate($template); //~ file_put_contents($latex_path . $file_name, $latex); // injection des variables & écriture du fichier //~ $pdf_path = '../data/pdf/'; //~ latexToPdf($latex_path, $file_name, $pdf_path); // 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"'); } } unset($Client); // suppression de la dernière référence (normallement) } // Modifier un enregistrement elseif($choix_niv1 === $menu_principal_entrees[1]) { // niveau 2: } // Fichier clients elseif($choix_niv1 === $menu_principal_entrees[2]) { // 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(windowAppCommand($image_editor, $flyer)); } elseif($choix_niv2 === $menu_communication_entrees[1]) // = Carte de visite (nécessite scribus) { exec(windowAppCommand($publishing, $business_card)); } elseif($choix_niv2 === $menu_communication_entrees[2]) // = Explorateur de fichiers { exec(windowAppCommand($file_explorer, $pub)); } else { // retour menu principal } } // BDD elseif($choix_niv1 === $menu_principal_entrees[5]) // = Base de données { if($sqlitebrowser_enable) { exec(windowAppCommand($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; } }