diff options
Diffstat (limited to 'php')
-rw-r--r-- | php/Connection.php (renamed from php/ConnectionDatabase.php) | 2 | ||||
-rw-r--r-- | php/DateTimestamp.php | 50 | ||||
-rw-r--r-- | php/Latex.php | 84 | ||||
-rw-r--r-- | php/Model.php | 51 | ||||
-rw-r--r-- | php/Zenity.php (renamed from php/ZenityClasses.php) | 14 | ||||
-rw-r--r-- | php/compileLatex.php | 30 | ||||
-rw-r--r-- | php/dependances.php | 26 | ||||
-rw-r--r-- | php/functions.php | 2 | ||||
-rw-r--r-- | php/latexToPdf.php | 38 | ||||
-rwxr-xr-x | php/main.php | 67 | ||||
-rw-r--r-- | php/saisie.php | 16 | ||||
-rw-r--r-- | php/zenity_setup.php | 22 |
12 files changed, 247 insertions, 155 deletions
diff --git a/php/ConnectionDatabase.php b/php/Connection.php index b26d0bd..bdc7aa9 100644 --- a/php/ConnectionDatabase.php +++ b/php/Connection.php | |||
@@ -1,5 +1,5 @@ | |||
1 | <?php | 1 | <?php |
2 | // php/ConnectionDatabase.php | 2 | // php/Connection.php |
3 | 3 | ||
4 | class Connection extends PDO | 4 | class Connection extends PDO |
5 | { | 5 | { |
diff --git a/php/DateTimestamp.php b/php/DateTimestamp.php new file mode 100644 index 0000000..ca07b0a --- /dev/null +++ b/php/DateTimestamp.php | |||
@@ -0,0 +1,50 @@ | |||
1 | <?php | ||
2 | // php/DateTimestamp.php | ||
3 | |||
4 | class DateTimestamp | ||
5 | { | ||
6 | private $date; | ||
7 | static public $date_format = 'EU'; // dates européennes jj-mm-aaaa par défaut | ||
8 | |||
9 | // date jour/mois/année (string) -> timestamp (int) | ||
10 | private function get_timestamp(): int | ||
11 | { | ||
12 | if(self::$date_format === 'EU') | ||
13 | { | ||
14 | // change jj/mm/aaaa en jj-mm-aaaa | ||
15 | $this->date = preg_replace('#/#', '-', $this->date); | ||
16 | } | ||
17 | elseif(self::$date_format === 'US') | ||
18 | { | ||
19 | // change mm-dd.yyyy en mm/dd/yyyy | ||
20 | $this->date = preg_replace('#[-\.]#', '/', $this->date); | ||
21 | } | ||
22 | else | ||
23 | { | ||
24 | echo('Le fichier config.php comporte une erreur. La variable $date_format doit avoir pour valeur "EU" ou "US"'); | ||
25 | die(); // brutal | ||
26 | } | ||
27 | return(strtotime($this->date)); | ||
28 | // strtotime() devine le format en analysant la chaîne en entrée, on l'aide un peu | ||
29 | // avec des /, php considère que la date est américaine | ||
30 | // avec des - ou des ., php considère que la date est européenne | ||
31 | } | ||
32 | |||
33 | // timestamp (int) -> date jj-mm-aaaa (string) | ||
34 | private function get_date(): string | ||
35 | { | ||
36 | if(self::$date_format === 'EU') | ||
37 | { | ||
38 | return(date("j-m-Y", $this->date)); | ||
39 | } | ||
40 | elseif(self::$date_format === 'US') | ||
41 | { | ||
42 | return(date("m/d/Y", $this->date)); | ||
43 | } | ||
44 | else | ||
45 | { | ||
46 | echo('Le fichier config.php comporte une erreur. La variable $date_format doit avoir pour valeur "EU" ou "US"'); | ||
47 | die(); // brutal | ||
48 | } | ||
49 | } | ||
50 | } | ||
diff --git a/php/Latex.php b/php/Latex.php new file mode 100644 index 0000000..e8ed763 --- /dev/null +++ b/php/Latex.php | |||
@@ -0,0 +1,84 @@ | |||
1 | <?php | ||
2 | // php/Latex.php | ||
3 | // | ||
4 | // génération du code LaTeX | ||
5 | |||
6 | abstract class Latex | ||
7 | { | ||
8 | protected $fileName = ''; | ||
9 | protected $latexPath = ''; | ||
10 | protected $pdfPath = ''; | ||
11 | |||
12 | protected function createFile(string $latex, string $fileName, string $latexPath) | ||
13 | { | ||
14 | // nom du fichier créé = nom.tex | ||
15 | // pour les devis, factures et enveloppes, le nom est le code la prestation | ||
16 | // pour les livre de recettes et registres des achats mensuels: | ||
17 | // le nom du fichier suit cet exemple: "Recettes-2022-06-Juin.tex" | ||
18 | // pour le livre de recette ou le registre des achats annuel, même principe: "Achats-2022.tex" | ||
19 | // pour le bilan comptable annuel, ça donne: "Bilan-2022.tex" | ||
20 | $fichier = fopen($latexPath . $fileName, "w+"); | ||
21 | fputs($fichier, $latex); | ||
22 | fclose($fichier); | ||
23 | } | ||
24 | } | ||
25 | |||
26 | |||
27 | abstract class PrestaLatex extends Latex | ||
28 | { | ||
29 | public function __construct(string $quoi, , string $codePresta) | ||
30 | { | ||
31 | nameTheFile($quoi, $codePresta); | ||
32 | } | ||
33 | |||
34 | // forme = code-presta.tex | ||
35 | protected function nameTheFile(string $quoi, string $codePresta) | ||
36 | { | ||
37 | $this->fileName = $quoi . '-' . $codePresta . '.tex'; | ||
38 | } | ||
39 | } | ||
40 | |||
41 | class DevisLatex extends PrestaLatex | ||
42 | {} | ||
43 | |||
44 | class FactureLatex extends PrestaLatex | ||
45 | {} | ||
46 | |||
47 | class LocationLatex extends PrestaLatex | ||
48 | {} | ||
49 | |||
50 | class EnveloppeRectoLatex extends PrestaLatex | ||
51 | {} | ||
52 | class EnveloppeVersoLatex extends PrestaLatex | ||
53 | {} | ||
54 | |||
55 | |||
56 | abstract class ComptaLatex extends Latex | ||
57 | { | ||
58 | public function __construct(string $quoi, , string $annee, int $numeroMois = 0) | ||
59 | { | ||
60 | nameTheFile($quoi, $annee, $numeroMois); | ||
61 | } | ||
62 | |||
63 | // forme = Recettes-2022-06-Juin.tex ou Recettes-2022.tex | ||
64 | // type de 'annee'? | ||
65 | protected function nameTheFile(string $quoi, string $annee, int $numeroMois = 0) | ||
66 | { | ||
67 | $this->fileName = $quoi . '-' . $annee; | ||
68 | $mois = ['', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre']; | ||
69 | if($numeroMois > 0 && $numeroMois <= 12) | ||
70 | { | ||
71 | $this->fileName .= '-' . $numeroMois . '-' . $mois[$numeroMois]; | ||
72 | } | ||
73 | $this->fileName .= '.tex'; | ||
74 | } | ||
75 | } | ||
76 | |||
77 | class LivreRecettesLatex extends ComptaLatex | ||
78 | {} | ||
79 | |||
80 | class RegistreAchatsLatex extends ComptaLatex | ||
81 | {} | ||
82 | |||
83 | class BilanLatex extends ComptaLatex | ||
84 | {} | ||
diff --git a/php/Model.php b/php/Model.php index f3f1fe7..d26b081 100644 --- a/php/Model.php +++ b/php/Model.php | |||
@@ -4,18 +4,15 @@ | |||
4 | class Model extends Connection | 4 | class Model extends Connection |
5 | { | 5 | { |
6 | private $db; // instance de connexion | 6 | private $db; // instance de connexion |
7 | private $date = ''; | 7 | public $date; |
8 | static public $date_format; // dates européennes jj-mm-aaaa | ||
9 | // pourquoi ne pas mettre les fonctions concernées dans une interface? | ||
10 | 8 | ||
11 | public function __construct() | 9 | public function __construct() |
12 | { | 10 | { |
13 | $this->db = parent::getInstance(); // connexion | 11 | $this->db = parent::getInstance(); // connexion |
14 | self::create_tables(); | ||
15 | } | 12 | } |
16 | 13 | ||
17 | // code SQL | 14 | // code SQL |
18 | function create_tables() | 15 | public function create_tables() |
19 | { | 16 | { |
20 | // la table prestations est liée à la table clients | 17 | // la table prestations est liée à la table clients |
21 | // les tables devis_factures, cesu et locations sont liées à la table prestations | 18 | // les tables devis_factures, cesu et locations sont liées à la table prestations |
@@ -42,48 +39,4 @@ class Model extends Connection | |||
42 | 39 | ||
43 | // pour les dates, on stockera à priori le timestamp | 40 | // pour les dates, on stockera à priori le timestamp |
44 | } | 41 | } |
45 | |||
46 | |||
47 | // date jour/mois/année (string) -> timestamp (int) | ||
48 | private function get_timestamp(): int | ||
49 | { | ||
50 | if(self::$date_format == 'EU') | ||
51 | { | ||
52 | // change jj/mm/aaaa en jj-mm-aaaa | ||
53 | $this->date = preg_replace('#/#', '-', $this->date); | ||
54 | } | ||
55 | elseif(self::$date_format == 'US') | ||
56 | { | ||
57 | // change mm-dd.yyyy en mm/dd/yyyy | ||
58 | $this->date = preg_replace('#[-\.]#', '/', $this->date); | ||
59 | } | ||
60 | else | ||
61 | { | ||
62 | echo('Le fichier config.php comporte une erreur. La variable $date_format doit avoir pour valeur "EU" ou "US"'); | ||
63 | die(); // brutal | ||
64 | } | ||
65 | return(strtotime($this->date)); | ||
66 | // strtotime() devine le format en analysant la chaîne en entrée, on l'aide un peu | ||
67 | // avec des /, php considère que la date est américaine | ||
68 | // avec des - ou des ., php considère que la date est européenne | ||
69 | } | ||
70 | |||
71 | // timestamp (int) -> date jj-mm-aaaa (string) | ||
72 | private function get_date(): string | ||
73 | { | ||
74 | if(self::$date_format == 'EU') | ||
75 | { | ||
76 | return(date("j-m-Y", $this->date)); | ||
77 | } | ||
78 | elseif(self::$date_format == 'US') | ||
79 | { | ||
80 | return(date("m/d/Y", $this->date)); | ||
81 | } | ||
82 | else | ||
83 | { | ||
84 | echo('Le fichier config.php comporte une erreur. La variable $date_format doit avoir pour valeur "EU" ou "US"'); | ||
85 | die(); // brutal | ||
86 | } | ||
87 | } | ||
88 | |||
89 | } | 42 | } |
diff --git a/php/ZenityClasses.php b/php/Zenity.php index 7965012..a04b794 100644 --- a/php/ZenityClasses.php +++ b/php/Zenity.php | |||
@@ -1,9 +1,9 @@ | |||
1 | <?php | 1 | <?php |
2 | // php/ZenityClasses.php | 2 | // php/Zenity.php |
3 | // | 3 | // |
4 | // commande système zenity | 4 | // commande système zenity |
5 | 5 | ||
6 | abstract class Zenity_cmd | 6 | abstract class ZenityCmd |
7 | { | 7 | { |
8 | protected $command = 'zenity'; | 8 | protected $command = 'zenity'; |
9 | protected $command_type = ''; | 9 | protected $command_type = ''; |
@@ -29,7 +29,7 @@ abstract class Zenity_cmd | |||
29 | } | 29 | } |
30 | 30 | ||
31 | 31 | ||
32 | class Zenity_list extends Zenity_cmd | 32 | class ZenityList extends ZenityCmd |
33 | { | 33 | { |
34 | public function __construct($text, array $rows) | 34 | public function __construct($text, array $rows) |
35 | { | 35 | { |
@@ -58,7 +58,7 @@ class Zenity_list extends Zenity_cmd | |||
58 | } | 58 | } |
59 | } | 59 | } |
60 | 60 | ||
61 | class Zenity_question extends Zenity_cmd | 61 | class ZenityQuestion extends ZenityCmd |
62 | { | 62 | { |
63 | public function __construct($text) | 63 | public function __construct($text) |
64 | { | 64 | { |
@@ -70,7 +70,7 @@ class Zenity_question extends Zenity_cmd | |||
70 | } | 70 | } |
71 | } | 71 | } |
72 | 72 | ||
73 | class Zenity_forms extends Zenity_cmd | 73 | class ZenityForms extends ZenityCmd |
74 | { | 74 | { |
75 | public function __construct($text, array $rows) | 75 | public function __construct($text, array $rows) |
76 | { | 76 | { |
@@ -91,7 +91,7 @@ class Zenity_forms extends Zenity_cmd | |||
91 | } | 91 | } |
92 | } | 92 | } |
93 | 93 | ||
94 | class Zenity_calendar extends Zenity_cmd | 94 | class ZenityCalendar extends ZenityCmd |
95 | { | 95 | { |
96 | public function __construct($text) | 96 | public function __construct($text) |
97 | { | 97 | { |
@@ -100,7 +100,7 @@ class Zenity_calendar extends Zenity_cmd | |||
100 | } | 100 | } |
101 | } | 101 | } |
102 | 102 | ||
103 | class Zenity_entry extends Zenity_cmd | 103 | class ZenityEntry extends ZenityCmd |
104 | { | 104 | { |
105 | public function __construct($text) | 105 | public function __construct($text) |
106 | { | 106 | { |
diff --git a/php/compileLatex.php b/php/compileLatex.php deleted file mode 100644 index ccd9dab..0000000 --- a/php/compileLatex.php +++ /dev/null | |||
@@ -1,30 +0,0 @@ | |||
1 | <?php | ||
2 | // compileLatex.php | ||
3 | |||
4 | // contenu | ||
5 | $codeLaTeX = '\documentclass{article} | ||
6 | |||
7 | \usepackage[francais]{babel} | ||
8 | \usepackage[utf8]{inputenc} | ||
9 | \usepackage[T1]{fontenc} | ||
10 | |||
11 | \begin{document} | ||
12 | Bravo, ça compile !! | ||
13 | \end{document}'; | ||
14 | |||
15 | |||
16 | // ficher tex | ||
17 | // regarder la doc, php-cli permettrait de manipuler les fichiers directement comme le bash | ||
18 | $fichier = fopen("latex.tex", "w+"); | ||
19 | fputs($fichier, $codeLaTeX); | ||
20 | fclose($fichier); | ||
21 | |||
22 | // compilation | ||
23 | exec('pdflatex latex.tex'); | ||
24 | |||
25 | // nettoyage | ||
26 | unlink("latex.aux"); | ||
27 | unlink("latex.log"); | ||
28 | unlink("latex.tex"); | ||
29 | |||
30 | exec('xdg-open latex.pdf'); | ||
diff --git a/php/dependances.php b/php/dependances.php index 4a5667e..66ce414 100644 --- a/php/dependances.php +++ b/php/dependances.php | |||
@@ -11,14 +11,14 @@ | |||
11 | // - zenity | 11 | // - zenity |
12 | 12 | ||
13 | // zenity disponible | 13 | // zenity disponible |
14 | if(exec("zenity --version 2> /dev/null") == '') // commande qui n'ouvre pas de fenêtre, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null | 14 | if(exec("zenity --version 2> /dev/null") === '') // commande qui n'ouvre pas de fenêtre, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null |
15 | { | 15 | { |
16 | printf("Impossible de lancer zenity. Veuillez installer le paquet zenity\n"); | 16 | printf("Impossible de lancer zenity. Veuillez installer le paquet zenity\n"); |
17 | exit(); | 17 | exit(); |
18 | } | 18 | } |
19 | 19 | ||
20 | // compilateur pdflatex disponible | 20 | // compilateur pdflatex disponible |
21 | if(exec("pdflatex -version 2> /dev/null") == '') // erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null | 21 | if(exec("pdflatex -version 2> /dev/null") === '') // erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null |
22 | { | 22 | { |
23 | printf("Impossible de lancer pdflatex. Veuillez installer une distribution LaTeX.\n"); | 23 | printf("Impossible de lancer pdflatex. Veuillez installer une distribution LaTeX.\n"); |
24 | exit(); | 24 | exit(); |
@@ -37,10 +37,10 @@ if(!extension_loaded("pdo_sqlite")) | |||
37 | 37 | ||
38 | 38 | ||
39 | // client sqlite | 39 | // client sqlite |
40 | if($exec_mode == 'gui') | 40 | if($exec_mode === 'gui') |
41 | { | 41 | { |
42 | // sqlitebrowser disponible | 42 | // sqlitebrowser disponible |
43 | if(exec("which sqlitebrowser 2> /dev/null") != '') // which parcourt les dossiers du PATH et affiche les chemins trouvés, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null | 43 | if(exec("which sqlitebrowser 2> /dev/null") !== '') // which parcourt les dossiers du PATH et affiche les chemins trouvés, erreur si la chaine est vide parce que la sortie d'erreur va dans /dev/null |
44 | { | 44 | { |
45 | $sqlitebrowser_enable = true; | 45 | $sqlitebrowser_enable = true; |
46 | } | 46 | } |
@@ -49,32 +49,32 @@ if($exec_mode == 'gui') | |||
49 | { | 49 | { |
50 | printf("Sqlitebrowser n'est pas disponible. J'espère que vous maîtrisez le SQL.\n"); | 50 | printf("Sqlitebrowser n'est pas disponible. J'espère que vous maîtrisez le SQL.\n"); |
51 | 51 | ||
52 | if(exec("which xterm 2> /dev/null") != '' && exec("xterm -v 2> /dev/null") != '') | 52 | if(exec("which xterm 2> /dev/null") !== '' && exec("xterm -v 2> /dev/null") !== '') |
53 | { | 53 | { |
54 | $x_term_ccommand = 'xterm -e'; | 54 | $x_term_ccommand = 'xterm -e'; |
55 | } | 55 | } |
56 | elseif(exec("which urxvt 2> /dev/null") != '') | 56 | elseif(exec("which urxvt 2> /dev/null") !== '') |
57 | { | 57 | { |
58 | $x_term_ccommand = 'urxvt -e'; | 58 | $x_term_ccommand = 'urxvt -e'; |
59 | } | 59 | } |
60 | elseif(exec("which lxterminal 2> /dev/null") != '' && exec("lxterminal -v 2> /dev/null") != '') | 60 | elseif(exec("which lxterminal 2> /dev/null") !== '' && exec("lxterminal -v 2> /dev/null") !== '') |
61 | { | 61 | { |
62 | $x_term_ccommand = 'lxterminal -e'; | 62 | $x_term_ccommand = 'lxterminal -e'; |
63 | } | 63 | } |
64 | elseif(exec("which xfce4-terminal 2> /dev/null") != '' && exec("xfce4-terminal -V 2> /dev/null") != '') | 64 | elseif(exec("which xfce4-terminal 2> /dev/null") !== '' && exec("xfce4-terminal -V 2> /dev/null") !== '') |
65 | { | 65 | { |
66 | $x_term_ccommand = 'xfce4-terminal -x'; | 66 | $x_term_ccommand = 'xfce4-terminal -x'; |
67 | } | 67 | } |
68 | elseif(exec("which gnome-terminal 2> /dev/null") != '') | 68 | elseif(exec("which gnome-terminal 2> /dev/null") !== '') |
69 | { | 69 | { |
70 | $x_term_ccommand = 'gnome-terminal --'; | 70 | $x_term_ccommand = 'gnome-terminal --'; |
71 | } | 71 | } |
72 | elseif(exec("which konsole 2> /dev/null") != '' && exec("konsole -v 2> /dev/null") != '') | 72 | elseif(exec("which konsole 2> /dev/null") !== '' && exec("konsole -v 2> /dev/null") !== '') |
73 | { | 73 | { |
74 | $x_term_ccommand = 'konsole -e'; | 74 | $x_term_ccommand = 'konsole -e'; |
75 | } | 75 | } |
76 | // pour MAC - NON TESTÉ !! (possibilité de détecter le système avec uname?) | 76 | // pour MAC - NON TESTÉ !! (possibilité de détecter le système avec uname?) |
77 | //~ elseif(exec("which Terminal 2> /dev/null") != '') | 77 | //~ elseif(exec("which Terminal 2> /dev/null") !== '') |
78 | //~ { | 78 | //~ { |
79 | //~ $x_term_ccommand = 'open -a Terminal -e'; // ne marche probablement pas | 79 | //~ $x_term_ccommand = 'open -a Terminal -e'; // ne marche probablement pas |
80 | //~ } | 80 | //~ } |
@@ -86,11 +86,11 @@ if($exec_mode == 'gui') | |||
86 | } | 86 | } |
87 | 87 | ||
88 | // sqlite CLI disponible | 88 | // sqlite CLI disponible |
89 | if(exec("which sqlite 2> /dev/null") != '' && exec("sqlite --version 2> /dev/null") != '') | 89 | if(exec("which sqlite 2> /dev/null") !== '' && exec("sqlite --version 2> /dev/null") !== '') |
90 | { | 90 | { |
91 | $sqlite_cli = 'sqlite'; | 91 | $sqlite_cli = 'sqlite'; |
92 | } | 92 | } |
93 | elseif(exec("which sqlite3 2> /dev/null") != '' && exec("sqlite3 --version 2> /dev/null") != '') | 93 | elseif(exec("which sqlite3 2> /dev/null") !== '' && exec("sqlite3 --version 2> /dev/null") !== '') |
94 | { | 94 | { |
95 | $sqlite_cli = 'sqlite3'; | 95 | $sqlite_cli = 'sqlite3'; |
96 | } | 96 | } |
diff --git a/php/functions.php b/php/functions.php index 61bc13e..83ebead 100644 --- a/php/functions.php +++ b/php/functions.php | |||
@@ -5,7 +5,7 @@ | |||
5 | function window_app_command(string $app, string $path = ''): string | 5 | function window_app_command(string $app, string $path = ''): string |
6 | { | 6 | { |
7 | $command = 'nohup ' . $app; // détache l'appli du script PHP | 7 | $command = 'nohup ' . $app; // détache l'appli du script PHP |
8 | if($path != '') | 8 | if($path !== '') |
9 | { | 9 | { |
10 | $command .= ' ' . $path; | 10 | $command .= ' ' . $path; |
11 | } | 11 | } |
diff --git a/php/latexToPdf.php b/php/latexToPdf.php new file mode 100644 index 0000000..18ff452 --- /dev/null +++ b/php/latexToPdf.php | |||
@@ -0,0 +1,38 @@ | |||
1 | <?php | ||
2 | // php/latexToPdf.php | ||
3 | |||
4 | // contenu | ||
5 | $latex = '\documentclass{article} | ||
6 | |||
7 | \usepackage[french]{babel} | ||
8 | \usepackage[utf8]{inputenc} | ||
9 | \usepackage[T1]{fontenc} | ||
10 | |||
11 | \begin{document} | ||
12 | Bravo, ça compile !! | ||
13 | \end{document}'; | ||
14 | |||
15 | $fileName = 'latex.tex'; | ||
16 | $latexPath = ''; | ||
17 | $pdfPath = ''; | ||
18 | |||
19 | //~ writeLatex($latex, $fileName, $latexPath); | ||
20 | |||
21 | function latexToPdf(string $fileName, string $latexPath, string $pdfPath) | ||
22 | { | ||
23 | $outputDir = ''; | ||
24 | if($pdfPath !== '') | ||
25 | { | ||
26 | $outputDir = '-output-directory=' . $pdfPath . ' '; | ||
27 | } | ||
28 | |||
29 | // compilation | ||
30 | exec('pdflatex ' . $outputDir . $latexPath . $fileName); | ||
31 | |||
32 | // nettoyage | ||
33 | $basename = basename($fileName, '.tex'); | ||
34 | unlink($pdfPath . $basename . '.aux'); | ||
35 | unlink($pdfPath . $basename . '.log'); | ||
36 | } | ||
37 | |||
38 | //~ latexToPdf($fileName, $latexPath, $pdfPath); | ||
diff --git a/php/main.php b/php/main.php index 5855606..88181ea 100755 --- a/php/main.php +++ b/php/main.php | |||
@@ -19,18 +19,22 @@ $x_term_command = ''; // commande terminal en mode graphique | |||
19 | 19 | ||
20 | require('dependances.php'); // vérification des dépendances | 20 | require('dependances.php'); // vérification des dépendances |
21 | require('functions.php'); | 21 | require('functions.php'); |
22 | require('DateTimestamp.php'); // objet date | ||
23 | DateTimestamp::$date_format = $date_format; // dates européennes ou américaines | ||
22 | 24 | ||
23 | require('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à | 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à |
24 | require('Model.php'); // class Model extends DB, requêtes SQL | 26 | require('Model.php'); // class Model extends DB, requêtes SQL |
25 | Connection::$dsn = 'sqlite:' . $db_place; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn); | 27 | Connection::$dsn = 'sqlite:' . $db_place; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn); |
26 | Model::$date_format = $date_format; // dates européennes ou américaines | ||
27 | $Database = new Model(); // connexion et méthodes pour manipuler la base de données | ||
28 | 28 | ||
29 | require('ZenityClasses.php'); // méthodes pour créer les commandes | 29 | $Database = new Model; // connexion et méthodes pour manipuler la base de données |
30 | $Database->create_tables(); | ||
31 | $Database->date = new DateTimestamp; | ||
32 | |||
33 | require('Zenity.php'); // commande système zenity | ||
30 | require('zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande) | 34 | require('zenity_setup.php'); // texte dans les fenêtres ET instanciation (un objet = une commande) |
31 | 35 | ||
32 | // require('php/latex.php'); | 36 | require('Latex.php'); // générer le code LaTeX |
33 | // require('php/compileLatex.php'); | 37 | require('latexToPdf.php'); // compilation |
34 | 38 | ||
35 | 39 | ||
36 | // boucle principale | 40 | // boucle principale |
@@ -41,10 +45,10 @@ while($boucle) | |||
41 | $choix_niv1 = exec($MenuPrincipal->get()); | 45 | $choix_niv1 = exec($MenuPrincipal->get()); |
42 | 46 | ||
43 | // enregistrement | 47 | // enregistrement |
44 | if($choix_niv1 == 'Nouvelle prestation') | 48 | if($choix_niv1 === 'Nouvelle prestation') |
45 | { | 49 | { |
46 | // est ce que le client est déjà dans la base? | 50 | // est ce que le client est déjà dans la base? |
47 | if(exec($QuestionNouveauClient->get()) == 0) // $? = 0 signifie oui | 51 | if(exec($QuestionNouveauClient->get()) === 0) // $? = 0 signifie oui |
48 | { | 52 | { |
49 | // saisie du nom du client et recherche | 53 | // saisie du nom du client et recherche |
50 | $client_saisie = exec($RechercheClient->get()); | 54 | $client_saisie = exec($RechercheClient->get()); |
@@ -52,7 +56,7 @@ while($boucle) | |||
52 | // sélection parmi les résultats | 56 | // sélection parmi les résultats |
53 | $ResultatsRechercheClient->set_entries(recherche_client($client_saisie)); | 57 | $ResultatsRechercheClient->set_entries(recherche_client($client_saisie)); |
54 | $choix_niv2 = exec($ResultatsRechercheClient->get()); | 58 | $choix_niv2 = exec($ResultatsRechercheClient->get()); |
55 | if($choix_niv2 != '') | 59 | if($choix_niv2 !== '') |
56 | { | 60 | { |
57 | echo "client trouvé\n"; | 61 | echo "client trouvé\n"; |
58 | } | 62 | } |
@@ -77,22 +81,22 @@ while($boucle) | |||
77 | 81 | ||
78 | } | 82 | } |
79 | 83 | ||
80 | // infos sur la prestation | 84 | // type comptable de prestation |
81 | $choix_niv2 = exec($MenuEnregistrement->get()); | 85 | $choix_niv2 = exec($MenuEnregistrement->get()); |
82 | $continuer = true; | 86 | $continuer = true; |
83 | if($choix_niv2 == "Devis") | 87 | if($choix_niv2 === "Devis") |
84 | { | 88 | { |
85 | $type = 'DEVIS'; | 89 | $type = 'DEVIS'; |
86 | } | 90 | } |
87 | elseif($choix_niv2 == "Facture") | 91 | elseif($choix_niv2 === "Facture") |
88 | { | 92 | { |
89 | $type = 'FACTURE'; | 93 | $type = 'FACTURE'; |
90 | } | 94 | } |
91 | elseif($choix_niv2 == "CESU") | 95 | elseif($choix_niv2 === "CESU") |
92 | { | 96 | { |
93 | $type = 'CESU'; | 97 | $type = 'CESU'; |
94 | } | 98 | } |
95 | elseif($choix_niv2 == "Pas de prestation") | 99 | elseif($choix_niv2 === "Pas de prestation") |
96 | { | 100 | { |
97 | $type = ''; | 101 | $type = ''; |
98 | } | 102 | } |
@@ -101,6 +105,7 @@ while($boucle) | |||
101 | $continuer = false; // retour menu principal | 105 | $continuer = false; // retour menu principal |
102 | } | 106 | } |
103 | 107 | ||
108 | // détail de la prestation | ||
104 | if($continuer) | 109 | if($continuer) |
105 | { | 110 | { |
106 | exec($Calendrier->get()); | 111 | exec($Calendrier->get()); |
@@ -108,39 +113,47 @@ while($boucle) | |||
108 | // enregistrement date et prestation en BDD | 113 | // enregistrement date et prestation en BDD |
109 | exec($CommentairePrestation->get()); | 114 | exec($CommentairePrestation->get()); |
110 | // enregistrement commentaire en BDD | 115 | // enregistrement commentaire en BDD |
116 | // vérification? | ||
117 | |||
118 | // tableau récaptilatif et demande de confirmation des informations | ||
119 | // création fichiers LaTeX et PDF | ||
120 | |||
121 | // imprimer? | ||
122 | //~ $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); | ||
123 | //~ $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"'); | ||
111 | } | 124 | } |
112 | } | 125 | } |
113 | 126 | ||
114 | elseif($choix_niv1 == 'Fichier clients') | 127 | elseif($choix_niv1 === 'Fichier clients') |
115 | { | 128 | { |
116 | // quel affichage? un grand tableau avec zenity? une page web? un document LaTeX? | 129 | // quel affichage? un grand tableau avec zenity? une page web? un document LaTeX? |
117 | } | 130 | } |
118 | 131 | ||
119 | // documents à imprimer | 132 | // documents à imprimer |
120 | elseif($choix_niv1 == 'Créer/imprimer un document') | 133 | elseif($choix_niv1 === 'Créer/imprimer un document') |
121 | { | 134 | { |
122 | $choix_niv2 = exec($MenuDocuments->get()); | 135 | $choix_niv2 = exec($MenuDocuments->get()); |
123 | if($choix_niv2 == 'Devis') | 136 | if($choix_niv2 === 'Devis') |
124 | { | 137 | { |
125 | 138 | ||
126 | } | 139 | } |
127 | elseif($choix_niv2 == 'Facture') | 140 | elseif($choix_niv2 === 'Facture') |
128 | { | 141 | { |
129 | 142 | ||
130 | } | 143 | } |
131 | elseif($choix_niv2 == 'Lettre avec adresse') | 144 | elseif($choix_niv2 === 'Lettre avec adresse') |
132 | { | 145 | { |
133 | 146 | ||
134 | } | 147 | } |
135 | elseif($choix_niv2 == 'Livre des recettes') | 148 | elseif($choix_niv2 === 'Livre des recettes') |
136 | { | 149 | { |
137 | 150 | ||
138 | } | 151 | } |
139 | elseif($choix_niv2 == "Registre des achats") | 152 | elseif($choix_niv2 === "Registre des achats") |
140 | { | 153 | { |
141 | 154 | ||
142 | } | 155 | } |
143 | elseif($choix_niv2 == "Bilan annuel") | 156 | elseif($choix_niv2 === "Bilan annuel") |
144 | { | 157 | { |
145 | 158 | ||
146 | } | 159 | } |
@@ -151,18 +164,18 @@ while($boucle) | |||
151 | } | 164 | } |
152 | 165 | ||
153 | // Supports de communication | 166 | // Supports de communication |
154 | elseif($choix_niv1 == 'Communication') | 167 | elseif($choix_niv1 === 'Communication') |
155 | { | 168 | { |
156 | $choix_niv2 = exec($MenuCommunication->get()); | 169 | $choix_niv2 = exec($MenuCommunication->get()); |
157 | if($choix_niv2 == 'Flyer (nécessite gimp)') | 170 | if($choix_niv2 === 'Flyer (nécessite gimp)') |
158 | { | 171 | { |
159 | exec(window_app_command('gimp', $flyer)); | 172 | exec(window_app_command('gimp', $flyer)); |
160 | } | 173 | } |
161 | elseif($choix_niv2 == 'Carte de visite (nécessite scribus)') | 174 | elseif($choix_niv2 === 'Carte de visite (nécessite scribus)') |
162 | { | 175 | { |
163 | exec(window_app_command('scribus', $business_card)); | 176 | exec(window_app_command('scribus', $business_card)); |
164 | } | 177 | } |
165 | elseif($choix_niv2 == 'Explorateur de fichiers') | 178 | elseif($choix_niv2 === 'Explorateur de fichiers') |
166 | { | 179 | { |
167 | exec(window_app_command($file_explorer, $pub)); | 180 | exec(window_app_command($file_explorer, $pub)); |
168 | } | 181 | } |
@@ -173,7 +186,7 @@ while($boucle) | |||
173 | } | 186 | } |
174 | 187 | ||
175 | // BDD | 188 | // BDD |
176 | elseif($choix_niv1 == 'Base de données') | 189 | elseif($choix_niv1 === 'Base de données') |
177 | { | 190 | { |
178 | if($sqlitebrowser_enable) | 191 | if($sqlitebrowser_enable) |
179 | { | 192 | { |
diff --git a/php/saisie.php b/php/saisie.php deleted file mode 100644 index 1c6563a..0000000 --- a/php/saisie.php +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | <?php | ||
2 | // saisie.php | ||
3 | |||
4 | // commentaire personnel enregistré à part | ||
5 | $commentaire = exec('zenity --entry --width=400 --title="Enregistrer une prestation 4/4" --text="Commentaire sur le déroulement de la prestation."'); | ||
6 | var_dump($result); | ||
7 | // afficher le résultat en LaTeX et demande de confirmation | ||
8 | // écrire du LaTeX avec PHP | ||
9 | |||
10 | // mise à jour de la base de données | ||
11 | |||
12 | // message de confirmation (si la base a bien été mise à jour), puis demande pour imprimer une facture | ||
13 | $imprimer_facture = exec('zenity --question --width=250 --title="Base de données mise à jour" --text="Imprimer la facture?"'); | ||
14 | |||
15 | // imprimer une enveloppe | ||
16 | $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"'); | ||
diff --git a/php/zenity_setup.php b/php/zenity_setup.php index a16e0a4..b060c32 100644 --- a/php/zenity_setup.php +++ b/php/zenity_setup.php | |||
@@ -24,14 +24,14 @@ $commentaire_prestation_text = 'Nouvelle prestation 3/3 - Commentaires'; | |||
24 | 24 | ||
25 | // commandes système qui ouvrent les fenêtres zenity, un objet = une commande | 25 | // commandes système qui ouvrent les fenêtres zenity, un objet = une commande |
26 | // s'utilisent comme ceci: exec($Objet->get()); | 26 | // s'utilisent comme ceci: exec($Objet->get()); |
27 | $MenuPrincipal = new Zenity_list($menu_principal_text, $menu_principal_entrees); | 27 | $MenuPrincipal = new ZenityList($menu_principal_text, $menu_principal_entrees); |
28 | $QuestionNouveauClient = new Zenity_question($question_nouveau_client_text); | 28 | $QuestionNouveauClient = new ZenityQuestion($question_nouveau_client_text); |
29 | $MenuEnregistrement = new Zenity_list($menu_enregistrement_text, $menu_enregistrement_entrees); | 29 | $MenuEnregistrement = new ZenityList($menu_enregistrement_text, $menu_enregistrement_entrees); |
30 | $MenuDocuments = new Zenity_list($menu_documents_text, $menu_documents_entrees); | 30 | $MenuDocuments = new ZenityList($menu_documents_text, $menu_documents_entrees); |
31 | $MenuCommunication = new Zenity_list($menu_communication_text, $menu_communication_entrees); | 31 | $MenuCommunication = new ZenityList($menu_communication_text, $menu_communication_entrees); |
32 | $RechercheClient = new zenity_entry($recherche_client_text); | 32 | $RechercheClient = new zenityEntry($recherche_client_text); |
33 | $ResultatsRechercheClient = new zenity_list($resultats_recherche_client_text, []); | 33 | $ResultatsRechercheClient = new zenityList($resultats_recherche_client_text, []); |
34 | $NouveauClient = new Zenity_forms($nouveau_client_text, $nouveau_client_entrees); | 34 | $NouveauClient = new ZenityForms($nouveau_client_text, $nouveau_client_entrees); |
35 | $Calendrier = new Zenity_calendar($calendar_text); | 35 | $Calendrier = new ZenityCalendar($calendar_text); |
36 | $FormulairePrestation = new Zenity_forms($formulaire_text, $formulaire_entrees); | 36 | $FormulairePrestation = new ZenityForms($formulaire_text, $formulaire_entrees); |
37 | $CommentairePrestation = new Zenity_entry($commentaire_prestation_text); | 37 | $CommentairePrestation = new ZenityEntry($commentaire_prestation_text); |