renaming config file to make updates easier, resolving #50

pull/17/head
El RIDO 2015-10-22 21:13:15 +02:00
parent 5a9879623f
commit 176dff3b70
4 changed files with 20 additions and 6 deletions

View File

@ -16,8 +16,10 @@ and extract it in your web hosts folder were you want to install your ZeroBin in
### Configuration
In the file `cfg/conf.ini` you can configure ZeroBin. The config file is divided
into multiple sections, which are enclosed in square brackets.
In the file `cfg/conf.ini` you can configure ZeroBin. A `cfg/conf.ini.sample`
is provided containing all options on default values. You can copy it to
`cfg/conf.ini` and adapt it as needed. The config file is divided into multiple
sections, which are enclosed in square brackets.
In the `[main]` section you can enable or disable the discussion feature, set the
limit of stored pastes and comments in bytes. The `[traffic]` section lets you

View File

@ -84,10 +84,15 @@ class configuration
*/
public function __construct()
{
$config = parse_ini_file(PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.ini', true);
foreach (array('main', 'model') as $section) {
if (!array_key_exists($section, $config)) {
throw new Exception(i18n::_('ZeroBin requires configuration section [%s] to be present in configuration file.', $section), 2);
$config = array();
$configFile = PATH . 'cfg' . DIRECTORY_SEPARATOR . 'conf.ini';
if (is_readable($configFile))
{
$config = parse_ini_file($configFile, true);
foreach (array('main', 'model') as $section) {
if (!array_key_exists($section, $config)) {
throw new Exception(i18n::_('ZeroBin requires configuration section [%s] to be present in configuration file.', $section), 2);
}
}
}
foreach ($this->_defaults as $section => $values)

View File

@ -75,6 +75,13 @@ class configurationTest extends PHPUnit_Framework_TestCase
$this->assertEquals($this->_options, $conf->get(), 'newly generated configuration is correct');
}
public function testHandleMissingConfigFile()
{
@unlink(CONF);
$conf = new configuration;
$this->assertEquals($this->_options, $conf->get(), 'returns correct defaults on missing file');
}
/**
* @expectedException Exception
* @expectedExceptionCode 2