aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/db/migration/data
diff options
context:
space:
mode:
authorRubén Calvo <rubencm@gmail.com>2017-04-29 09:47:48 +0200
committerRubén Calvo <rubencm@gmail.com>2017-08-28 18:33:38 +0200
commit13b0f399612bf3c3f6ce04bda46429dab572e590 (patch)
tree448924141985f4e15099f2d32558564064ddd31c /phpBB/phpbb/db/migration/data
parent4719f94cecd8a3f585c9ca1c75336aa109849844 (diff)
downloadforums-13b0f399612bf3c3f6ce04bda46429dab572e590.tar
forums-13b0f399612bf3c3f6ce04bda46429dab572e590.tar.gz
forums-13b0f399612bf3c3f6ce04bda46429dab572e590.tar.bz2
forums-13b0f399612bf3c3f6ce04bda46429dab572e590.tar.xz
forums-13b0f399612bf3c3f6ce04bda46429dab572e590.zip
[ticket/15201] Migration to fix current invalid styles
PHPBB3-15201
Diffstat (limited to 'phpBB/phpbb/db/migration/data')
-rw-r--r--phpBB/phpbb/db/migration/data/v32x/fix_user_styles.php50
1 files changed, 50 insertions, 0 deletions
diff --git a/phpBB/phpbb/db/migration/data/v32x/fix_user_styles.php b/phpBB/phpbb/db/migration/data/v32x/fix_user_styles.php
new file mode 100644
index 0000000000..e0caae812a
--- /dev/null
+++ b/phpBB/phpbb/db/migration/data/v32x/fix_user_styles.php
@@ -0,0 +1,50 @@
+<?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 fix_user_styles extends \phpbb\db\migration\migration
+{
+
+ static public function depends_on()
+ {
+ return array(
+ '\phpbb\db\migration\data\v320\v320',
+ );
+ }
+
+ public function update_data()
+ {
+ return array(
+ array('custom', array(array($this, 'styles_fix'))),
+ );
+ }
+
+ public function styles_fix()
+ {
+ $default_style = (int) $this->config['default_style'];
+
+ // Get enabled styles
+ $sql = 'SELECT style_id
+ FROM ' . STYLES_TABLE . '
+ WHERE style_active = 1';
+ $result = $this->db->sql_query($sql);
+ $enabled_styles = $result->fetch_array();
+ $this->db->sql_freeresult($result);
+
+ // Set the default style to users who have an invalid style
+ $this->sql_query('UPDATE ' . USERS_TABLE . "
+ SET user_style = $default_style
+ WHERE " . $this->db->sql_in_set('user_style', $enabled_styles, true));
+ }
+}