noalyss-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Noalyss-commit] [noalyss] 59/107: #0001729: Preference : ne plus rechar


From: Dany De Bontridder
Subject: [Noalyss-commit] [noalyss] 59/107: #0001729: Preference : ne plus recharger la page
Date: Mon, 26 Aug 2019 10:31:58 -0400 (EDT)

sparkyx pushed a commit to branch master
in repository noalyss.

commit 71c26d81be0b50e8e93c14e7d18f3e2b4df72c83
Author: Dany De Bontridder <address@hidden>
Date:   Tue Jul 30 22:27:55 2019 +0200

    #0001729: Preference : ne plus recharger la page
---
 html/ajax_misc.php               | 12 ++++--
 html/do.php                      | 36 ----------------
 html/js/scripts.js               | 28 +++++++++++-
 html/user_login.php              | 23 ----------
 include/ajax/ajax_preference.php | 93 +++++++++++++++++++++++++++++++++-------
 include/lib/ac_common.php        |  2 +-
 6 files changed, 115 insertions(+), 79 deletions(-)

diff --git a/html/ajax_misc.php b/html/ajax_misc.php
index 39371f2..928713e 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 715dcf8..fa90b49 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 ec64b84..140305d 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 d1f0376..cd40014 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 '<div class="welcome"> ';
 /**
  *
diff --git a/include/ajax/ajax_preference.php b/include/ajax/ajax_preference.php
index 07f62bf..02f0028 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 '<DIV class="content">';
-echo '<p class="notice">';
-echo _("Si vous validez, la page sera rechargée et vous pourriez perdre ce que 
vous faisiez");
-echo '</p>';
-//----------------------------------------------------------------------
-//
+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 '<DIV class="content">';
+    echo '<p class="notice">';
+    echo _("Après validation, recharger si vous changez la langue");
+    echo '</p>';
+    //----------------------------------------------------------------------
+    //
 ?>
 
 <div class="content" >
 
-    <FORM  METHOD="POST">
+    <FORM  METHOD="POST" onsubmit="updatePreference();return false;" 
id="preference_frm">
        <fieldset style="margin: 1%"><legend><?php echo _('Options 
Générales')?></legend>
            <table>
                 <tr>
@@ -272,3 +283,55 @@ if (isset($_REQUEST['gDossier']) && 
$_REQUEST['gDossier']<>0)
 
        echo "</DIV>";
        ?>
+<?php
+}
+//---------------------------------------------------------------------------------------------------------------------
+// Save the form
+//---------------------------------------------------------------------------------------------------------------------
+if ($action == 'save')
+{
+       //// 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","");
+    $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);
+        
+    }
+    if ( $inside_dossier)
+    {
+        $minirap=$http->post("minirap","number","0");
+        $period=$http->post("period","number");
+        $g_user->set_periode($period);
+        $g_user->set_mini_report($minirap);
+    }
+    $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->save_email($p_email);
+    
+    $_SESSION['g_theme']=$style_user;
+    $_SESSION['g_pagesize']=$p_size;
+    $_SESSION['g_lang']=$lang;
+    
+    // find the right CSS theme
+    $style= $repo->get_value("select the_filestyle from theme
+                           where the_name=$1" ,[$style_user]);
+    if ($style == "")
+    {
+        $style = "style-classic7.css";
+    }
+    json_response(["style"=>$style]);
+    
+}
\ No newline at end of file
diff --git a/include/lib/ac_common.php b/include/lib/ac_common.php
index 86d40f4..0b46cf6 100644
--- a/include/lib/ac_common.php
+++ b/include/lib/ac_common.php
@@ -337,7 +337,7 @@ function html_page_start($p_theme="", $p_script="", 
$p_script2="")
     <TITLE>$title</TITLE>
        <link rel=\"icon\" type=\"image/ico\" href=\"favicon.ico\" />
     <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">
-    <LINK REL=\"stylesheet\" type=\"text/css\" 
href=\"".$style."?version=".SVNINFO."\" media=\"screen\"/>
+    <LINK id=\"pagestyle\" REL=\"stylesheet\" type=\"text/css\" 
href=\"".$style."?version=".SVNINFO."\" media=\"screen\"/>
     <link rel=\"stylesheet\" type=\"text/css\" 
href=\"./style-print.css?version=".SVNINFO."\" media=\"print\"/>" .
     $p_script2 . "
     ";



reply via email to

[Prev in Thread] Current Thread [Next in Thread]