diff options
| author | polo <ordipolo@gmx.fr> | 2023-03-06 12:54:43 +0100 |
|---|---|---|
| committer | polo <ordipolo@gmx.fr> | 2023-03-06 12:54:43 +0100 |
| commit | 1766952a8499919a1275b0214f6ebda8dfc812e2 (patch) | |
| tree | ad5bd20b8c5b29a26d1b63071d18af688a0b0df4 /src/Config.php | |
| parent | b9c74de6d12ef40ab4baf67303ab22a10fcd5b32 (diff) | |
| download | AppliGestionPHP-1766952a8499919a1275b0214f6ebda8dfc812e2.tar.gz AppliGestionPHP-1766952a8499919a1275b0214f6ebda8dfc812e2.tar.bz2 AppliGestionPHP-1766952a8499919a1275b0214f6ebda8dfc812e2.zip | |
Config.ini renseigner '' = valeur par défaut
Diffstat (limited to 'src/Config.php')
| -rw-r--r-- | src/Config.php | 63 |
1 files changed, 35 insertions, 28 deletions
diff --git a/src/Config.php b/src/Config.php index 1557705..3e2b204 100644 --- a/src/Config.php +++ b/src/Config.php | |||
| @@ -36,6 +36,41 @@ class Config | |||
| 36 | self::$raw_data = parse_ini_file($file_path); | 36 | self::$raw_data = parse_ini_file($file_path); |
| 37 | } | 37 | } |
| 38 | 38 | ||
| 39 | static public function hydrate() | ||
| 40 | { | ||
| 41 | foreach(self::$raw_data as $field => $value) | ||
| 42 | { | ||
| 43 | if($value != '') // valeur par défaut | ||
| 44 | { | ||
| 45 | if(isset(self::$$field)) // vérification du nom du champ | ||
| 46 | { | ||
| 47 | // vérification du contenu | ||
| 48 | if(self::fieldIsPath($field)) // cas où le champ db_path, latex_path, pdf_path ou pub_path | ||
| 49 | { | ||
| 50 | if(self::checkPath($field, $value)) | ||
| 51 | { | ||
| 52 | $value = self::slashAtEndOfPath($value); | ||
| 53 | self::$$field = $value; | ||
| 54 | } | ||
| 55 | } | ||
| 56 | else // tester le reste? | ||
| 57 | { | ||
| 58 | self::$$field = $value; | ||
| 59 | } | ||
| 60 | // else: la valeur par défaut est conservée | ||
| 61 | } | ||
| 62 | else | ||
| 63 | { | ||
| 64 | echo "debug: le fichier config.ini comporte une erreur, le champ: " . $field . " est incorrect,\nl'information contenue sur cette ligne ne sera pas utilisée\n"; | ||
| 65 | } | ||
| 66 | } | ||
| 67 | else | ||
| 68 | { | ||
| 69 | echo "debug: le champ " . $field . " est vide, la valeur par défaut " . self::$$field . " sera utilisée.\n"; | ||
| 70 | } | ||
| 71 | } | ||
| 72 | } | ||
| 73 | |||
| 39 | static private function fieldIsPath($field): bool | 74 | static private function fieldIsPath($field): bool |
| 40 | { | 75 | { |
| 41 | if($field === 'db_path' || $field === 'latex_path' || $field === 'pdf_path' || $field === 'pub_path') | 76 | if($field === 'db_path' || $field === 'latex_path' || $field === 'pdf_path' || $field === 'pub_path') |
| @@ -82,34 +117,6 @@ class Config | |||
| 82 | } | 117 | } |
| 83 | } | 118 | } |
| 84 | 119 | ||
| 85 | static public function hydrate() | ||
| 86 | { | ||
| 87 | foreach(self::$raw_data as $field => $value) | ||
| 88 | { | ||
| 89 | if(isset(self::$$field)) // vérification du nom du champ | ||
| 90 | { | ||
| 91 | // vérification du contenu | ||
| 92 | if(self::fieldIsPath($field)) // cas où le champ db_path, latex_path, pdf_path ou pub_path | ||
| 93 | { | ||
| 94 | if(self::checkPath($field, $value)) | ||
| 95 | { | ||
| 96 | $value = self::slashAtEndOfPath($value); | ||
| 97 | self::$$field = $value; | ||
| 98 | } | ||
| 99 | } | ||
| 100 | else // tester le reste? | ||
| 101 | { | ||
| 102 | self::$$field = $value; | ||
| 103 | } | ||
| 104 | // else: la valeur par défaut est conservée | ||
| 105 | } | ||
| 106 | else | ||
| 107 | { | ||
| 108 | echo "debug: le fichier config.ini comporte une erreur, le champ: " . $field . " est incorrect,\nl'information contenue sur cette ligne ne sera pas utilisée\n"; | ||
| 109 | } | ||
| 110 | } | ||
| 111 | } | ||
| 112 | |||
| 113 | // à faire plus tard | 120 | // à faire plus tard |
| 114 | // transformer les chemins pour qu'ils soient relatifs au dossier 'src' où s'exécute le programme | 121 | // transformer les chemins pour qu'ils soient relatifs au dossier 'src' où s'exécute le programme |
| 115 | static private function adjustRelativePath($input) | 122 | static private function adjustRelativePath($input) |
