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