summaryrefslogtreecommitdiff
path: root/php/main.php
diff options
context:
space:
mode:
Diffstat (limited to 'php/main.php')
-rwxr-xr-xphp/main.php205
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
6require('../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
20require('dependances.php'); // vérification des dépendances
21require('functions.php');
22require('Dates.php'); // gère dates et timestamps
23Dates::$date_format = $date_format; // dates européennes ou américaines
24
25require('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à
26require('Model.php'); // class Model extends DB, requêtes SQL
27Connection::$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
32require('Zenity.php'); // commande système zenity
33require('zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande)
34
35require('Latex.php'); // générer le code LaTeX
36require('latexToPdf.php'); // compilation
37
38
39// boucle principale
40$boucle = true;
41while($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