aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/db/migration
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/phpbb/db/migration')
-rw-r--r--phpBB/phpbb/db/migration/data/v32x/enable_accurate_pm_button.php36
-rw-r--r--phpBB/phpbb/db/migration/data/v32x/merge_duplicate_bbcodes.php33
-rw-r--r--phpBB/phpbb/db/migration/data/v32x/v323rc1.php36
-rw-r--r--phpBB/phpbb/db/migration/tool/module.php15
4 files changed, 100 insertions, 20 deletions
diff --git a/phpBB/phpbb/db/migration/data/v32x/enable_accurate_pm_button.php b/phpBB/phpbb/db/migration/data/v32x/enable_accurate_pm_button.php
new file mode 100644
index 0000000000..a7b99606f7
--- /dev/null
+++ b/phpBB/phpbb/db/migration/data/v32x/enable_accurate_pm_button.php
@@ -0,0 +1,36 @@
+<?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\db\migration\data\v32x;
+
+class enable_accurate_pm_button extends \phpbb\db\migration\migration
+{
+ static public function depends_on()
+ {
+ return array(
+ '\phpbb\db\migration\data\v32x\v322',
+ );
+ }
+
+ public function effectively_installed()
+ {
+ return isset($this->config['enable_accurate_pm_button']);
+ }
+
+ public function update_data()
+ {
+ return array(
+ array('config.add', array('enable_accurate_pm_button', '1')),
+ );
+ }
+}
diff --git a/phpBB/phpbb/db/migration/data/v32x/merge_duplicate_bbcodes.php b/phpBB/phpbb/db/migration/data/v32x/merge_duplicate_bbcodes.php
index 08609b571b..71ee19e3dd 100644
--- a/phpBB/phpbb/db/migration/data/v32x/merge_duplicate_bbcodes.php
+++ b/phpBB/phpbb/db/migration/data/v32x/merge_duplicate_bbcodes.php
@@ -46,16 +46,25 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migrat
protected function merge_bbcodes(array $without, array $with)
{
- $merged = $this->container->get('text_formatter.s9e.bbcode_merger')->merge_bbcodes(
- [
- 'usage' => $without['bbcode_match'],
- 'template' => $without['bbcode_tpl']
- ],
- [
- 'usage' => $with['bbcode_match'],
- 'template' => $with['bbcode_tpl']
- ]
- );
+ try
+ {
+ $merged = $this->container->get('text_formatter.s9e.bbcode_merger')->merge_bbcodes(
+ [
+ 'usage' => $without['bbcode_match'],
+ 'template' => $without['bbcode_tpl']
+ ],
+ [
+ 'usage' => $with['bbcode_match'],
+ 'template' => $with['bbcode_tpl']
+ ]
+ );
+ }
+ catch (\Exception $e)
+ {
+ // Ignore the pair and move on. The BBCodes would have to be fixed manually
+ return;
+ }
+
$bbcode_data = [
'bbcode_tag' => $without['bbcode_tag'],
'bbcode_helpline' => $without['bbcode_helpline'] . ' | ' . $with['bbcode_helpline'],
@@ -65,11 +74,11 @@ class merge_duplicate_bbcodes extends \phpbb\db\migration\container_aware_migrat
$sql = 'UPDATE ' . BBCODES_TABLE . '
SET ' . $this->db->sql_build_array('UPDATE', $bbcode_data) . '
- WHERE bbcode_id = ' . $without['bbcode_id'];
+ WHERE bbcode_id = ' . (int) $without['bbcode_id'];
$this->sql_query($sql);
$sql = 'DELETE FROM ' . BBCODES_TABLE . '
- WHERE bbcode_id = ' . $with['bbcode_id'];
+ WHERE bbcode_id = ' . (int) $with['bbcode_id'];
$this->sql_query($sql);
}
}
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 @@
+<?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\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 7d2720c861..3893935723 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;
}
@@ -514,12 +519,6 @@ class module implements \phpbb\db\migration\tool\tool_interface
// Allow '' to be sent as 0
$parent_id = $parent_id ?: 0;
- // If automatic adding is in action, convert array back to string to simplify things
- if (is_array($data) && count($data) == 1)
- {
- $data = $data['module_langname'];
- }
-
if (!is_numeric($parent_id))
{
// Refresh the $module_categories array