diff --git a/phpBB/docs/CHANGELOG.html b/phpBB/docs/CHANGELOG.html
index 13272e154c..eee4f3efcc 100644
--- a/phpBB/docs/CHANGELOG.html
+++ b/phpBB/docs/CHANGELOG.html
@@ -50,6 +50,7 @@
- Changelog
+ - Changes since 3.2.2
- Changes since 3.2.1
- Changes since 3.2.0
- Changes since 3.2.0-RC1
@@ -128,6 +129,62 @@
+
Changes since 3.2.2
+
Bug
+
+ - [PHPBB3-14936] - Missing language variable INST_ERR_DB
+ - [PHPBB3-15491] - Outdated linkes in installer support page
+ - [PHPBB3-15492] - Permissions role combobox does not work in RTL
+ - [PHPBB3-15500] - Docs outdated for new PHP 5.4.7 requirement
+ - [PHPBB3-15502] - Errors in migrations in 3.2.2 release
+ - [PHPBB3-15506] - Previewing new post empties attachment list of all but first attachment
+ - [PHPBB3-15512] - Avoid reparsing non-existent polls
+ - [PHPBB3-15513] - Signature edit in acp gives error
+ - [PHPBB3-15520] - DbDriver->sql_build_query cant cope with sub-selects
+ - [PHPBB3-15522] - Allow multiple color palettes per page
+ - [PHPBB3-15523] - AdBlocker may cause JS error when using CookieConsent
+ - [PHPBB3-15525] - composer.json License is Invalid/Deprecated
+ - [PHPBB3-15526] - Cast bbcode ID to integer
+ - [PHPBB3-15527] - Cannot interpret the BBCode definition
+ - [PHPBB3-15532] - Update pull request template
+ - [PHPBB3-15533] - Typo in viewtopic_topic_tools.html
+ - [PHPBB3-15558] - phpbb\report\report_handler_post.php
+ - [PHPBB3-15559] - phpbb\report\report_handler_pm.php:56
+ - [PHPBB3-15595] - Migration Module Exists Tool Broken
+
+
Improvement
+
+ - [PHPBB3-12579] - Add BUTTON_ language strings for post & PM buttons
+ - [PHPBB3-15495] - Use transactions for queries in move_forum
+ - [PHPBB3-15499] - Drop HHVM support
+ - [PHPBB3-15510] - Link Orphan attachments in ACP>General to Orphaned attachments page
+ - [PHPBB3-15514] - Improve accessibility by adding vital info from explanation to a title
+ - [PHPBB3-15518] - Do not attempt to accurately determine whether posters can read private messages in viewtopic
+ - [PHPBB3-15528] - Display the version of the installed styles in acp
+ - [PHPBB3-15529] - Color groups in ACP
+ - [PHPBB3-15531] - Log malformed BBCodes
+ - [PHPBB3-15534] - Outdated ACP extensions database link for phpBB 3.2
+ - [PHPBB3-15535] - Add S_FIRST_POST to postrow on viewtopic
+ - [PHPBB3-15537] - Add events core.search_(native|mysql|postgres|sphinx)_index_before
+ - [PHPBB3-15547] - Add file object to event core.avatar_driver_upload_move_file_before
+ - [PHPBB3-15561] - Add core events for adding columns to MySQL and Postgres search backends
+ - [PHPBB3-15568] - Update depencies to latest versions
+ - [PHPBB3-15569] - Adjust update instructions to suggest file replacement method
+
+
New Feature
+
+ - [PHPBB3-15398] - Add event to oauth login after ID check
+
+
Security Issue
+
+ - [PHPBB3-15570] - Extension version check is restricted to TLS 1.0
+
+
Task
+
+
Changes since 3.2.1
Security Issue
diff --git a/phpBB/phpbb/db/migration/data/v32x/v323rc1.php b/phpBB/phpbb/db/migration/data/v32x/v323rc1.php
new file mode 100644
index 0000000000..0ff20d5074
--- /dev/null
+++ b/phpBB/phpbb/db/migration/data/v32x/v323rc1.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\data\v32x;
+
+class v323rc1 extends \phpbb\db\migration\migration
+{
+ public function effectively_installed()
+ {
+ return phpbb_version_compare($this->config['version'], '3.2.3-RC1', '>=');
+ }
+
+ static public function depends_on()
+ {
+ return array(
+ '\phpbb\db\migration\data\v32x\enable_accurate_pm_button',
+ );
+ }
+
+ public function update_data()
+ {
+ return array(
+ array('config.update', array('version', '3.2.3-RC1')),
+ );
+ }
+}
diff --git a/phpBB/phpbb/db/migration/tool/module.php b/phpBB/phpbb/db/migration/tool/module.php
index 0e5cddbd39..b5823e19ec 100644
--- a/phpBB/phpbb/db/migration/tool/module.php
+++ b/phpBB/phpbb/db/migration/tool/module.php
@@ -86,7 +86,8 @@ class module implements \phpbb\db\migration\tool\tool_interface
* check for to see if it exists
* @param bool $lazy Checks lazily if the module exists. Returns true if it exists in at
* least one given parent.
- * @return bool true if module exists in *all* given parents, false if not
+ * @return bool true if module exists in *all* given parents, false if not in any given parent;
+ * true if ignoring parent check and module exists class wide, false if not found at all.
*/
public function exists($class, $parent, $module, $lazy = false)
{
@@ -110,6 +111,10 @@ class module implements \phpbb\db\migration\tool\tool_interface
$parent_sqls[] = 'AND parent_id = ' . (int) $parent_id;
}
}
+ else
+ {
+ $parent_sqls[] = '';
+ }
foreach ($parent_sqls as $parent_sql)
{
@@ -126,7 +131,7 @@ class module implements \phpbb\db\migration\tool\tool_interface
{
return false;
}
- else if ($lazy && $module_id)
+ if ($lazy && $module_id)
{
return true;
}
diff --git a/tests/dbal/migrator_tool_module_test.php b/tests/dbal/migrator_tool_module_test.php
index 12fb09d21a..43c93630a6 100644
--- a/tests/dbal/migrator_tool_module_test.php
+++ b/tests/dbal/migrator_tool_module_test.php
@@ -52,11 +52,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
array(
'',
'ACP_CAT',
+ false,
true,
),
array(
0,
'ACP_CAT',
+ false,
+ true,
+ ),
+ array(
+ false,
+ 'ACP_CAT',
+ false,
+ true,
+ ),
+
+ // Test the existing category lazily
+ array(
+ '',
+ 'ACP_CAT',
+ true,
+ true,
+ ),
+ array(
+ 0,
+ 'ACP_CAT',
+ true,
+ true,
+ ),
+ array(
+ false,
+ 'ACP_CAT',
+ true,
true,
),
@@ -65,15 +93,38 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'ACP_MODULE',
false,
+ false,
),
array(
false,
'ACP_MODULE',
+ false,
true,
),
array(
'ACP_CAT',
'ACP_MODULE',
+ false,
+ true,
+ ),
+
+ // Test the existing module lazily
+ array(
+ '',
+ 'ACP_MODULE',
+ true,
+ false,
+ ),
+ array(
+ false,
+ 'ACP_MODULE',
+ true,
+ true,
+ ),
+ array(
+ 'ACP_CAT',
+ 'ACP_MODULE',
+ true,
true,
),
@@ -82,11 +133,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'ACP_NON_EXISTANT_CAT',
false,
+ false,
+ ),
+ array(
+ false,
+ 'ACP_NON_EXISTANT_CAT',
+ false,
+ false,
),
array(
'ACP_CAT',
'ACP_NON_EXISTANT_MODULE',
false,
+ false,
+ ),
+
+ // Test for non-existant modules lazily
+ array(
+ '',
+ 'ACP_NON_EXISTANT_CAT',
+ true,
+ false,
+ ),
+ array(
+ false,
+ 'ACP_NON_EXISTANT_CAT',
+ true,
+ false,
+ ),
+ array(
+ 'ACP_CAT',
+ 'ACP_NON_EXISTANT_MODULE',
+ true,
+ false,
),
);
}
@@ -94,9 +173,9 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
/**
* @dataProvider exists_data_acp
*/
- public function test_exists_acp($parent, $module, $expected)
+ public function test_exists_acp($parent, $module, $lazy, $expected)
{
- $this->assertEquals($expected, $this->tool->exists('acp', $parent, $module));
+ $this->assertEquals($expected, $this->tool->exists('acp', $parent, $module, $lazy));
}
public function exists_data_ucp()
@@ -106,11 +185,39 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
array(
'',
'UCP_MAIN_CAT',
+ false,
true,
),
array(
0,
'UCP_MAIN_CAT',
+ false,
+ true,
+ ),
+ array(
+ false,
+ 'UCP_MAIN_CAT',
+ false,
+ true,
+ ),
+
+ // Test the existing category lazily
+ array(
+ '',
+ 'UCP_MAIN_CAT',
+ true,
+ true,
+ ),
+ array(
+ 0,
+ 'UCP_MAIN_CAT',
+ true,
+ true,
+ ),
+ array(
+ false,
+ 'UCP_MAIN_CAT',
+ true,
true,
),
@@ -119,21 +226,51 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'UCP_SUBCATEGORY',
false,
+ false,
),
array(
false,
'UCP_SUBCATEGORY',
+ false,
+ true,
+ ),
+ array(
+ 'UCP_MAIN_CAT',
+ 'UCP_SUBCATEGORY',
+ false,
+ true,
+ ),
+ array(
+ 'UCP_SUBCATEGORY',
+ 'UCP_MODULE',
+ false,
+ true,
+ ),
+
+ // Test the existing module lazily
+ array(
+ '',
+ 'UCP_SUBCATEGORY',
+ true,
+ false,
+ ),
+ array(
+ false,
+ 'UCP_SUBCATEGORY',
+ true,
true,
),
array(
'UCP_MAIN_CAT',
'UCP_SUBCATEGORY',
true,
+ true,
),
array(
'UCP_SUBCATEGORY',
'UCP_MODULE',
true,
+ true,
),
// Test for non-existant modules
@@ -141,11 +278,27 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
'',
'UCP_NON_EXISTANT_CAT',
false,
+ false,
),
array(
'UCP_MAIN_CAT',
'UCP_NON_EXISTANT_MODULE',
false,
+ false,
+ ),
+
+ // Test for non-existant modules lazily
+ array(
+ '',
+ 'UCP_NON_EXISTANT_CAT',
+ true,
+ false,
+ ),
+ array(
+ 'UCP_MAIN_CAT',
+ 'UCP_NON_EXISTANT_MODULE',
+ true,
+ false,
),
);
}
@@ -153,9 +306,9 @@ class phpbb_dbal_migrator_tool_module_test extends phpbb_database_test_case
/**
* @dataProvider exists_data_ucp
*/
- public function test_exists_ucp($parent, $module, $expected)
+ public function test_exists_ucp($parent, $module, $lazy, $expected)
{
- $this->assertEquals($expected, $this->tool->exists('ucp', $parent, $module));
+ $this->assertEquals($expected, $this->tool->exists('ucp', $parent, $module, $lazy));
}
public function test_add()