summaryrefslogtreecommitdiff
path: root/php
diff options
context:
space:
mode:
Diffstat (limited to 'php')
-rw-r--r--php/Model.php49
-rwxr-xr-xphp/main.php2
2 files changed, 49 insertions, 2 deletions
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