diff options
Diffstat (limited to '')
-rw-r--r-- | include/functions_user.inc.php | 41 | ||||
-rw-r--r-- | profile.php | 2 |
2 files changed, 43 insertions, 0 deletions
diff --git a/include/functions_user.inc.php b/include/functions_user.inc.php index 4d755c445..b8922ffec 100644 --- a/include/functions_user.inc.php +++ b/include/functions_user.inc.php @@ -796,6 +796,47 @@ function get_default_user_info($convert_str = true) unset($cache['default_user']['user_id']); unset($cache['default_user']['status']); unset($cache['default_user']['registration_date']); + + // theme and language fields may be null in the database (see + // bug:1683) This is absolutely not nice to have this code in this + // very place, but it avoids a complexe upgrade with an "automatic + // fix" in the database => this code should be removed after branch + // 2.1 if a migration tasks performs the job the same way + if (empty($cache['default_user']['theme'])) + { + mass_updates( + USER_INFOS_TABLE, + array( + 'primary' => array('user_id'), + 'update' => array('theme') + ), + array( + array( + 'user_id' => $conf['default_user_id'], + 'theme' => PHPWG_DEFAULT_TEMPLATE + ) + ) + ); + $cache['default_user']['theme'] = PHPWG_DEFAULT_TEMPLATE; + } + + if (empty($cache['default_user']['language'])) + { + mass_updates( + USER_INFOS_TABLE, + array( + 'primary' => array('user_id'), + 'update' => array('language') + ), + array( + array( + 'user_id' => $conf['default_user_id'], + 'language' => PHPWG_DEFAULT_LANGUAGE + ) + ) + ); + $cache['default_user']['language'] = PHPWG_DEFAULT_LANGUAGE; + } } } diff --git a/profile.php b/profile.php index 8a36d131c..fbbe46df1 100644 --- a/profile.php +++ b/profile.php @@ -105,6 +105,8 @@ function save_profile_from_post($userdata, &$errors) $_POST['theme'], $_POST['language'] ); + $_POST['theme'] = get_default_theme(); + $_POST['language'] = get_default_language(); } if ($conf['allow_user_customization'] or defined('IN_ADMIN')) |