diff --git a/html/ajax_misc.php b/html/ajax_misc.php
index 39371f252..928713e65 100644
--- a/html/ajax_misc.php
+++ b/html/ajax_misc.php
@@ -51,7 +51,7 @@ $http=new HttpInput();
mb_internal_encoding("UTF-8");
-$var = array('gDossier', 'op');
+$var = array( 'op');
$cont = 0;
/* check if mandatory parameters are given */
foreach ($var as $v)
@@ -62,8 +62,14 @@ foreach ($var as $v)
$cont = 1;
}
}
-if ($cont != 0)
- exit();
+
+// If not connected to a folder
+if ( ! isset($_REQUEST['gDossier'])) {
+ $gDossier=0;
+}
+
+if ($cont != 0) exit();
+
extract($_REQUEST, EXTR_SKIP );
if ( isset($div)) ajax_disconnected($div);
global $g_user, $cn, $g_parameter;
diff --git a/html/do.php b/html/do.php
index 715dcf87f..fa90b492c 100644
--- a/html/do.php
+++ b/html/do.php
@@ -68,42 +68,6 @@ if ( ! $cn->exist_table('version')) {
return;
}
-/*
- * Set the user preference
- */
-if ( isset ($_POST['set_preference'])) {
- //// Save value
- $style_user=$http->post("style_user","string","Classique");
- $lang=$http->post("lang","string","fr_FR.utf8");
- $p_size=$http->post("p_size","number",50);
- $pass_1=$http->post("pass_1","string","");
- $pass_2=$http->post("pass_2","string","");
- $p_email=$http->post("p_email","string","");
- $minirap=$http->post("minirap","number",0);
- $period=$http->post("period","number");
- $csv_fieldsep=$http->post("csv_fieldsep","number");
- $csv_decimal=$http->post("csv_decimal","number");
- $csv_encoding=$http->post("csv_encoding");
-
- if (strlen(trim($pass_1)) != 0 && strlen(trim($pass_2)) != 0)
- {
- $g_user->save_password($pass_1,$pass_2);
-
- }
- $g_user->set_periode($period);
- $g_user->save_global_preference('THEME', $style_user);
- $g_user->save_global_preference('LANG', $lang);
- $g_user->save_global_preference('PAGESIZE', $p_size);
- $g_user->save_global_preference('csv_fieldsep', $csv_fieldsep);
- $g_user->save_global_preference('csv_decimal', $csv_decimal);
- $g_user->save_global_preference('csv_encoding', $csv_encoding);
-
- $g_user->set_mini_report($minirap);
- $_SESSION['g_theme']=$style_user;
- $_SESSION['g_pagesize']=$p_size;
- $_SESSION['g_lang']=$lang;
- $g_user->save_email($p_email);
-}
$style_user=$http->post("style_user","string",$_SESSION['g_theme']);
html_page_start($style_user);
diff --git a/html/js/scripts.js b/html/js/scripts.js
index ec64b844a..140305d9a 100644
--- a/html/js/scripts.js
+++ b/html/js/scripts.js
@@ -3542,4 +3542,30 @@ function toggle_lock(p_domid)
}
-}
\ No newline at end of file
+}
+
+/***
+ * Update Preference, applied the new CSS
+ */
+function updatePreference()
+{
+ try {
+ waiting_box();
+ var param=$('preference_frm').serialize()+"&op=preference&action=save";
+
+ new Ajax.Request("ajax_misc.php",{
+ method:"post",
+ parameters:param,
+ onSuccess:function (req) {
+ var style=req.responseText.evalJSON();
+ $('pagestyle').setAttribute('href',style.style);
+ removeDiv('preference_div');
+ }
+ });
+ } catch (e)
+ {
+ smoke.alert(content[48] + e.message);
+ }
+ remove_waiting_box();
+
+}
diff --git a/html/user_login.php b/html/user_login.php
index d1f037656..cd40014b5 100644
--- a/html/user_login.php
+++ b/html/user_login.php
@@ -114,29 +114,6 @@ include_once NOALYSS_INCLUDE."/lib/user_menu.php";
$priv=($User->admin==1)?_("Administrateur"):_("Utilisateur");
load_all_script();
-if ( isset ($_POST['set_preference'])) {
- //// Save value
- $pass_1=$hi->post("pass_1","string", "");
- $pass_2=$hi->post("pass_2","string", "");
- $style_user=$hi->post("style_user","string", "");
- $lang=$hi->post("lang", "string","");
- $p_email=$hi->post("email","string", "");
- if (strlen(trim($pass_1)) != 0 && strlen(trim($pass_2)) != 0)
- {
- $User->save_password($pass_1,$pass_2);
-
- }
- if (trim($style_user) != "") {
- $User->save_global_preference('THEME',$style_user);
- $_SESSION['g_theme']=$style_user;
- }
- if (trim($lang) != "") {
- $User->save_global_preference('LANG', $lang);
- $_SESSION['g_lang']=$lang;
- }
- $User->load();
- $User->save_email($p_email);
-}
echo '
';
/**
*
diff --git a/include/ajax/ajax_preference.php b/include/ajax/ajax_preference.php
index 07f62bf5e..02f0028d3 100644
--- a/include/ajax/ajax_preference.php
+++ b/include/ajax/ajax_preference.php
@@ -28,26 +28,24 @@ require_once NOALYSS_INCLUDE.'/lib/iperiod.class.php';
require_once NOALYSS_INCLUDE.'/class/acc_report.class.php';
require_once NOALYSS_INCLUDE.'/class/periode.class.php';
require_once NOALYSS_INCLUDE.'/class/exercice.class.php';
-echo HtmlInput::title_box(_('Préférence'), 'preference_div');
-echo '
';
-echo '
';
-echo _("Si vous validez, la page sera rechargée et vous pourriez perdre ce que vous faisiez");
-echo '
';
-//----------------------------------------------------------------------
-//
+require_once NOALYSS_INCLUDE.'/lib/http_input.class.php';
+
+
global $g_user;
$g_user=new User($cn);
$inside_dossier = false;
+$http=new HttpInput();
+$action=$http->post("action","string","display_form");
-if (isset($_REQUEST['gDossier']) && $_REQUEST['gDossier']<>0)
+if (isset($_REQUEST['gDossier']) && $http->request("gDossier","number",0) != 0 )
{
- $g_user->load_global_pref();
- $msg = "";
- $cn =Dossier::connect();
- $g_user->cn = $cn;
- $inside_dossier = true;
- $local_pref=$g_user->get_preference();
+ $g_user->load_global_pref();
+ $msg = "";
+ $cn =Dossier::connect();
+ $g_user->cn = $cn;
+ $inside_dossier = true;
+ $local_pref=$g_user->get_preference();
}
//////////////////////////////////////////////////////////////////////////
// Theme
@@ -62,11 +60,24 @@ if (isset($_REQUEST['gDossier']) && $_REQUEST['gDossier']<>0)
from theme
order by the_name");
$style->selected =$_SESSION['g_theme'];
+
+//----------------------------------------------------------------------------------------------
+// Display the form
+//----------------------------------------------------------------------------------------------
+if ( $action == 'display_form' )
+{
+ echo HtmlInput::title_box(_('Préférence'), 'preference_div');
+ echo '
';
+ echo '
';
+ echo _("Après validation, recharger si vous changez la langue");
+ echo '
';
+ //----------------------------------------------------------------------
+ //
?>