1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-02-25 12:33:29 +01:00
php-phpbb/phpBB/phpbb/install/installer_configuration.php
Tristan Darricau 06f4ebce1b [ticket/13740] CLI installer and fixes
[ci skip]

PHPBB3-13740
2015-07-08 01:28:08 +02:00

141 lines
3.4 KiB
PHP

<?php
/**
*
* This file is part of the phpBB Forum Software package.
*
* @copyright (c) phpBB Limited <https://www.phpbb.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
* For full copyright and license information, please see
* the docs/CREDITS.txt file.
*
*/
namespace phpbb\install;
use Symfony\Component\Config\Definition\Builder\TreeBuilder;
use Symfony\Component\Config\Definition\ConfigurationInterface;
class installer_configuration implements ConfigurationInterface
{
/**
* Generates the configuration tree builder.
*
* @return \Symfony\Component\Config\Definition\Builder\TreeBuilder The tree builder
*/
public function getConfigTreeBuilder()
{
$treeBuilder = new TreeBuilder();
$rootNode = $treeBuilder->root('installer');
$rootNode
->children()
->arrayNode('admin')
->children()
->scalarNode('name')->defaultValue('admin')->cannotBeEmpty()->end()
->scalarNode('password')->defaultValue('adminadmin')->cannotBeEmpty()->end()
->scalarNode('email')->defaultValue('admin@example.org')->cannotBeEmpty()->end()
->end()
->end()
->arrayNode('board')
->children()
->scalarNode('lang')
->defaultValue('en')
->cannotBeEmpty()
->end()
->scalarNode('name')
->defaultValue('My Board')
->cannotBeEmpty()
->end()
->scalarNode('description')
->defaultValue('My amazing new phpBB board')
->cannotBeEmpty()
->end()
->end()
->end()
->arrayNode('database')
->children()
->scalarNode('dbms')
->defaultValue('sqlite3')
->cannotBeEmpty()
->isRequired()
->end()
->scalarNode('dbhost')
->defaultValue(null)
->end()
->scalarNode('dbport')
->defaultValue(null)
->end()
->scalarNode('dbuser')
->defaultValue(null)
->end()
->scalarNode('dbpasswd')
->defaultValue(null)
->end()
->scalarNode('dbname')
->defaultValue(null)
->end()
->scalarNode('table_prefix')
->defaultValue('phpbb_')
->cannotBeEmpty()
->isRequired()
->end()
->end()
->end()
->arrayNode('email')
->canBeEnabled()
->addDefaultsIfNotSet()
->children()
->booleanNode('smtp_delivery')
->defaultValue(false)
->treatNullLike(false)
->end()
->scalarNode('smtp_host')
->defaultValue(null)
->end()
->scalarNode('smtp_auth')
->defaultValue(null)
->end()
->scalarNode('smtp_user')
->defaultValue(null)
->end()
->scalarNode('smtp_pass')
->defaultValue(null)
->end()
->end()
->end()
->arrayNode('server')
->children()
->booleanNode('cookie_secure')
->defaultValue(false)
->treatNullLike(false)
->end()
->scalarNode('server_protocol')
->defaultValue('http://')
->cannotBeEmpty()
->end()
->booleanNode('force_server_vars')
->defaultValue(false)
->treatNullLike(false)
->end()
->scalarNode('server_name')
->defaultValue('localhost')
->cannotBeEmpty()
->end()
->integerNode('server_port')
->defaultValue(80)
->min(1)
->cannotBeEmpty()
->end()
->scalarNode('script_path')
->defaultValue('/')
->cannotBeEmpty()
->end()
->end()
->end()
->end()
;
return $treeBuilder;
}
}