blob: f17b75868c05ada77127a2bf4dbdf10a9b4ceaab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?php
namespace Digitigrade;
class GlobalConfig extends Singleton {
private const CONFIG_INI_PATH = __DIR__ . '/../config.ini';
private array $confData;
protected function __construct() {
$this->confData = parse_ini_file(self::CONFIG_INI_PATH, process_sections: true);
}
public function getCanonicalHost(): string {
$host = $this->confData['instance']['hostname'];
if (isset($this->confData['instance']['port']) && $this->confData['instance']['port'] != ($this->isHttps() ? 443 : 80))
$host .= ':' . $this->confData['instance']['port'];
return $host;
}
public function isHttps(): bool {
return $this->confData['debug']['https'] ?? true;
}
public function getBasePath(): string {
return ($this->isHttps() ? 'https://' : 'http://') . $this->getCanonicalHost();
}
public function shouldReportTraces(): bool {
return $this->confData['debug']['send_tracebacks'] ?? false;
}
public function getDbConnection(): string {
return 'pgsql:host=' . $this->confData['database']['host'] .
';port=' . $this->confData['database']['port'] .
';dbname=' . $this->confData['database']['database'];
}
public function getDbUser(): string {
return $this->confData['database']['username'];
}
public function getDbPassword(): string {
return $this->confData['database']['password'];
}
}
|