protected function getConfigFilePath()
{
if (!isset($_SERVER['HOME'])) {
+ Log::err('Cannot determine home directory');
return false;
}
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
}
return null;
}
+
+ public static function quoteIniValue($val)
+ {
+ if (strpos($val, '=') === false) {
+ return $val;
+ }
+ return '"' . $val . '"';
+ }
}
?>