summaryrefslogtreecommitdiff
path: root/index.php
diff options
context:
space:
mode:
Diffstat (limited to 'index.php')
-rwxr-xr-xindex.php190
1 files changed, 7 insertions, 183 deletions
diff --git a/index.php b/index.php
index 7bcb87c..dbcf0e2 100755
--- a/index.php
+++ b/index.php
@@ -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
6require('config.php'); // fichier de l'utilisateur 6chdir('php'); // ie de merde?
7//require('config_check.php'); // contrôle de config.php 7require('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
19require('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
20require('php/functions.php');
21 11
22require('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
23require('php/Model.php'); // class Model extends DB, requêtes SQL 13//~ #!/bin/sh
24Connection::$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
27require('php/ZenityClasses.php'); // méthodes pour créer les commandes
28require('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;
35while($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