"._('Vous êtes déconnecté').""; $backurl=$_SERVER['REQUEST_URI']; $url="index.php?".http_build_query(array('reconnect'=>1,'backurl'=>urlencode($backurl))); redirect($url); exit(); } $cn = Dossier::connect(); global $g_user, $cn,$g_parameter,$http; $g_user = new Noalyss_user($cn); $http=new HttpInput(); IDate::set_firstDate($g_user->get_first_week_day()); ITva_Popup::set_vat_code($g_user->get_vat_code_preference()); /* * check that the database is not empty */ if ( ! $cn->exist_table('version')) { echo '

'._('Désolé').'

'; echo _('Ce dossier est vide'); echo '

'; echo ''._("Retour à l'accueil").''; echo '

'; return; } global $level; $level=0; /** * if access_mode is MOBILE than force it to mobile.php */ if ($g_user->get_access_mode()=='MOBILE') { require NOALYSS_HOME."/mobile.php"; return;} $style_user=$http->post("style_user","string",$_SESSION[SESSION_KEY.'g_theme']); html_page_start($style_user); // check that the current user is saved into PostgreSQL setting in order to use it in PLPGSQL \Noalyss\Dbg::echo_var(1,sprintf("current user is [%s]",$cn->get_value("select current_setting('noalyss.user_login')"))); if ( DEBUGNOALYSS > 1 ) { /** * Debug Design */ \Noalyss\Dbg::display_size(); \Noalyss\Dbg::display_request(); \Noalyss\Dbg::display_global(); } //<--- if DEBUG $g_parameter=new Noalyss_Parameter_Folder($cn); $g_user->Check(); if ( ! $g_user->is_double_identified()) { echo "

"._('Vous êtes déconnecté')."

"; $backurl=$_SERVER['REQUEST_URI']; $url="index.php?".http_build_query(array('reconnect'=>1,'backurl'=>urlencode($backurl))); redirect($url); exit(); } $g_user->check_dossier(Dossier::id()); load_all_script(); /* Check Browser version if < IE6 then unsupported */ $browser = $_SERVER['HTTP_USER_AGENT']; if (strpos($browser, 'MSIE 6') != false || strpos($browser, 'MSIE 5') != false) { echo <<
Close this notice
Warning!
Vous utilisez un navigateur dépassé depuis près de 8 ans!
Pour une meilleure expérience web, prenez le temps de mettre votre navigateur à jour.
Get Firefox 3.5
Get Safari 4
Get Google Chrome
EOF; exit(); } if ($cn->exist_table('version') == false) { echo '

' . _("Base de donnée invalide") . '

'; $base = dirname($_SERVER['REQUEST_URI']); echo HtmlInput::button_anchor('Retour', $base . '/user_login.php'); exit(); } if (DBVERSION < dossier::get_version($cn)) { $a = _("cliquez ici pour mettre à jour "); $base =NOALYSS_URL."/admin-noalyss.php?action=upgrade&sb=application"; echo '

' . _("Attention: la version de base de donnée est supérieure à la version du programme, vous devriez mettre à jour") , '' . $a . '

', ''; } if (DBVERSION > dossier::get_version($cn)) { echo '

' . _("Votre base de données n'est pas à jour") . ' '; $a = _("cliquez ici pour appliquer le patch"); $base =NOALYSS_URL.'/admin-noalyss.php?action=upgrade&sb=database'; echo '' . $a . '

'; } /* * Set a correct periode for the user */ $periode = $g_user->get_periode(); $oPeriode = new Periode($cn, $periode); if ($oPeriode->load() == -1) { $periode = $cn->get_value('select p_id from parm_periode order by p_start asc limit 1'); $g_user->set_periode($periode); } $module_selected = -1; ?> 0) $last--; fwrite ($file_loginput,"post("ac","string",""))); $ac_get = trim(strtoupper($http->get("ac","string",""))); $AC=($ac_post == "")?$ac_get:$ac_post; $user_profile=$g_user->get_profile(); $amenu_id=$cn->get_array('select pm_id_v3,pm_id_v2,pm_id_v1 from v_menu_profile where code= upper($1) and p_id=$2', array($AC,$user_profile)); try { if (count($amenu_id) == 0 ) { // if only an Access Direct is asked without the full path $aAccess=[]; // Find the possible path pm_id_v3 / pm_id_v2 / pm_id_v1 $direct_ac=$cn->get_array("select me_file,me_parameter,me_javascript from profile_menu join menu_ref using (me_code) where p_id=$2 and me_code=$1", [strtoupper($AC),$user_profile]); // if the me_code is available for user, find all the possible path if (!empty($direct_ac)) { $aAccess=$cn->get_array("select code, me_code from v_menu_description where me_code=$1 and p_id=$2", [strtoupper($AC),$user_profile]); } if (empty($aAccess)) { throw new Exception(_('Erreur menu'),10); } // retrieve the element path $amenu_id=$cn->get_array('select pm_id_v3,pm_id_v2,pm_id_v1 from v_menu_profile where code= upper($1) and p_id=$2', array($aAccess[0]['code'],$user_profile)); } if ( count($amenu_id)> 1) { $tmp=$amenu_id[0]; $amenu_id=[]; $amenu_id[0]=$tmp; } $amenu_id=complete_default_menu($amenu_id,$user_profile); $AC=rebuild_access_code($amenu_id); put_global(array(array("key"=>"ac","value"=>$AC))); $module_id=$cn->get_value('select distinct case when pm_id_v3 = 0 then (case when pm_id_v2 = 0 then pm_id_v1 else pm_id_v2 end) else pm_id_v3 end from v_menu_profile where p_id =$1 and upper(code)=upper($2)', array($user_profile,$AC)); $g_user->audit(); // Show module and highligt selected one show_module($module_id); global $level; $level = 0; show_menu( $amenu_id[0]['pm_id_v3']); show_menu( $amenu_id[0]['pm_id_v2']); show_menu($amenu_id[0]['pm_id_v1']); } catch (Exception $e) { if ( $e->getCode() == 10 ) { alert(_('Accès menu impossible')); echo ''; echo _('Retour'); echo ''; return; } else { alert($e->getMessage()); record_log($e); throw $e; } } } else { $default = find_default_module(); $user_profile=$g_user->get_profile(); try { if ( $user_profile == "" ) throw new Exception (_('Aucun profil utilisateur')); $menu_id=$cn->get_value('select case when pm_id_v3 = 0 then (case when pm_id_v2 = 0 then pm_id_v1 else pm_id_v2 end) else pm_id_v3 end from v_menu_profile where code= upper($1) and p_id=$2', array($default,$user_profile)); $_GET['ac']=$default; $_POST['ac']=$default; $_REQUEST['ac']=$default; show_module($menu_id); $all[0] = $default; show_menu($menu_id); } catch (Exception $exc) { echo $exc->getMessage(); record_log("No user profile "); record_log($exc); throw $exc; } }