#!/bin/php create_tables(); $Database->date = new DateTimestamp; require('Zenity.php'); // commande système zenity require('zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande) require('Latex.php'); // générer le code LaTeX require('latexToPdf.php'); // compilation // boucle principale $boucle = true; while($boucle) { // menu principal $choix_niv1 = exec($MenuPrincipal->get()); // enregistrement if($choix_niv1 === '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->set_entries(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 } // type comptable de prestation $choix_niv2 = exec($MenuEnregistrement->get()); $continuer = true; if($choix_niv2 === "Devis") { $type = 'DEVIS'; } elseif($choix_niv2 === "Facture") { $type = 'FACTURE'; } elseif($choix_niv2 === "CESU") { $type = 'CESU'; } elseif($choix_niv2 === "Pas de prestation") { $type = ''; } 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 === 'Fichier clients') { // quel affichage? un grand tableau avec zenity? une page web? un document LaTeX? } // documents à imprimer elseif($choix_niv1 === 'Créer/imprimer un document') { $choix_niv2 = exec($MenuDocuments->get()); if($choix_niv2 === 'Devis') { } elseif($choix_niv2 === 'Facture') { } elseif($choix_niv2 === 'Lettre avec adresse') { } elseif($choix_niv2 === 'Livre des recettes') { } elseif($choix_niv2 === "Registre des achats") { } elseif($choix_niv2 === "Bilan annuel") { } else { // retour menu principal } } // Supports de communication elseif($choix_niv1 === 'Communication') { $choix_niv2 = exec($MenuCommunication->get()); if($choix_niv2 === 'Flyer (nécessite gimp)') { exec(window_app_command('gimp', $flyer)); } elseif($choix_niv2 === 'Carte de visite (nécessite scribus)') { exec(window_app_command('scribus', $business_card)); } elseif($choix_niv2 === 'Explorateur de fichiers') { exec(window_app_command($file_explorer, $pub)); } else { // retour menu principal } } // BDD elseif($choix_niv1 === 'Base de données') { if($sqlitebrowser_enable) { exec(window_app_command('sqlitebrowser', $db_place)); } else { exec($x_term_command . ' ' . $sqlite_cli . ' ' . $db_place); // correpond à priori à: xterm -e sqlite3 ~/ORDIPOLO/Appli_PHP/ordipolo.sqlite } } else { $boucle = false; // byebye } } // sauvegarder la base de données