aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorplegall <plg@piwigo.org>2010-05-23 23:42:03 +0000
committerplegall <plg@piwigo.org>2010-05-23 23:42:03 +0000
commit9bef83abe8f266ac0f2e7e367a1cb218aa247407 (patch)
treec84a83cd5fc917fea76c82c4ea76998ebfda3681
parent7dccde68f1163953d81865304823f50d5a344c66 (diff)
merge r6311 from branch 2.1 to trunk
bug 1683 fixed: as soon as an admin modifies the admin>conf>options>guest settings, registration is broken. This is because user_infos.theme/language are emptied (while they should not). I have also added an "automatic repair" piece of code in get_default_user_info function. This piece of code should be removed for 2.2 with the appropriate migration task. git-svn-id: http://piwigo.org/svn/trunk@6314 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r--include/functions_user.inc.php41
-rw-r--r--profile.php2
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'))