diff options
author | polo <ordipolo@gmx.fr> | 2022-11-29 04:43:39 +0100 |
---|---|---|
committer | polo <ordipolo@gmx.fr> | 2022-11-29 04:43:39 +0100 |
commit | 473ee4ec50a6bfdfa5c145471b077b7e3749beeb (patch) | |
tree | 021131b50fda212f8c8698a494551b3758cdc302 | |
parent | 537599eab12656e8d1ec40b085b687714483f4fc (diff) | |
download | AppliGestionPHP-473ee4ec50a6bfdfa5c145471b077b7e3749beeb.zip |
fonctions date <-> timestamp
-rw-r--r-- | config.php | 4 | ||||
-rw-r--r-- | php/Model.php | 49 | ||||
-rwxr-xr-x | php/main.php | 2 |
3 files changed, 53 insertions, 2 deletions
@@ -45,6 +45,10 @@ $image_editor = 'gimp'; | |||
45 | // $publishing = 'scribus'; | 45 | // $publishing = 'scribus'; |
46 | $publishing = 'scribus'; | 46 | $publishing = 'scribus'; |
47 | 47 | ||
48 | // format des dates: EU = européenne 28-11-2022, US = américaine 11/28/2022 | ||
49 | // $date_format = 'EU'; | ||
50 | $date_format = 'EU'; | ||
51 | |||
48 | 52 | ||
49 | //$x_terminal = 'xterm'; | 53 | //$x_terminal = 'xterm'; |
50 | // -- état actuel du programme -- | 54 | // -- état actuel du programme -- |
diff --git a/php/Model.php b/php/Model.php index 9d0f80f..f3f1fe7 100644 --- a/php/Model.php +++ b/php/Model.php | |||
@@ -4,10 +4,13 @@ | |||
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 = ''; | ||
8 | static public $date_format; // dates européennes jj-mm-aaaa | ||
9 | // pourquoi ne pas mettre les fonctions concernées dans une interface? | ||
7 | 10 | ||
8 | public function __construct() | 11 | public function __construct() |
9 | { | 12 | { |
10 | $this->db = parent::getInstance(); | 13 | $this->db = parent::getInstance(); // connexion |
11 | self::create_tables(); | 14 | self::create_tables(); |
12 | } | 15 | } |
13 | 16 | ||
@@ -39,4 +42,48 @@ class Model extends Connection | |||
39 | 42 | ||
40 | // pour les dates, on stockera à priori le timestamp | 43 | // pour les dates, on stockera à priori le timestamp |
41 | } | 44 | } |
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 | |||
42 | } | 89 | } |
diff --git a/php/main.php b/php/main.php index 934f718..5855606 100755 --- a/php/main.php +++ b/php/main.php | |||
@@ -13,7 +13,6 @@ $file_explorer = 'xdg-open'; // ouvre l'explorateur de fichiers par défaut quan | |||
13 | $flyer = $pub . $flyer; | 13 | $flyer = $pub . $flyer; |
14 | $business_card = $pub . $business_card; | 14 | $business_card = $pub . $business_card; |
15 | $db_place .= $db_name . '.sqlite'; | 15 | $db_place .= $db_name . '.sqlite'; |
16 | var_dump($db_place); | ||
17 | $sqlitebrowser_enable = false; | 16 | $sqlitebrowser_enable = false; |
18 | $sqlite_cli = ''; // commande sqlite ou sqlite3 | 17 | $sqlite_cli = ''; // commande sqlite ou sqlite3 |
19 | $x_term_command = ''; // commande terminal en mode graphique | 18 | $x_term_command = ''; // commande terminal en mode graphique |
@@ -24,6 +23,7 @@ require('functions.php'); | |||
24 | 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à | 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('Model.php'); // class Model extends DB, requêtes SQL | 24 | require('Model.php'); // class Model extends DB, requêtes SQL |
26 | Connection::$dsn = 'sqlite:' . $db_place; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn); | 25 | 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 | 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 | require('ZenityClasses.php'); // méthodes pour créer les commandes |