aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--profile.php57
1 files changed, 23 insertions, 34 deletions
diff --git a/profile.php b/profile.php
index a855ba035..f5cc440f9 100644
--- a/profile.php
+++ b/profile.php
@@ -40,45 +40,34 @@ if (!defined('PHPWG_ROOT_PATH'))
trigger_action('loc_begin_profile');
- // Reset to default (Guest) custom settings
+// Reset to default (Guest) custom settings
if (isset($_POST['reset_to_default']))
{
- global $conf;
+ // mass_updates function
+ include_once(PHPWG_ROOT_PATH.'admin/include/functions.php');
+
+ $fields = array(
+ 'nb_image_line', 'nb_line_page', 'maxwidth', 'maxheight', 'expand',
+ 'show_nb_comments', 'show_nb_hits', 'recent_period', 'show_nb_hits'
+ );
+
// Get the Guest custom settings
$query = '
-SELECT * FROM '.USER_INFOS_TABLE.'
-WHERE user_id = '.$conf['default_user_id'].
-';';
-
+SELECT '.implode(',', $fields).'
+ FROM '.USER_INFOS_TABLE.'
+ WHERE user_id = '.$conf['default_user_id'].'
+;';
$result = pwg_query($query);
-
- $cache['default_user'] = mysql_fetch_assoc($result);
-
- $default_user = array();
-
- foreach ($cache['default_user'] as $name => $value)
- {
- // If the field is true or false, the variable is transformed into a
- // boolean value.
- if ($value == 'true' or $value == 'false')
- {
- $default_user[$name] = get_boolean($value);
- }
- else
- {
- $default_user[$name] = $value;
- }
- }
- // Changing $userdata array values with default ones
- $userdata_params = array('nb_image_line', 'nb_line_page',
- 'maxwidth', 'maxheight', 'expand',
- 'show_nb_comments', 'show_nb_hits');
- foreach ($userdata_params as $key)
- {
- $userdata[$key] = $default_user[$key];
- $_POST[$key] = $userdata[$key];
- }
- }
+ $default_user = mysql_fetch_assoc($result);
+ $userdata = array_merge($userdata, $default_user);
+
+ mass_updates(
+ USER_INFOS_TABLE,
+ array('primary' => array('user_id'), 'update' => $fields),
+ array($userdata)
+ );
+ }
+
save_profile_from_post($userdata, $errors);
$title= l10n('customize_page_title');