X-Git-Url: https://git.cweiske.de/shpub.git/blobdiff_plain/d02372dcd39d2581b9b64828406a1f604a8cb347..b2351eea120bb8f6293aae113e77a3e3edd46687:/src/shpub/Config.php diff --git a/src/shpub/Config.php b/src/shpub/Config.php index 044b150..2ca7d9a 100644 --- a/src/shpub/Config.php +++ b/src/shpub/Config.php @@ -12,9 +12,12 @@ class Config */ public $host; + public $debug = false; + protected function getConfigFilePath() { if (!isset($_SERVER['HOME'])) { + Log::err('Cannot determine home directory'); return false; } @@ -64,13 +67,14 @@ class Config if ($hostVal == '') { continue; } - $str .= $hostProp . '=' . $hostVal . "\n"; + $str .= $hostProp + . '=' . static::quoteIniValue($hostVal) . "\n"; } } $cfgFilePath = $this->getConfigFilePath(); $cfgDir = dirname($cfgFilePath); if (!is_dir($cfgDir)) { - mkdir($cfgDir); + mkdir($cfgDir, 0700); } file_put_contents($cfgFilePath, $str); //contains sensitive data; nobody else may read that @@ -84,7 +88,7 @@ class Config } foreach ($this->hosts as $key => $host) { if ($host->default) { - return $host; + return $key; } } @@ -104,5 +108,18 @@ class Config } return null; } + + public static function quoteIniValue($val) + { + if (strpos($val, '=') === false) { + return $val; + } + return '"' . $val . '"'; + } + + public function setDebug($debug) + { + $this->debug = $debug; + } } ?>