From d17308e9c8eed47d7284a5bb85facdd926bfef20 Mon Sep 17 00:00:00 2001 From: sparkyx Date: Sun, 12 Dec 2004 18:22:05 +0000 Subject: [PATCH] CheckJrn improved, for access to Grand Livre --- include/check_priv.php | 19 +++++++++++++++++-- include/user_action_gl.php | 3 +++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/include/check_priv.php b/include/check_priv.php index 478349a0f..9d5fa32a6 100644 --- a/include/check_priv.php +++ b/include/check_priv.php @@ -43,9 +43,23 @@ include_once("postgres.php"); function CheckJrn($p_dossier,$p_user,$p_jrn) { if ( CheckIsAdmin( $p_user) == 1 ) return 2; - $l_Db=sprintf("dossier%d",$p_dossier); $cn=DbConnect($l_Db); + // Special + // p_jrn = 0 ==> grand livre access if there is no uj_prix=X + if ( $p_jrn == 0 ) { + // $n_jrn=CountSql($cn,"select jrn_def_id from jrn_def"); + $n_for=CountSql($cn,"select jrn_def_id,uj_priv + from jrn_def left join user_sec_jrn on uj_jrn_id=jrn_def_id + where uj_login='$p_user' and uj_priv='X'"); + if ( $n_for == 0 ) + return 2; + else + return 0; + + + } + // droit spécifique $Res2=ExecSql($cn,"select jrn_def_id,uj_priv from jrn_def left join user_sec_jrn on uj_jrn_id=jrn_def_id @@ -55,7 +69,8 @@ function CheckJrn($p_dossier,$p_user,$p_jrn) $cn=DbConnect(); // droit par défaut $Res=ExecSql($cn," select * - from ac_users left join jnt_use_dos using (use_id) left join priv_user on (priv_jnt=jnt_id) + from ac_users left join jnt_use_dos using (use_id) + left join priv_user on (priv_jnt=jnt_id) where use_login='$p_user' and dos_id=$p_dossier"); diff --git a/include/user_action_gl.php b/include/user_action_gl.php index 767121b1d..36e3fcf48 100644 --- a/include/user_action_gl.php +++ b/include/user_action_gl.php @@ -28,6 +28,9 @@ include("jrn.php"); $dossier=sprintf("dossier%d",$g_dossier); $cn=DbConnect($dossier); +if (CheckJrn($g_dossier,$g_user,0) < 1 ) + {NoAccess();exit -1;} + ?>