aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb
diff options
context:
space:
mode:
authorPayBas <contact@paybas.com>2014-05-18 15:55:28 +0200
committerPayBas <contact@paybas.com>2014-05-19 12:04:47 +0200
commit9ddf02243e37adb27984ef34e208943a413266b8 (patch)
tree1545d0108869d75be6d9f3a7b9c56e828ae5f596 /phpBB/phpbb
parenta2cd9c2464b2f83ec005831955d2f027c9c0210a (diff)
downloadforums-9ddf02243e37adb27984ef34e208943a413266b8.tar
forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.gz
forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.bz2
forums-9ddf02243e37adb27984ef34e208943a413266b8.tar.xz
forums-9ddf02243e37adb27984ef34e208943a413266b8.zip
[ticket/12561] Add "after" check to schema_generator for columns_add
PHPBB3-12561
Diffstat (limited to 'phpBB/phpbb')
-rw-r--r--phpBB/phpbb/db/migration/schema_generator.php12
1 files changed, 11 insertions, 1 deletions
diff --git a/phpBB/phpbb/db/migration/schema_generator.php b/phpBB/phpbb/db/migration/schema_generator.php
index 5d40b0b26f..872430e078 100644
--- a/phpBB/phpbb/db/migration/schema_generator.php
+++ b/phpBB/phpbb/db/migration/schema_generator.php
@@ -107,7 +107,17 @@ class schema_generator
{
foreach ($add_columns as $column => $column_data)
{
- $this->tables[$table]['COLUMNS'][$column] = $column_data;
+ if (isset($column_data['after']))
+ {
+ $columns = $this->tables[$table]['COLUMNS'];
+ $offset = array_search($column_data['after'], array_keys($columns));
+ unset($column_data['after']);
+ $this->tables[$table]['COLUMNS'] = array_merge(array_slice($columns, 0, $offset + 1, true), array($column => array_values($column_data)), array_slice($columns, $offset));
+ }
+ else
+ {
+ $this->tables[$table]['COLUMNS'][$column] = $column_data;
+ }
}
}
}