diff options
author | Rubén Calvo <rubencm@gmail.com> | 2017-04-29 09:47:48 +0200 |
---|---|---|
committer | Rubén Calvo <rubencm@gmail.com> | 2017-08-28 18:33:38 +0200 |
commit | 13b0f399612bf3c3f6ce04bda46429dab572e590 (patch) | |
tree | 448924141985f4e15099f2d32558564064ddd31c /phpBB/phpbb/db/migration/data | |
parent | 4719f94cecd8a3f585c9ca1c75336aa109849844 (diff) | |
download | forums-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.php | 50 |
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)); + } +} |