diff options
Diffstat (limited to 'index.php')
-rwxr-xr-x | index.php | 190 |
1 files changed, 7 insertions, 183 deletions
@@ -2,189 +2,13 @@ | |||
2 | <?php | 2 | <?php |
3 | // index.php | 3 | // index.php |
4 | 4 | ||
5 | // configuration du programme par l'utilisateur | 5 | // le programme peut être lancé sans distinction par le lanceur, par un ./index.php ou par un ./main.php |
6 | require('config.php'); // fichier de l'utilisateur | 6 | chdir('php'); // idée de merde? |
7 | //require('config_check.php'); // contrôle de config.php | 7 | require('main.php'); |
8 | 8 | ||
9 | // variables diverses, certaines utilisent les variables de config.php | ||
10 | $exec_mode = 'gui'; // les versions pure console (CLI) et serveur web (CGI) de ce programme ne sont pas prévues pour l'instant | ||
11 | $file_explorer = 'xdg-open'; // ouvre l'explorateur de fichiers par défaut quand suivi d'un chemin en paramètre | ||
12 | $flyer = $pub . $flyer; | ||
13 | $business_card = $pub . $business_card; | ||
14 | $db_place .= $db_name . '.sqlite'; | ||
15 | $sqlitebrowser_enable = false; | ||
16 | $sqlite_cli = ''; // commande sqlite ou sqlite3 | ||
17 | $x_term_command = ''; // commande terminal en mode graphique | ||
18 | 9 | ||
19 | require('php/dependances.php'); // vérification des dépendances | 10 | // possibilité de renommer ce fichier AppliGestionPHP.sh et d'adapter le contenu, et d'ajouter un AppliGestionPHP.exe |
20 | require('php/functions.php'); | ||
21 | 11 | ||
22 | require('php/ConnectionDatabase.php'); // class DB extends PDO, connexion à la base et création de la base et des tables si elles n'existent pas déjà | 12 | // contenu de AppliGestionPHP.sh |
23 | require('php/Model.php'); // class Model extends DB, requêtes SQL | 13 | //~ #!/bin/sh |
24 | Connection::$dsn = 'sqlite:' . $db_name . '.sqlite'; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn); | 14 | //~ php php/main.php |
25 | $Database = new Model(); // connexion et méthodes pour manipuler la base de données | ||
26 | |||
27 | require('php/ZenityClasses.php'); // méthodes pour créer les commandes | ||
28 | require('php/zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande) | ||
29 | |||
30 | // require('php/latex.php'); | ||
31 | // require('php/compileLatex.php'); | ||
32 | |||
33 | // boucle principale | ||
34 | $boucle = true; | ||
35 | while($boucle) | ||
36 | { | ||
37 | // menu principal | ||
38 | $choix_niv1 = exec($MenuPrincipal->get()); | ||
39 | |||
40 | // enregistrement | ||
41 | if($choix_niv1 == 'Nouvelle prestation') | ||
42 | { | ||
43 | // est ce que le client est déjà dans la base? | ||
44 | if(exec($QuestionNouveauClient->get()) == 0) // $? = 0 signifie oui | ||
45 | { | ||
46 | // saisie du nom du client et recherche | ||
47 | $client_saisie = exec($RechercheClient->get()); | ||
48 | |||
49 | // sélection parmi les résultats | ||
50 | $ResultatsRechercheClient->set_entries(recherche_client($client_saisie)); | ||
51 | $choix_niv2 = exec($ResultatsRechercheClient->get()); | ||
52 | if($choix_niv2 != '') | ||
53 | { | ||
54 | echo "client trouvé\n"; | ||
55 | } | ||
56 | else // chaîne vide | ||
57 | { | ||
58 | echo "client pas trouvé\n"; | ||
59 | exec($NouveauClient->get()); | ||
60 | |||
61 | // enregistrement dans la BDD | ||
62 | |||
63 | } | ||
64 | |||
65 | // récupération des infos dans la BDD | ||
66 | |||
67 | } | ||
68 | else | ||
69 | { | ||
70 | echo "nouveau client\n"; | ||
71 | exec($NouveauClient->get()); | ||
72 | |||
73 | // enregistrement dans la BDD | ||
74 | |||
75 | } | ||
76 | |||
77 | // infos sur la prestation | ||
78 | $choix_niv2 = exec($MenuEnregistrement->get()); | ||
79 | $continuer = true; | ||
80 | if($choix_niv2 == "Devis") | ||
81 | { | ||
82 | $type = 'DEVIS'; | ||
83 | } | ||
84 | elseif($choix_niv2 == "Facture") | ||
85 | { | ||
86 | $type = 'FACTURE'; | ||
87 | } | ||
88 | elseif($choix_niv2 == "CESU") | ||
89 | { | ||
90 | $type = 'CESU'; | ||
91 | } | ||
92 | elseif($choix_niv2 == "Pas de prestation") | ||
93 | { | ||
94 | $type = ''; | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | $continuer = false; // retour menu principal | ||
99 | } | ||
100 | |||
101 | if($continuer) | ||
102 | { | ||
103 | exec($Calendrier->get()); | ||
104 | exec($FormulairePrestation->get()); | ||
105 | // enregistrement date et prestation en BDD | ||
106 | exec($CommentairePrestation->get()); | ||
107 | // enregistrement commentaire en BDD | ||
108 | } | ||
109 | } | ||
110 | |||
111 | elseif($choix_niv1 == 'Fichier clients') | ||
112 | { | ||
113 | // quel affichage? un grand tableau avec zenity? une page web? un document LaTeX? | ||
114 | } | ||
115 | |||
116 | // documents à imprimer | ||
117 | elseif($choix_niv1 == 'Créer/imprimer un document') | ||
118 | { | ||
119 | $choix_niv2 = exec($MenuDocuments->get()); | ||
120 | if($choix_niv2 == 'Devis') | ||
121 | { | ||
122 | |||
123 | } | ||
124 | elseif($choix_niv2 == 'Facture') | ||
125 | { | ||
126 | |||
127 | } | ||
128 | elseif($choix_niv2 == 'Lettre avec adresse') | ||
129 | { | ||
130 | |||
131 | } | ||
132 | elseif($choix_niv2 == 'Livre des recettes') | ||
133 | { | ||
134 | |||
135 | } | ||
136 | elseif($choix_niv2 == "Registre des achats") | ||
137 | { | ||
138 | |||
139 | } | ||
140 | elseif($choix_niv2 == "Bilan annuel") | ||
141 | { | ||
142 | |||
143 | } | ||
144 | else | ||
145 | { | ||
146 | // retour menu principal | ||
147 | } | ||
148 | } | ||
149 | |||
150 | // Supports de communication | ||
151 | elseif($choix_niv1 == 'Communication') | ||
152 | { | ||
153 | $choix_niv2 = exec($MenuCommunication->get()); | ||
154 | if($choix_niv2 == 'Flyer (nécessite gimp)') | ||
155 | { | ||
156 | exec(window_app_command('gimp', $flyer)); | ||
157 | } | ||
158 | elseif($choix_niv2 == 'Carte de visite (nécessite scribus)') | ||
159 | { | ||
160 | exec(window_app_command('scribus', $business_card)); | ||
161 | } | ||
162 | elseif($choix_niv2 == 'Explorateur de fichiers') | ||
163 | { | ||
164 | exec(window_app_command($file_explorer, $pub)); | ||
165 | } | ||
166 | else | ||
167 | { | ||
168 | // retour menu principal | ||
169 | } | ||
170 | } | ||
171 | |||
172 | // BDD | ||
173 | elseif($choix_niv1 == 'Base de données') | ||
174 | { | ||
175 | if($sqlitebrowser_enable) | ||
176 | { | ||
177 | exec(window_app_command('sqlitebrowser', $db_place)); | ||
178 | } | ||
179 | else | ||
180 | { | ||
181 | exec($x_term_command . ' ' . $sqlite_cli . ' ' . $db_place); // correpond à priori à: xterm -e sqlite3 ~/ORDIPOLO/Appli_PHP/ordipolo.sqlite | ||
182 | } | ||
183 | } | ||
184 | else | ||
185 | { | ||
186 | $boucle = false; // byebye | ||
187 | } | ||
188 | } | ||
189 | |||
190 | // sauvegarder la base de données | ||