From 3a5c8759d18f2b693f63de416435a43cc5cadfbe Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 8 Oct 2009 21:05:08 +0000 Subject: [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 --- language/de_DE/common.lang.php | 1 + language/en_UK/common.lang.php | 1 + language/es_ES/common.lang.php | 1 + language/fr_FR/common.lang.php | 1 + language/it_IT/common.lang.php | 1 + profile.php | 74 +++++++++++++++++++++++++++++++++++++++ template/yoga/profile_content.tpl | 1 + 7 files changed, 80 insertions(+) diff --git a/language/de_DE/common.lang.php b/language/de_DE/common.lang.php index 15f141c72..f91e80379 100644 --- a/language/de_DE/common.lang.php +++ b/language/de_DE/common.lang.php @@ -365,6 +365,7 @@ $lang['group by letters'] = 'Gruppieren nach Buchstaben'; $lang['letters'] = 'Buchstaben'; $lang['show tag cloud'] = 'zeigen die Tag-Wolke'; $lang['cloud'] = 'Wolke'; +$lang['Reset_To_Default'] = 'Zurücksetzen auf Standardwerte'; // --------- Starting below: New or revised $lang ---- from Colibri (2.1) /* TODO */ $lang['del_all_favorites_hint'] = 'delete all images from your favorites'; /* TODO */ $lang['Sent by'] = 'Sent by'; diff --git a/language/en_UK/common.lang.php b/language/en_UK/common.lang.php index b7ebe47ac..6ae21a531 100644 --- a/language/en_UK/common.lang.php +++ b/language/en_UK/common.lang.php @@ -365,6 +365,7 @@ $lang['group by letters'] = 'group by letters'; $lang['letters'] = 'letters'; $lang['show tag cloud'] = 'show tag cloud'; $lang['cloud'] = 'cloud'; +$lang['Reset_To_Default'] = 'Reset to default values'; // --------- Starting below: New or revised $lang ---- from Colibri (2.1) $lang['del_all_favorites_hint'] = 'delete all images from your favorites'; $lang['Sent by'] = 'Sent by'; diff --git a/language/es_ES/common.lang.php b/language/es_ES/common.lang.php index 85a74e059..62f73221b 100644 --- a/language/es_ES/common.lang.php +++ b/language/es_ES/common.lang.php @@ -365,6 +365,7 @@ $lang['group by letters'] = 'Reagrupar por letras'; $lang['letters'] = 'letras'; $lang['show tag cloud'] = 'mostrar la nube de tags'; $lang['cloud'] = 'nube'; +$lang['Reset_To_Default'] = 'Restablecer los valores predeterminados'; // --------- Starting below: New or revised $lang ---- from Colibri (2.1) $lang['del_all_favorites_hint'] = 'Suprimir todas las imágenes de sus favoritos'; /* TODO */ $lang['Sent by'] = 'Sent by'; diff --git a/language/fr_FR/common.lang.php b/language/fr_FR/common.lang.php index 791a90e88..52cdd70bf 100644 --- a/language/fr_FR/common.lang.php +++ b/language/fr_FR/common.lang.php @@ -365,4 +365,5 @@ $lang['group by letters'] = 'regrouper par lettres'; $lang['letters'] = 'lettres'; $lang['show tag cloud'] = 'montrer le nuage de tags'; $lang['cloud'] = 'nuage'; +$lang['Reset_To_Default'] = 'Rétablir les valeurs par défaut'; ?> diff --git a/language/it_IT/common.lang.php b/language/it_IT/common.lang.php index 84bb393b8..4a47cb585 100644 --- a/language/it_IT/common.lang.php +++ b/language/it_IT/common.lang.php @@ -365,6 +365,7 @@ $lang['group by letters'] = 'ragruppare per lettera'; $lang['letters'] = 'lettere'; $lang['show tag cloud'] = 'fare salire la nuvola di tags'; $lang['cloud'] = 'nuvola'; +$lang['Reset_To_Default'] = 'Ripristinare le impostazioni predefinite'; // --------- Starting below: New or revised $lang ---- from Colibri (2.1) $lang['del_all_favorites_hint'] = 'cancellare tutte le immagini dai vostri favoriti'; $lang['Sent by'] = 'Mandato da'; 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'])); diff --git a/template/yoga/profile_content.tpl b/template/yoga/profile_content.tpl index 813630b43..e81a28c63 100644 --- a/template/yoga/profile_content.tpl +++ b/template/yoga/profile_content.tpl @@ -103,6 +103,7 @@

+

-- cgit v1.2.3