From 6dba29b62c74edf28803d455ff73f9c0cbd85f62 Mon Sep 17 00:00:00 2001 From: Dany De Bontridder Date: Sun, 15 Sep 2013 18:09:33 +0000 Subject: [PATCH] Preference are now in a internal windows --- html/ajax_misc.php | 3 + html/do.php | 29 +++++++- html/js/scripts.js | 41 ++++++++++-- include/ac_common.php | 3 +- include/{pref.inc.php => ajax_preference.php} | 66 ++++--------------- include/class_user.php | 11 ++++ include/template/module.php | 3 +- sql/upgrade.sql | 3 +- 8 files changed, 95 insertions(+), 64 deletions(-) rename include/{pref.inc.php => ajax_preference.php} (78%) diff --git a/html/ajax_misc.php b/html/ajax_misc.php index 24f2e3b54..f1216b86d 100644 --- a/html/ajax_misc.php +++ b/html/ajax_misc.php @@ -577,6 +577,9 @@ EOF; case 'navigator': require_once 'ajax_navigator.php'; break; + case 'preference': + require_once 'ajax_preference.php'; + break; default: var_dump($_GET); } diff --git a/html/do.php b/html/do.php index 102c28606..a6e4718d0 100644 --- a/html/do.php +++ b/html/do.php @@ -128,12 +128,37 @@ load_all_script(); $module_selected = -1; +/* + * Set the user preference + */ +if ( isset ($_POST['set_preference'])) { + //// Save value + extract($_POST); + + 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->set_mini_report($minirap); + $_SESSION['g_theme']=$style_user; + $_SESSION['g_pagesize']=$p_size; + $_SESSION['g_lang']=$lang; +} + +/* + * if an action is requested + */ if (isset($_REQUEST['ac'])) { - $_REQUEST['ac']= trim(strtoupper($_REQUEST['ac'])); + $_REQUEST['ac']= trim(strtoupper($_REQUEST['ac'])); $all = explode('/', $_REQUEST['ac']); $module_selected = $all[0]; - $g_user->audit(); + $g_user->audit(); // Show module and highligt selected one show_module($module_selected); for ($i = 0; $i != count($all); $i++) diff --git a/html/js/scripts.js b/html/js/scripts.js index e59e0a055..b094f7d5a 100644 --- a/html/js/scripts.js +++ b/html/js/scripts.js @@ -299,9 +299,8 @@ function toggleHideShow(p_obj,p_button) *@param p_dossier the dossier where to search *@param p_style style of the detail value are E for expert or S for simple */ -function popup_recherche() +function popup_recherche(p_dossier) { - p_dossier=$('gDossier').value; var w=window.open("recherche.php?gDossier="+p_dossier+"&ac=SEARCH",'','statusbar=no,scrollbars=yes,toolbar=no'); w.focus(); } @@ -1800,11 +1799,10 @@ function info_hide() * Show the navigator in a internal window * @returns {undefined} */ -function ask_navigator() { +function ask_navigator(p_dossier) { try { waiting_box(); removeDiv('navi_div') - var p_dossier=$('gDossier').value; var queryString="gDossier="+p_dossier+"&op=navigator"; var action = new Ajax.Request( "ajax_misc.php" , @@ -1832,4 +1830,39 @@ function ask_navigator() { info_message(e.getMessage); } +} +/** + * @brief Display an internal windows to set the user's preference + * + */ +function set_preference(p_dossier) { + try { + waiting_box(); + removeDiv('preference_div') + var queryString="gDossier="+p_dossier+"&op=preference"; + var action = new Ajax.Request( + "ajax_misc.php" , + { + method:'get', parameters:queryString, + onFailure:ajax_misc_failure, + onSuccess:function(req){ + remove_waiting_box(); + add_div({id:'preference_div',style:'top:2em;left:20%;width:50%',cssclass:'inner_box'}); + $('preference_div').innerHTML=req.responseText; + try + { + req.responseText.evalScripts(); + } + catch(e) + { + alert("answer_box Impossible executer script de la reponse\n"+e.message); + } + + } + } + ); + } catch (e) { + info_message(e.getMessage); + } + } \ No newline at end of file diff --git a/include/ac_common.php b/include/ac_common.php index 458cd4518..2d79b9bb1 100644 --- a/include/ac_common.php +++ b/include/ac_common.php @@ -984,7 +984,8 @@ function show_menu($module, $idx) } if ( $file[0]['me_javascript'] != '') { - echo create_script($file[0]['me_javascript']); + $js= str_replace('', dossier::id(), $file[0]['me_javascript']); + echo create_script($js); } } } diff --git a/include/pref.inc.php b/include/ajax_preference.php similarity index 78% rename from include/pref.inc.php rename to include/ajax_preference.php index 7eb199f52..af18fbf03 100644 --- a/include/pref.inc.php +++ b/include/ajax_preference.php @@ -29,6 +29,7 @@ require_once("class_iselect.php"); require_once("class_iperiod.php"); require_once('class_acc_report.php'); require_once('class_periode.php'); +echo HtmlInput::title_box(_('Préférence'), 'preference_div'); echo '
'; //---------------------------------------------------------------------- // @@ -46,39 +47,6 @@ if (isset($_REQUEST['gDossier'])) $inside_dossier = true; $local_pref=$g_user->get_preference(); } -//// Save value -if (isset($_POST['val'])) -{ - extract($_POST); - - if (strlen(trim($pass_1)) != 0 && strlen(trim($pass_2)) != 0) - { - if ($pass_1 == $pass_2) - { - $repo = new Database(); - $l_pass = md5($_POST['pass_1']); - $repo->exec_sql("update ac_users set use_pass=$1 where use_login=$2", array($l_pass, $_SESSION['g_user'])); - $_SESSION['g_pass'] = $_POST['pass_1']; - echo "" . _('Mot de passe est modifiée') . ""; - } - else - { - alert(_("Les mots de passe ne correspondent pas. Mot de passe inchangé")); - } - } - if ($inside_dossier) - { - $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->set_mini_report($minirap); - $_SESSION['g_theme']=$style_user; - $_SESSION['g_pagesize']=$p_size; - $_SESSION['g_lang']=$lang; - } -} - ////////////////////////////////////////////////////////////////////////// // Theme ////////////////////////////////////////////////////////////////////////// @@ -95,16 +63,16 @@ if (isset($_POST['val'])) echo '

' . _('Changez vos préférences') . '

'; ?> -
+
-
+
- @@ -176,7 +144,7 @@ if (isset($_POST['val'])) if ($inside_dossier) { /* Pref for welcome page */ - echo '
'; + echo '
'; echo '' . _('Options pour la page d\'accueil') . ''; echo _('Mini-Rapport : '); $rapport = new Acc_Report($cn); @@ -191,7 +159,7 @@ if (isset($_POST['val'])) echo '
'; } - echo '
'; + echo '
'; echo '' . _('Langue') . ''; echo _('Selectionnez votre langue'); $aLang = array(array(_('Français'), 'fr_FR.utf8'), @@ -209,23 +177,11 @@ if (isset($_POST['val'])) echo ''; echo '
'; - - echo HtmlInput::submit("val", _("Valider")); + echo '

'; + echo HtmlInput::button_close('preference_div'); + echo HtmlInput::submit("set_preference", _("Valider")); + echo '

'; echo ''; - - - - - if (!$inside_dossier) - { - echo HtmlInput::button_anchor(_('Retour'), 'user_login.php?'); - } - else - { - echo HtmlInput::button_anchor(_('Retour'), 'do.php?'.Dossier::get()); - - } - echo ""; ?> diff --git a/include/class_user.php b/include/class_user.php index 357bd165d..62eb6ccba 100644 --- a/include/class_user.php +++ b/include/class_user.php @@ -1132,6 +1132,17 @@ class User return false; return true; } + function save_password($p_pass1, $p_pass2) { + if ($p_pass1 == $p_pass2) { + $repo = new Database(); + $l_pass = md5($_POST['pass_1']); + $repo->exec_sql("update ac_users set use_pass=$1 where use_login=$2", array($l_pass, $_SESSION['g_user'])); + $_SESSION['g_pass'] = $_POST['pass_1']; + echo "" . _('Mot de passe est modifiée') . ""; + } else { + alert(_("Les mots de passe ne correspondent pas. Mot de passe inchangé")); + } + } } diff --git a/include/template/module.php b/include/template/module.php index 69d474147..faf7b4694 100644 --- a/include/template/module.php +++ b/include/template/module.php @@ -73,7 +73,8 @@ endif;?> elseif ($row['me_javascript'] != '') { $url="javascript:void(0)"; - $js=sprintf(' onclick="%s"',$row['me_javascript']); + $js_dossier=str_replace('', Dossier::id(), $row['me_javascript']); + $js=sprintf(' onclick="%s"',$js_dossier); } else { diff --git a/sql/upgrade.sql b/sql/upgrade.sql index b73aec26a..cbe433c6b 100644 --- a/sql/upgrade.sql +++ b/sql/upgrade.sql @@ -87,7 +87,7 @@ update parm_code set p_value='67' where p_value='6740' and p_code='DNA'; insert into menu_ref(me_code,me_menu,me_file, me_url,me_description,me_parameter,me_javascript,me_type,me_description_etendue) values -('NAVI','Navigateur','navigator.inc.php',null,'Menu simplifié pour retrouver rapidement un menu',null,null,'ME','Le navigateur vous présente une liste de menu auquel vous avez accès et vous permet d''accèder plus rapidement au menu que vous souhaitez rapidement'); +('NAVI','Navigateur',null,null,'Menu simplifié pour retrouver rapidement un menu',null,'ask_navigator()','ME','Le navigateur vous présente une liste de menu auquel vous avez accès et vous permet d''accèder plus rapidement au menu que vous souhaitez rapidement'); insert into profile_menu (me_code,me_code_dep,p_id,p_order, p_type_display,pm_default) values @@ -96,6 +96,7 @@ values update menu_ref set me_menu='Impression Journaux' where me_code='PRINTJRN'; update menu_ref set me_description='Impression des journaux' where me_code='PRINTJRN'; update menu_ref set me_description='Liste du Suivi' where me_code='FOLLOW'; +update menu_ref set me_javascript='popup_recherche()' where me_code='SEARCH'; /* * Vue montrant toutes les possibilités
Mot de passe : - + +