diff options
Diffstat (limited to 'phpBB/includes/session.php')
| -rw-r--r-- | phpBB/includes/session.php | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php index 532382cc4d..21da3a82ed 100644 --- a/phpBB/includes/session.php +++ b/phpBB/includes/session.php @@ -789,6 +789,27 @@ class user extends session $this->theme = $db->sql_fetchrow($result); $db->sql_freeresult($result); + // User has wrong style + if (!$this->theme && $style == $this->data['user_style']) + { + $style = $this->data['user_style'] = $config['default_style']; + + $sql = 'UPDATE ' . USERS_TABLE . " + SET user_style = $style + WHERE user_id = {$this->data['user_id']}"; + $db->sql_query($sql); + + $sql = 'SELECT s.style_id, t.*, c.*, i.* + FROM ' . STYLES_TABLE . ' s, ' . STYLES_TPL_TABLE . ' t, ' . STYLES_CSS_TABLE . ' c, ' . STYLES_IMAGE_TABLE . " i + WHERE s.style_id = $style + AND t.template_id = s.template_id + AND c.theme_id = s.theme_id + AND i.imageset_id = s.imageset_id"; + $result = $db->sql_query($sql); + $this->theme = $db->sql_fetchrow($result); + $db->sql_freeresult($result); + } + if (!$this->theme) { trigger_error('Could not get style data', E_USER_ERROR); |
