aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/install')
-rw-r--r--phpBB/phpbb/install/console/command/install/config/show.php2
-rw-r--r--phpBB/phpbb/install/console/command/install/install.php4
-rw-r--r--phpBB/phpbb/install/controller/helper.php3
-rw-r--r--phpBB/phpbb/install/installer.php15
-rw-r--r--phpBB/phpbb/install/module/install_data/task/add_bots.php5
-rw-r--r--phpBB/phpbb/install/module/install_database/task/add_config_settings.php2
-rw-r--r--phpBB/phpbb/install/module/install_database/task/create_schema.php13
-rw-r--r--phpBB/phpbb/install/module/install_filesystem/task/create_config_file.php29
-rw-r--r--phpBB/phpbb/install/module/install_finish/task/notify_user.php15
-rw-r--r--phpBB/phpbb/install/module/install_finish/task/populate_migrations.php2
-rw-r--r--phpBB/phpbb/install/module/obtain_data/task/obtain_admin_data.php2
-rw-r--r--phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php10
-rw-r--r--phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php2
-rw-r--r--phpBB/phpbb/install/module/update_database/task/update.php2
-rw-r--r--phpBB/phpbb/install/module/update_filesystem/task/show_file_status.php2
-rw-r--r--phpBB/phpbb/install/module/update_filesystem/task/update_files.php10
16 files changed, 83 insertions, 35 deletions
diff --git a/phpBB/phpbb/install/console/command/install/config/show.php b/phpBB/phpbb/install/console/command/install/config/show.php
index 4155440fc3..5d82d8d1ef 100644
--- a/phpBB/phpbb/install/console/command/install/config/show.php
+++ b/phpBB/phpbb/install/console/command/install/config/show.php
@@ -96,7 +96,7 @@ class show extends \phpbb\console\command\command
if (!is_file($config_file))
{
- $iohandler->add_error_message(array('MISSING_FILE', array($config_file)));
+ $iohandler->add_error_message(array('MISSING_FILE', $config_file));
return;
}
diff --git a/phpBB/phpbb/install/console/command/install/install.php b/phpBB/phpbb/install/console/command/install/install.php
index 81ad1039f6..d76182af92 100644
--- a/phpBB/phpbb/install/console/command/install/install.php
+++ b/phpBB/phpbb/install/console/command/install/install.php
@@ -116,7 +116,7 @@ class install extends \phpbb\console\command\command
if (!is_file($config_file))
{
- $iohandler->add_error_message(array('MISSING_FILE', array($config_file)));
+ $iohandler->add_error_message(array('MISSING_FILE', $config_file));
return 1;
}
@@ -127,7 +127,7 @@ class install extends \phpbb\console\command\command
}
catch (ParseException $e)
{
- $iohandler->add_error_message('INVALID_YAML_FILE');
+ $iohandler->add_error_message(array('INVALID_YAML_FILE', $config_file));
return 1;
}
diff --git a/phpBB/phpbb/install/controller/helper.php b/phpBB/phpbb/install/controller/helper.php
index bfa9ec6238..ed817f7396 100644
--- a/phpBB/phpbb/install/controller/helper.php
+++ b/phpBB/phpbb/install/controller/helper.php
@@ -197,13 +197,14 @@ class helper
$this->language_cookie = $lang;
}
- $lang = (!empty($lang) && strpos($lang, '/')) ? $lang : null;
+ $lang = (!empty($lang) && strpos($lang, '/') === false) ? $lang : null;
$this->render_language_select($lang);
if ($lang !== null)
{
$this->language->set_user_language($lang, true);
+ $this->installer_config->set('user_language', $lang);
}
}
diff --git a/phpBB/phpbb/install/installer.php b/phpBB/phpbb/install/installer.php
index 77e0a896bc..a41b4cd6a6 100644
--- a/phpBB/phpbb/install/installer.php
+++ b/phpBB/phpbb/install/installer.php
@@ -13,6 +13,7 @@
namespace phpbb\install;
+use phpbb\cache\driver\driver_interface;
use phpbb\di\ordered_service_collection;
use phpbb\install\exception\installer_config_not_writable_exception;
use phpbb\install\exception\jump_to_restart_point_exception;
@@ -26,6 +27,11 @@ use phpbb\path_helper;
class installer
{
/**
+ * @var driver_interface
+ */
+ protected $cache;
+
+ /**
* @var config
*/
protected $install_config;
@@ -55,11 +61,13 @@ class installer
/**
* Constructor
*
- * @param config $config Installer config handler
- * @param path_helper $path_helper Path helper
+ * @param driver_interface $cache Cache service
+ * @param config $config Installer config handler
+ * @param path_helper $path_helper Path helper
*/
- public function __construct(config $config, path_helper $path_helper)
+ public function __construct(driver_interface $cache, config $config, path_helper $path_helper)
{
+ $this->cache = $cache;
$this->install_config = $config;
$this->installer_modules = null;
$this->web_root = $path_helper->get_web_root_path();
@@ -235,6 +243,7 @@ class installer
if ($install_finished || $fail_cleanup)
{
$this->install_config->clean_up_config_file();
+ $this->cache->purge();
}
else
{
diff --git a/phpBB/phpbb/install/module/install_data/task/add_bots.php b/phpBB/phpbb/install/module/install_data/task/add_bots.php
index b45d3808db..2ee641ff63 100644
--- a/phpBB/phpbb/install/module/install_data/task/add_bots.php
+++ b/phpBB/phpbb/install/module/install_data/task/add_bots.php
@@ -197,6 +197,11 @@ class add_bots extends \phpbb\install\task_base
'user_allow_pm' => 0,
);
+ if (!function_exists('user_add'))
+ {
+ include($this->phpbb_root_path . 'includes/functions_user.' . $this->php_ext);
+ }
+
$user_id = user_add($user_row);
if (!$user_id)
diff --git a/phpBB/phpbb/install/module/install_database/task/add_config_settings.php b/phpBB/phpbb/install/module/install_database/task/add_config_settings.php
index 25da36e01d..6fb03ff73d 100644
--- a/phpBB/phpbb/install/module/install_database/task/add_config_settings.php
+++ b/phpBB/phpbb/install/module/install_database/task/add_config_settings.php
@@ -233,7 +233,7 @@ class add_config_settings extends \phpbb\install\task_base
SET username = '" . $this->db->sql_escape($this->install_config->get('admin_name')) . "',
user_password='" . $this->password_manager->hash($this->install_config->get('admin_passwd')) . "',
user_ip = '" . $this->db->sql_escape($user_ip) . "',
- user_lang = '" . $this->db->sql_escape($this->install_config->get('language')) . "',
+ user_lang = '" . $this->db->sql_escape($this->install_config->get('user_language', 'en')) . "',
user_email='" . $this->db->sql_escape($this->install_config->get('board_email')) . "',
user_dateformat='" . $this->db->sql_escape($this->language->lang('default_dateformat')) . "',
user_email_hash = " . $this->db->sql_escape(phpbb_email_hash($this->install_config->get('board_email'))) . ",
diff --git a/phpBB/phpbb/install/module/install_database/task/create_schema.php b/phpBB/phpbb/install/module/install_database/task/create_schema.php
index 7cc521eee8..cabb78787f 100644
--- a/phpBB/phpbb/install/module/install_database/task/create_schema.php
+++ b/phpBB/phpbb/install/module/install_database/task/create_schema.php
@@ -80,6 +80,16 @@ class create_schema extends \phpbb\install\task_base
$factory = new \phpbb\db\tools\factory();
$this->db = new $dbms();
+ $this->db->sql_connect(
+ $config->get('dbhost'),
+ $config->get('dbuser'),
+ $config->get('dbpasswd'),
+ $config->get('dbname'),
+ $config->get('dbport'),
+ false,
+ false
+ );
+
$this->config = $config;
$this->db_tools = $factory->get($this->db);
$this->database_helper = $db_helper;
@@ -89,9 +99,6 @@ class create_schema extends \phpbb\install\task_base
$this->php_ext = $php_ext;
parent::__construct(true);
-
- // Connect to DB
- $this->db->sql_connect($config->get('dbhost'), $config->get('dbuser'), $config->get('dbpasswd'), $config->get('dbname'), $config->get('dbport'), false, false);
}
/**
diff --git a/phpBB/phpbb/install/module/install_filesystem/task/create_config_file.php b/phpBB/phpbb/install/module/install_filesystem/task/create_config_file.php
index 337d401216..e0890a929c 100644
--- a/phpBB/phpbb/install/module/install_filesystem/task/create_config_file.php
+++ b/phpBB/phpbb/install/module/install_filesystem/task/create_config_file.php
@@ -51,6 +51,11 @@ class create_config_file extends \phpbb\install\task_base
protected $php_ext;
/**
+ * @var array
+ */
+ protected $options;
+
+ /**
* Constructor
*
* @param \phpbb\filesystem\filesystem_interface $filesystem
@@ -59,13 +64,15 @@ class create_config_file extends \phpbb\install\task_base
* @param \phpbb\install\helper\iohandler\iohandler_interface $iohandler
* @param string $phpbb_root_path
* @param string $php_ext
+ * @param array $options
*/
public function __construct(\phpbb\filesystem\filesystem_interface $filesystem,
\phpbb\install\helper\config $install_config,
\phpbb\install\helper\database $db_helper,
\phpbb\install\helper\iohandler\iohandler_interface $iohandler,
$phpbb_root_path,
- $php_ext)
+ $php_ext,
+ $options = array())
{
$this->install_config = $install_config;
$this->db_helper = $db_helper;
@@ -73,6 +80,11 @@ class create_config_file extends \phpbb\install\task_base
$this->iohandler = $iohandler;
$this->phpbb_root_path = $phpbb_root_path;
$this->php_ext = $php_ext;
+ $this->options = array_merge(array(
+ 'debug' => false,
+ 'debug_container' => false,
+ 'environment' => null,
+ ), $options);
parent::__construct(true);
}
@@ -93,7 +105,7 @@ class create_config_file extends \phpbb\install\task_base
$config_written = false;
}
- $config_content = $this->get_config_data();
+ $config_content = $this->get_config_data($this->options['debug'], $this->options['debug_container'], $this->options['environment']);
if (!@fwrite($fp, $config_content))
{
@@ -145,15 +157,14 @@ class create_config_file extends \phpbb\install\task_base
/**
* Returns the content which should be dumped to config.php
*
- * @param bool $debug If the debug constants should be enabled by default or not
- * @param bool $debug_container If the container should be compiled on
+ * @param bool $debug If the debug constants should be enabled by default or not
+ * @param bool $debug_container If the container should be compiled on
* every page load or not
- * @param bool $debug_test If the DEBUG_TEST constant should be added
- * NOTE: Only for use within the testing framework
+ * @param string $environment The environment to use
*
* @return string content to be written to the config file
*/
- protected function get_config_data($debug = false, $debug_container = false, $debug_test = false)
+ protected function get_config_data($debug = false, $debug_container = false, $environment = null)
{
$config_content = "<?php\n";
$config_content .= "// phpBB 3.2.x auto-generated configuration file\n// Do not change anything in this file!\n";
@@ -184,7 +195,7 @@ class create_config_file extends \phpbb\install\task_base
$config_content .= "\n@define('PHPBB_INSTALLED', true);\n";
$config_content .= "// @define('PHPBB_DISPLAY_LOAD_TIME', true);\n";
- if ($debug_test)
+ if ($environment)
{
$config_content .= "@define('PHPBB_ENVIRONMENT', 'test');\n";
}
@@ -206,7 +217,7 @@ class create_config_file extends \phpbb\install\task_base
$config_content .= "// @define('DEBUG_CONTAINER', true);\n";
}
- if ($debug_test)
+ if ($environment === 'test')
{
$config_content .= "@define('DEBUG_TEST', true);\n";
diff --git a/phpBB/phpbb/install/module/install_finish/task/notify_user.php b/phpBB/phpbb/install/module/install_finish/task/notify_user.php
index 0af76f6f60..5268b85a42 100644
--- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php
+++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php
@@ -41,6 +41,11 @@ class notify_user extends \phpbb\install\task_base
protected $config;
/**
+ * @var \phpbb\language\language
+ */
+ protected $language;
+
+ /**
* @var \phpbb\log\log_interface
*/
protected $log;
@@ -75,6 +80,7 @@ class notify_user extends \phpbb\install\task_base
$this->iohandler = $iohandler;
$this->auth = $container->get('auth');
+ $this->language = $container->get('language');
$this->log = $container->get('log');
$this->user = $container->get('user');
$this->phpbb_root_path = $phpbb_root_path;
@@ -86,6 +92,8 @@ class notify_user extends \phpbb\install\task_base
$container->get('cache.driver'),
$container->get_parameter('tables.config')
);
+
+ parent::__construct(true);
}
/**
@@ -100,8 +108,13 @@ class notify_user extends \phpbb\install\task_base
{
include ($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext);
+ // functions_messenger.php uses config to determine language paths
+ // Remove when able
+ global $config;
+ $config = $this->config;
+
$messenger = new \messenger(false);
- $messenger->template('installed', $this->install_config->get('language'));
+ $messenger->template('installed', $this->install_config->get('user_language', 'en'));
$messenger->to($this->config['board_email'], $this->install_config->get('admin_name'));
$messenger->anti_abuse_headers($this->config, $this->user);
$messenger->assign_vars(array(
diff --git a/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php b/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
index b2a4800f86..8629d9aea3 100644
--- a/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
+++ b/phpBB/phpbb/install/module/install_finish/task/populate_migrations.php
@@ -37,6 +37,8 @@ class populate_migrations extends \phpbb\install\task_base
{
$this->extension_manager = $container->get('ext.manager');
$this->migrator = $container->get('migrator');
+
+ parent::__construct(true);
}
/**
diff --git a/phpBB/phpbb/install/module/obtain_data/task/obtain_admin_data.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_admin_data.php
index 41616e995a..ac305e8ab5 100644
--- a/phpBB/phpbb/install/module/obtain_data/task/obtain_admin_data.php
+++ b/phpBB/phpbb/install/module/obtain_data/task/obtain_admin_data.php
@@ -70,7 +70,7 @@ class obtain_admin_data extends \phpbb\install\task_base implements \phpbb\insta
$admin_name = $this->io_handler->get_input('admin_name', '', true);
$admin_pass1 = $this->io_handler->get_input('admin_pass1', '', true);
$admin_pass2 = $this->io_handler->get_input('admin_pass2', '', true);
- $board_email = $this->io_handler->get_input('board_email', '');
+ $board_email = $this->io_handler->get_input('board_email', '', true);
$admin_data_valid = $this->check_admin_data($admin_name, $admin_pass1, $admin_pass2, $board_email);
diff --git a/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php
index 0726cc449c..6c54561d14 100644
--- a/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php
+++ b/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php
@@ -76,8 +76,8 @@ class obtain_board_data extends \phpbb\install\task_base implements \phpbb\insta
{
// Board data
$default_lang = $this->io_handler->get_input('default_lang', '');
- $board_name = $this->io_handler->get_input('board_name', '');
- $board_desc = $this->io_handler->get_input('board_description', '');
+ $board_name = $this->io_handler->get_input('board_name', '', true);
+ $board_desc = $this->io_handler->get_input('board_description', '', true);
// Check default lang
$langs = $this->language_helper->get_available_languages();
@@ -116,8 +116,8 @@ class obtain_board_data extends \phpbb\install\task_base implements \phpbb\insta
{
if ($use_request_data)
{
- $board_name = $this->io_handler->get_input('board_name', '');
- $board_desc = $this->io_handler->get_input('board_description', '');
+ $board_name = $this->io_handler->get_input('board_name', '', true);
+ $board_desc = $this->io_handler->get_input('board_description', '', true);
}
else
{
@@ -126,7 +126,7 @@ class obtain_board_data extends \phpbb\install\task_base implements \phpbb\insta
}
// Use language because we only check this to be valid
- $default_lang = $this->install_config->get('language', '');
+ $default_lang = $this->install_config->get('user_language', 'en');
$langs = $this->language_helper->get_available_languages();
$lang_options = array();
diff --git a/phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php
index ae7526a9e3..b04b8e353f 100644
--- a/phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php
+++ b/phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php
@@ -116,12 +116,12 @@ class obtain_email_data extends \phpbb\install\task_base implements \phpbb\insta
),
'smtp_host' => array(
'label' => 'SMTP_SERVER',
- 'description' => 'SMTP_SERVER_EXPLAIN',
'type' => 'text',
'default' => $smtp_host,
),
'smtp_auth' => array(
'label' => 'SMTP_AUTH_METHOD',
+ 'description' => 'SMTP_AUTH_METHOD_EXPLAIN',
'type' => 'select',
'options' => $auth_options,
),
diff --git a/phpBB/phpbb/install/module/update_database/task/update.php b/phpBB/phpbb/install/module/update_database/task/update.php
index 2d640134a3..84ec6f73f5 100644
--- a/phpBB/phpbb/install/module/update_database/task/update.php
+++ b/phpBB/phpbb/install/module/update_database/task/update.php
@@ -172,7 +172,7 @@ class update extends task_base
{
$this->log->add(
'admin',
- $this->user->data['user_id'],
+ (isset($this->user->data['user_id'])) ? $this->user->data['user_id'] : ANONYMOUS,
$this->user->ip,
'LOG_UPDATE_DATABASE',
false,
diff --git a/phpBB/phpbb/install/module/update_filesystem/task/show_file_status.php b/phpBB/phpbb/install/module/update_filesystem/task/show_file_status.php
index 1c6b9aa058..e712b8ad6a 100644
--- a/phpBB/phpbb/install/module/update_filesystem/task/show_file_status.php
+++ b/phpBB/phpbb/install/module/update_filesystem/task/show_file_status.php
@@ -100,7 +100,7 @@ class show_file_status extends task_base
{
$this->file_updater->create_new_file(
$filename,
- $this->cache->get('_file_' . md5($filename)),
+ base64_decode($this->cache->get('_file_' . md5($filename))),
true
);
}
diff --git a/phpBB/phpbb/install/module/update_filesystem/task/update_files.php b/phpBB/phpbb/install/module/update_filesystem/task/update_files.php
index 747a86281b..fbb465cc66 100644
--- a/phpBB/phpbb/install/module/update_filesystem/task/update_files.php
+++ b/phpBB/phpbb/install/module/update_filesystem/task/update_files.php
@@ -164,20 +164,20 @@ class update_files extends task_base
{
case 'delete':
$this->file_updater->delete_file($path);
- break;
+ break;
case 'new':
$this->file_updater->create_new_file($path, $new_path . $path);
- break;
+ break;
case 'update_without_diff':
$this->file_updater->update_file($path, $new_path . $path);
- break;
+ break;
case 'update_with_diff':
$this->file_updater->update_file(
$path,
- $this->cache->get('_file_' . md5($path)),
+ base64_decode($this->cache->get('_file_' . md5($path))),
true
);
- break;
+ break;
}
// Save progress