From 597297b169e2ae14684ad1f40c8e083be22b241d Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Sun, 18 Oct 2015 22:47:04 +0200 Subject: [ticket/14044] Deduplicate the installers PHPBB3-14044 --- .../module/install_database/task/create_schema.php | 13 +++++++--- .../install_filesystem/task/create_config_file.php | 29 +++++++++++++++------- .../module/install_finish/task/notify_user.php | 2 ++ .../install_finish/task/populate_migrations.php | 2 ++ 4 files changed, 34 insertions(+), 12 deletions(-) (limited to 'phpBB/phpbb/install/module') 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 @@ -50,6 +50,11 @@ class create_config_file extends \phpbb\install\task_base */ protected $php_ext; + /** + * @var array + */ + protected $options; + /** * Constructor * @@ -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 = "get('cache.driver'), $container->get_parameter('tables.config') ); + + parent::__construct(true); } /** 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); } /** -- cgit v1.2.1 From 369024b56fd96a9ca7174f36a706d9dce478ac3b Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Wed, 28 Oct 2015 00:58:34 +0100 Subject: [ticket/14044] Try to fix missing table prefix PHPBB3-14044 --- phpBB/phpbb/install/module/update_database/task/update.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'phpBB/phpbb/install/module') diff --git a/phpBB/phpbb/install/module/update_database/task/update.php b/phpBB/phpbb/install/module/update_database/task/update.php index 2d640134a3..015935e1de 100644 --- a/phpBB/phpbb/install/module/update_database/task/update.php +++ b/phpBB/phpbb/install/module/update_database/task/update.php @@ -98,6 +98,10 @@ class update extends task_base $this->language = $language; $this->phpbb_root_path = $phpbb_root_path; + // BC global for migrations + global $table_prefix; + $table_prefix = $container->get_parameter('table_prefix'); + $this->cache = $container->get('cache.driver'); $this->config = $container->get('config'); $this->extension_manager = $container->get('ext.manager'); -- cgit v1.2.1 From 33db26d0cf3161edb7c840c499c94f5b8f14a4e9 Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Wed, 28 Oct 2015 01:12:52 +0100 Subject: [ticket/14044] global $table_prefix in constants.php PHPBB3-14044 --- phpBB/phpbb/install/module/update_database/task/update.php | 4 ---- 1 file changed, 4 deletions(-) (limited to 'phpBB/phpbb/install/module') diff --git a/phpBB/phpbb/install/module/update_database/task/update.php b/phpBB/phpbb/install/module/update_database/task/update.php index 015935e1de..2d640134a3 100644 --- a/phpBB/phpbb/install/module/update_database/task/update.php +++ b/phpBB/phpbb/install/module/update_database/task/update.php @@ -98,10 +98,6 @@ class update extends task_base $this->language = $language; $this->phpbb_root_path = $phpbb_root_path; - // BC global for migrations - global $table_prefix; - $table_prefix = $container->get_parameter('table_prefix'); - $this->cache = $container->get('cache.driver'); $this->config = $container->get('config'); $this->extension_manager = $container->get('ext.manager'); -- cgit v1.2.1 From 3ac10ef5443a1bbc8aa2f13b7fb98f33ca2ff702 Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Wed, 28 Oct 2015 14:14:49 +0100 Subject: [ticket/14044] Solve missing email template error PHPBB3-14044 --- phpBB/phpbb/install/module/install_finish/task/notify_user.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'phpBB/phpbb/install/module') 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 83c03ce367..1cbc27ab6a 100644 --- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php +++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php @@ -40,6 +40,11 @@ class notify_user extends \phpbb\install\task_base */ protected $config; + /** + * @var \phpbb\language\language + */ + protected $language; + /** * @var \phpbb\log\log_interface */ @@ -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; @@ -103,7 +109,7 @@ class notify_user extends \phpbb\install\task_base include ($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext); $messenger = new \messenger(false); - $messenger->template('installed', $this->install_config->get('language')); + $messenger->template('installed', $this->language->get_used_language()); $messenger->to($this->config['board_email'], $this->install_config->get('admin_name')); $messenger->anti_abuse_headers($this->config, $this->user); $messenger->assign_vars(array( -- cgit v1.2.1 From 71ec5185e16c389d6d25b9999e73a4e6298cd721 Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Wed, 28 Oct 2015 14:17:29 +0100 Subject: [ticket/14044] Fix wrong descriptions in install PHPBB3-14044 --- phpBB/phpbb/install/module/obtain_data/task/obtain_email_data.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'phpBB/phpbb/install/module') 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, ), -- cgit v1.2.1 From 719f42c54a45ab669a983964c1e8a6f75a4d4b02 Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Fri, 30 Oct 2015 15:46:39 +0100 Subject: [ticket/14044] Fix language selection data loss PHPBB3-14044 --- .../install/module/install_database/task/add_config_settings.php | 2 +- phpBB/phpbb/install/module/install_finish/task/notify_user.php | 4 +++- phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) (limited to 'phpBB/phpbb/install/module') 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_finish/task/notify_user.php b/phpBB/phpbb/install/module/install_finish/task/notify_user.php index 1cbc27ab6a..2a8ee0f12e 100644 --- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php +++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php @@ -104,12 +104,14 @@ class notify_user extends \phpbb\install\task_base $this->user->session_begin(); $this->user->setup('common'); + $this->language->set_default_language($this->config['default_lang']); + if ($this->config['email_enable']) { include ($this->phpbb_root_path . 'includes/functions_messenger.' . $this->php_ext); $messenger = new \messenger(false); - $messenger->template('installed', $this->language->get_used_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/obtain_data/task/obtain_board_data.php b/phpBB/phpbb/install/module/obtain_data/task/obtain_board_data.php index 0726cc449c..4e977981ce 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 @@ -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(); -- cgit v1.2.1 From f991e484da91e24f82fbcb05d0b2ae11ca51852b Mon Sep 17 00:00:00 2001 From: Mate Bartus Date: Tue, 3 Nov 2015 02:16:23 +0100 Subject: [ticket/14044] Add config as global in notify user PHPBB3-14044 --- phpBB/phpbb/install/module/install_finish/task/notify_user.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'phpBB/phpbb/install/module') 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 2a8ee0f12e..5268b85a42 100644 --- a/phpBB/phpbb/install/module/install_finish/task/notify_user.php +++ b/phpBB/phpbb/install/module/install_finish/task/notify_user.php @@ -104,12 +104,15 @@ class notify_user extends \phpbb\install\task_base $this->user->session_begin(); $this->user->setup('common'); - $this->language->set_default_language($this->config['default_lang']); - if ($this->config['email_enable']) { 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('user_language', 'en')); $messenger->to($this->config['board_email'], $this->install_config->get('admin_name')); -- cgit v1.2.1