cn = $p_cn; } /** * Display the content of a profile * @param type $resource * @param type $p_id */ function sub_menu($resource, $p_id) { if (Database::num_row($resource) != 0) { $gDossier = dossier::id(); echo ''; } // end if } /** * Show a table with all the menu and the type * @param type $p_id profile.p_id */ function listing_profile($p_id) { $array = $this->cn->get_array(" SELECT pm_id, pm.me_code, me_code_dep, p_id, p_order, p_type_display, pm_default, pm_desc, me_menu, me_description FROM profile_menu as pm join profile_menu_type on (p_type_display=pm_type) join menu_ref as mr on (mr.me_code=pm.me_code) where p_id=$1 and p_type_display='M' order by p_order asc ", array($p_id)); if (count($array) == 0) { // if not module show only menu $ret = $this->cn->exec_sql(" SELECT pm_id, pm.me_code, me_code_dep, p_id, p_order, p_type_display, pm_default, pm_desc, me_menu, me_description FROM profile_menu as pm join profile_menu_type on (p_type_display=pm_type) join menu_ref as mr on (mr.me_code=pm.me_code) where p_id=$1 and p_type_display='E' order by p_order asc ", array($p_id)); echo ''; } else { $this->cn->prepare("menu", " SELECT pm_id, pm.me_code, me_code_dep, p_id, p_order, p_type_display, pm_default, pm_desc, me_menu, me_description FROM profile_menu as pm join profile_menu_type on (p_type_display=pm_type) join menu_ref as mr on (mr.me_code=pm.me_code) where p_id=$1 and me_code_dep=$2 and p_type_display in ('E','S') order by p_order asc "); echo ''; //******************************************* // show also menu without a module //******************************************* $ret = $this->cn->exec_sql(" SELECT pm_id, pm.me_code, me_code_dep, p_id, p_order, p_type_display, pm_default, pm_desc, me_menu, me_description FROM profile_menu as pm join profile_menu_type on (p_type_display=pm_type) join menu_ref as mr on (mr.me_code=pm.me_code) where p_id=$1 and p_type_display not in ('M','P') and me_code_dep is null order by p_order asc ", array($p_id)); if (Database::num_row($ret)) { echo "

Menu sans module

"; $this->sub_menu($ret, $p_id); } } } function printing($p_id) { $ret = $this->cn->exec_sql(" SELECT pm_id, pm.me_code, me_code_dep, p_id, p_order, p_type_display, pm_default, pm_desc, me_menu, me_description FROM profile_menu as pm join profile_menu_type on (p_type_display=pm_type) join menu_ref as mr on (mr.me_code=pm.me_code) where p_id=$1 and me_type='PR' order by p_order asc ", array($p_id)); // Menu by module $gDossier = Dossier::id(); $this->sub_menu($ret, $p_id); } /** * Show the available profile for the profile $p_id, it concerns only the action of management (action-gestion) * @param $p_id is the profile p_id */ function available_profile($p_id) { $array=$this->cn->get_array(" select p.p_id,p.p_name,s.p_granted,s.ua_id,s.ua_right from profile as p join user_sec_action_profile as s on (s.p_granted=p.p_id) where s.p_id=$1 union select p2.p_id, p2.p_name,null,null,'X' from profile as p2 where p2.p_id not in (select p_granted from user_sec_action_profile where p_id = $1) order by p_name; ",array($p_id)); $aright_value=array( array('value'=>'R','label'=>_('Lecture')), array('value'=>'W','label'=>_('Ecriture')), array('value'=>'X','label'=>_('Aucun accès')) ); require_once 'template/user_sec_profile.php'; } /** * Show the available repository for the profile $p_id * @param $p_id is the profile p_id */ function available_repository($p_id) { $array=$this->cn->get_array(" select p.r_id,p.r_name,s.ur_id,s.ur_right from stock_repository as p join profile_sec_repository as s on (s.r_id=p.r_id) where s.p_id=$1 union select p2.r_id, p2.r_name,null,'X' from stock_repository as p2 where p2.r_id not in (select r_id from profile_sec_repository where p_id = $1) order by r_name; ",array($p_id)); $aright_value=array( array('value'=>'R','label'=>_('Lecture')), array('value'=>'W','label'=>_('Ecriture')), array('value'=>'X','label'=>_('Aucun accès')) ); require_once 'template/profile_sec_repository.php'; } } //end class ?>