- Adding additional legacy .htconfig information

This commit is contained in:
Philipp Holzer 2019-03-16 20:04:11 +01:00
parent 542e363a49
commit 1acd5c7d22
No known key found for this signature in database
GPG key ID: 517BE60E2CE5C8A5
3 changed files with 40 additions and 14 deletions

View file

@ -103,47 +103,61 @@ class ConfigCacheLoader
{ {
$filePath = $this->baseDir . DIRECTORY_SEPARATOR . '.' . $name . '.php'; $filePath = $this->baseDir . DIRECTORY_SEPARATOR . '.' . $name . '.php';
$config = [];
if (file_exists($filePath)) { if (file_exists($filePath)) {
$a = new \stdClass();
$a->config = [];
include $filePath; include $filePath;
if (isset($db_host)) { if (isset($db_host)) {
$a->config['database']['hostname'] = $db_host; $config['database']['hostname'] = $db_host;
unset($db_host); unset($db_host);
} }
if (isset($db_user)) { if (isset($db_user)) {
$a->config['database']['username'] = $db_user; $config['database']['username'] = $db_user;
unset($db_user); unset($db_user);
} }
if (isset($db_pass)) { if (isset($db_pass)) {
$a->config['database']['password'] = $db_pass; $config['database']['password'] = $db_pass;
unset($db_pass); unset($db_pass);
} }
if (isset($db_data)) { if (isset($db_data)) {
$a->config['database']['database'] = $db_data; $config['database']['database'] = $db_data;
unset($db_data); unset($db_data);
} }
if (isset($a->config['system']['db_charset'])) { if (isset($a->config['system']['db_charset'])) {
$a->config['database']['charset'] = $a->config['system']['charset']; $a->config['database']['charset'] = $config['system']['charset'];
} }
if (isset($pidfile)) { if (isset($pidfile)) {
$a->config['system']['pidfile'] = $pidfile; $config['system']['pidfile'] = $pidfile;
unset($pidfile); unset($pidfile);
} }
if (isset($default_timezone)) { if (isset($default_timezone)) {
$a->config['system']['default_timezone'] = $default_timezone; $config['system']['default_timezone'] = $default_timezone;
unset($default_timezone); unset($default_timezone);
} }
if (isset($lang)) { if (isset($lang)) {
$a->config['system']['language'] = $lang; $config['system']['language'] = $lang;
unset($lang); unset($lang);
} }
if (isset($admin_email)) {
return $a->config; $config['config']['admin_email'] = $admin_email;
} else { unset($admin_email);
return []; }
if (isset($admin_nickname)) {
$config['config']['admin_nickname'] = $admin_nickname;
unset($admin_nickname);
}
if (isset($php_path)) {
$config['config']['php_path'] = $php_path;
unset($php_path);
}
if (isset($max_import_size)) {
$config['config']['max_import_size'] = $max_import_size;
unset($max_import_size);
}
} }
return $config;
} }
/** /**

View file

@ -8,6 +8,12 @@ $db_user = 'testuser';
$db_pass = 'testpw'; $db_pass = 'testpw';
$db_data = 'testdb'; $db_data = 'testdb';
$admin_email = 'admin@friendica.local';
$admin_nickname = 'Friendly admin';
$pidfile = '/var/run/friendica.pid'; $pidfile = '/var/run/friendica.pid';
$default_timezone = 'Europe/Berlin'; $default_timezone = 'Europe/Berlin';
$lang = 'fr'; $lang = 'fr';
$php_path = '/another/php';
$max_import_size = 999;

View file

@ -135,6 +135,12 @@ class ConfigCacheLoaderTest extends MockedTest
$this->assertEquals('/var/run/friendica.pid', $configCache->get('system', 'pidfile')); $this->assertEquals('/var/run/friendica.pid', $configCache->get('system', 'pidfile'));
$this->assertEquals('Europe/Berlin', $configCache->get('system', 'default_timezone')); $this->assertEquals('Europe/Berlin', $configCache->get('system', 'default_timezone'));
$this->assertEquals('fr', $configCache->get('system', 'language')); $this->assertEquals('fr', $configCache->get('system', 'language'));
$this->assertEquals('admin@friendica.local', $configCache->get('config', 'admin_email'));
$this->assertEquals('Friendly admin', $configCache->get('config', 'admin_nickname'));
$this->assertEquals('/another/php', $configCache->get('config', 'php_path'));
$this->assertEquals('999', $configCache->get('config', 'max_import_size'));
} }
public function testLoadAddonConfig() public function testLoadAddonConfig()