From ce47170c29f4bd7b6a9a4dc74f95be5b4241872d Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 14 Jan 2015 12:07:53 +0100 Subject: [ticket/13489] Update migrations PHPBB3-13489 --- .../db/migration/data/v30x/release_3_0_5_rc1.php | 22 +++++++++++--- .../data/v310/soft_delete_mod_convert.php | 34 +++++++++++++--------- .../db/migration/profilefield_base_migration.php | 21 +++++++++++-- 3 files changed, 57 insertions(+), 20 deletions(-) (limited to 'phpBB/phpbb/db/migration') diff --git a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php index 2cc7786046..dc79071e16 100644 --- a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php +++ b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php @@ -13,8 +13,16 @@ namespace phpbb\db\migration\data\v30x; -class release_3_0_5_rc1 extends \phpbb\db\migration\migration +use Symfony\Component\DependencyInjection\ContainerAwareInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + +class release_3_0_5_rc1 extends \phpbb\db\migration\migration implements ContainerAwareInterface { + /** + * @var ContainerInterface + */ + protected $container; + public function effectively_installed() { return phpbb_version_compare($this->config['version'], '3.0.5-RC1', '>='); @@ -55,9 +63,7 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration public function hash_old_passwords() { - global $phpbb_container; - - $passwords_manager = $phpbb_container->get('passwords.manager'); + $passwords_manager = $this->container->get('passwords.manager'); $sql = 'SELECT user_id, user_password FROM ' . $this->table_prefix . 'users WHERE user_pass_convert = 1'; @@ -130,4 +136,12 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration } } } + + /** + * {@inheritdoc} + */ + public function setContainer(ContainerInterface $container = null) + { + $this->container = $container; + } } diff --git a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php index 58845b88ec..c21b75b881 100644 --- a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php +++ b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php @@ -13,13 +13,21 @@ namespace phpbb\db\migration\data\v310; +use Symfony\Component\DependencyInjection\ContainerAwareInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + /** * Migration to convert the Soft Delete MOD for 3.0 * * https://www.phpbb.com/customise/db/mod/soft_delete/ */ -class soft_delete_mod_convert extends \phpbb\db\migration\migration +class soft_delete_mod_convert extends \phpbb\db\migration\migration implements ContainerAwareInterface { + /** + * @var ContainerInterface + */ + protected $container; + static public function depends_on() { return array( @@ -115,19 +123,19 @@ class soft_delete_mod_convert extends \phpbb\db\migration\migration } } + /** + * @return \phpbb\content_visibility + */ protected function get_content_visibility() { - return new \phpbb\content_visibility( - new \phpbb\auth\auth(), - $this->config, - $this->db, - new \phpbb\user('\phpbb\datetime'), - $this->phpbb_root_path, - $this->php_ext, - $this->table_prefix . 'forums', - $this->table_prefix . 'posts', - $this->table_prefix . 'topics', - $this->table_prefix . 'users' - ); + return $this->container->get('content.visibility'); + } + + /** + * {@inheritdoc} + */ + public function setContainer(ContainerInterface $container = null) + { + $this->container = $container; } } diff --git a/phpBB/phpbb/db/migration/profilefield_base_migration.php b/phpBB/phpbb/db/migration/profilefield_base_migration.php index 9000949a7d..02954d109c 100644 --- a/phpBB/phpbb/db/migration/profilefield_base_migration.php +++ b/phpBB/phpbb/db/migration/profilefield_base_migration.php @@ -13,7 +13,10 @@ namespace phpbb\db\migration; -abstract class profilefield_base_migration extends \phpbb\db\migration\migration +use Symfony\Component\DependencyInjection\ContainerAwareInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + +abstract class profilefield_base_migration extends \phpbb\db\migration\migration implements ContainerAwareInterface { protected $profilefield_name; @@ -40,6 +43,11 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration protected $user_column_name; + /** + * @var ContainerInterface + */ + protected $container; + public function effectively_installed() { return $this->db_tools->sql_column_exists($this->table_prefix . 'profile_fields_data', 'pf_' . $this->profilefield_name); @@ -237,11 +245,18 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration if ($profile_row === null) { - global $phpbb_container; - $manager = $phpbb_container->get('profilefields.manager'); + $manager = $this->container->get('profilefields.manager'); $profile_row = $manager->build_insert_sql_array(array()); } return $profile_row; } + + /** + * {@inheritdoc} + */ + public function setContainer(ContainerInterface $container = null) + { + $this->container = $container; + } } -- cgit v1.2.1 From dab07283573689fcc6eb2c4e270ac37c3a573959 Mon Sep 17 00:00:00 2001 From: Tristan Darricau Date: Wed, 14 Jan 2015 12:32:47 +0100 Subject: [ticket/13489] Fix service configuration PHPBB3-13489 --- .../db/migration/container_aware_migration.php | 36 ++++++++++++++++++++++ .../db/migration/data/v30x/release_3_0_5_rc1.php | 18 ++--------- .../data/v310/soft_delete_mod_convert.php | 18 ++--------- .../db/migration/profilefield_base_migration.php | 18 +---------- 4 files changed, 41 insertions(+), 49 deletions(-) create mode 100644 phpBB/phpbb/db/migration/container_aware_migration.php (limited to 'phpBB/phpbb/db/migration') diff --git a/phpBB/phpbb/db/migration/container_aware_migration.php b/phpBB/phpbb/db/migration/container_aware_migration.php new file mode 100644 index 0000000000..3b4b49b04b --- /dev/null +++ b/phpBB/phpbb/db/migration/container_aware_migration.php @@ -0,0 +1,36 @@ + +* @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\db\migration; + +use Symfony\Component\DependencyInjection\ContainerAwareInterface; +use Symfony\Component\DependencyInjection\ContainerInterface; + +/** +* Abstract base class for container aware database migrations. +*/ +abstract class container_aware_migration extends migration implements ContainerAwareInterface +{ + /** + * @var ContainerInterface + */ + protected $container; + + /** + * {@inheritdoc} + */ + public function setContainer(ContainerInterface $container = null) + { + $this->container = $container; + } +} diff --git a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php index dc79071e16..c3e887841f 100644 --- a/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php +++ b/phpBB/phpbb/db/migration/data/v30x/release_3_0_5_rc1.php @@ -13,16 +13,10 @@ namespace phpbb\db\migration\data\v30x; -use Symfony\Component\DependencyInjection\ContainerAwareInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; +use phpbb\db\migration\container_aware_migration; -class release_3_0_5_rc1 extends \phpbb\db\migration\migration implements ContainerAwareInterface +class release_3_0_5_rc1 extends container_aware_migration { - /** - * @var ContainerInterface - */ - protected $container; - public function effectively_installed() { return phpbb_version_compare($this->config['version'], '3.0.5-RC1', '>='); @@ -136,12 +130,4 @@ class release_3_0_5_rc1 extends \phpbb\db\migration\migration implements Contain } } } - - /** - * {@inheritdoc} - */ - public function setContainer(ContainerInterface $container = null) - { - $this->container = $container; - } } diff --git a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php index c21b75b881..85b90da5fa 100644 --- a/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php +++ b/phpBB/phpbb/db/migration/data/v310/soft_delete_mod_convert.php @@ -13,21 +13,15 @@ namespace phpbb\db\migration\data\v310; -use Symfony\Component\DependencyInjection\ContainerAwareInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; +use phpbb\db\migration\container_aware_migration; /** * Migration to convert the Soft Delete MOD for 3.0 * * https://www.phpbb.com/customise/db/mod/soft_delete/ */ -class soft_delete_mod_convert extends \phpbb\db\migration\migration implements ContainerAwareInterface +class soft_delete_mod_convert extends container_aware_migration { - /** - * @var ContainerInterface - */ - protected $container; - static public function depends_on() { return array( @@ -130,12 +124,4 @@ class soft_delete_mod_convert extends \phpbb\db\migration\migration implements C { return $this->container->get('content.visibility'); } - - /** - * {@inheritdoc} - */ - public function setContainer(ContainerInterface $container = null) - { - $this->container = $container; - } } diff --git a/phpBB/phpbb/db/migration/profilefield_base_migration.php b/phpBB/phpbb/db/migration/profilefield_base_migration.php index 02954d109c..da1a38e2fa 100644 --- a/phpBB/phpbb/db/migration/profilefield_base_migration.php +++ b/phpBB/phpbb/db/migration/profilefield_base_migration.php @@ -13,10 +13,7 @@ namespace phpbb\db\migration; -use Symfony\Component\DependencyInjection\ContainerAwareInterface; -use Symfony\Component\DependencyInjection\ContainerInterface; - -abstract class profilefield_base_migration extends \phpbb\db\migration\migration implements ContainerAwareInterface +abstract class profilefield_base_migration extends container_aware_migration { protected $profilefield_name; @@ -43,11 +40,6 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration protected $user_column_name; - /** - * @var ContainerInterface - */ - protected $container; - public function effectively_installed() { return $this->db_tools->sql_column_exists($this->table_prefix . 'profile_fields_data', 'pf_' . $this->profilefield_name); @@ -251,12 +243,4 @@ abstract class profilefield_base_migration extends \phpbb\db\migration\migration return $profile_row; } - - /** - * {@inheritdoc} - */ - public function setContainer(ContainerInterface $container = null) - { - $this->container = $container; - } } -- cgit v1.2.1