[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
This commit is contained in:
Eric
2009-10-08 21:05:08 +00:00
parent 2afb92238d
commit 3a5c8759d1
7 changed files with 80 additions and 0 deletions

View File

@@ -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']));