diff options
author | Eric <eric@piwigo.org> | 2009-10-08 21:05:08 +0000 |
---|---|---|
committer | Eric <eric@piwigo.org> | 2009-10-08 21:05:08 +0000 |
commit | 3a5c8759d18f2b693f63de416435a43cc5cadfbe (patch) | |
tree | 50d1ce04e2c12a4dc46af8e2feec248308f79d90 /profile.php | |
parent | 2afb92238db9fc6a3b478f2fb49cef8672fcb51f (diff) |
[Piwigo] Bug 1079 fixed : Return to default settings in user profile page.
(I don't really enjoy the code but it's the simplest way i've found)
git-svn-id: http://piwigo.org/svn/trunk@3995 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to 'profile.php')
-rw-r--r-- | profile.php | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/profile.php b/profile.php index 2412f2e19..e84ace65b 100644 --- a/profile.php +++ b/profile.php @@ -40,6 +40,79 @@ if (!defined('PHPWG_ROOT_PATH')) trigger_action('loc_begin_profile'); +// Reset to default (Guest) custom settings + if (isset($_POST['reset_to_default'])) + { + global $conf; + // Get the Guest custom settings + $query = 'SELECT * 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 + foreach ($userdata as $key => $valeur) + { + if ($key == 'nb_image_line') + { + $userdata[$key] = $default_user['nb_image_line']; + $_POST['nb_image_line'] = $userdata['nb_image_line']; + } + if ($key == 'nb_line_page') + { + $userdata[$key] = $default_user['nb_line_page']; + $_POST['nb_line_page'] = $userdata['nb_line_page']; + } + if ($key == 'maxwidth') + { + $userdata[$key] = $default_user['maxwidth']; + $_POST['maxwidth'] = $userdata['maxheight']; + } + if ($key == 'maxheight') + { + $userdata[$key] = $default_user['maxheight']; + $_POST['maxheight'] = $userdata['maxheight']; + } + if ($key == 'expand') + { + $userdata[$key] = $default_user['expand']; + $_POST['expand'] = $userdata['expand']; + } + if ($key == 'show_nb_comments') + { + $userdata[$key] = $default_user['show_nb_comments']; + $_POST['show_nb_comments'] = $userdata['show_nb_comments']; + } + if ($key == 'recent_period') + { + $userdata[$key] = $default_user['recent_period']; + $_POST['recent_period'] = $userdata['recent_period']; + } + if ($key == 'show_nb_hits') + { + $userdata[$key] = $default_user['show_nb_hits']; + $_POST['show_nb_hits'] = $userdata['show_nb_hits']; + } + } + } + save_profile_from_post($userdata, $errors); $title= l10n('customize_page_title'); @@ -257,6 +330,7 @@ function load_profile_in_template($url_action, $url_redirect, $userdata) } $language_options[$language_code] = $language_name; } + $template->assign('language_options', $language_options); $special_user = in_array($userdata['id'], array($conf['guest_id'], $conf['default_user_id'])); |