summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpolo <ordipolo@gmx.fr>2022-11-29 04:43:39 +0100
committerpolo <ordipolo@gmx.fr>2022-11-29 04:43:39 +0100
commit473ee4ec50a6bfdfa5c145471b077b7e3749beeb (patch)
tree021131b50fda212f8c8698a494551b3758cdc302
parent537599eab12656e8d1ec40b085b687714483f4fc (diff)
downloadAppliGestionPHP-473ee4ec50a6bfdfa5c145471b077b7e3749beeb.zip
fonctions date <-> timestamp
-rw-r--r--config.php4
-rw-r--r--php/Model.php49
-rwxr-xr-xphp/main.php2
3 files changed, 53 insertions, 2 deletions
diff --git a/config.php b/config.php
index 754a887..5933242 100644
--- a/config.php
+++ b/config.php
@@ -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 @@
4class Model extends Connection 4class 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';
16var_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');
24require('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à 23require('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à
25require('Model.php'); // class Model extends DB, requêtes SQL 24require('Model.php'); // class Model extends DB, requêtes SQL
26Connection::$dsn = 'sqlite:' . $db_place; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn); 25Connection::$dsn = 'sqlite:' . $db_place; // Data Source Name = 1er paramètre du constructeur de PDO: $bdd = new PDO($dsn);
26Model::$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
29require('ZenityClasses.php'); // méthodes pour créer les commandes 29require('ZenityClasses.php'); // méthodes pour créer les commandes