153 lines
5.1 KiB
PHP
153 lines
5.1 KiB
PHP
<?php
|
|
|
|
//Définition du tableau des permissions
|
|
|
|
$definePerms = array(
|
|
'KBIS' => array( 'init' => '', 'txt' => 'Extrait RCS'),
|
|
'IPARI' => array( 'init' => '', 'txt' => 'Pièces officielles'),
|
|
'ACTES' => array( 'init' => '', 'txt' => 'Investigation par l\'image IparI©'),
|
|
'MARQUES' => array( 'init' => '', 'txt' => 'Marques déposées'),
|
|
'INDISCORE' => array( 'init' => '', 'txt' => 'indiScore©'),
|
|
'SCORECSF' => array( 'init' => '', 'txt' => 'Score CSF'),
|
|
'EVENINSEE' => array( 'init' => '', 'txt' => 'Évènements INSEE'),
|
|
'AVISINSEE' => array( 'init' => '', 'txt' => 'Avis de situation INSEE'),
|
|
'SURVINSEE' => array( 'init' => '', 'txt' => 'Surveillance des annonces légales'),
|
|
'SURVANNONCE' => array( 'init' => '', 'txt' => 'Surveillance des événements INSEE'),
|
|
'SURVBILAN' => array( 'init' => '', 'txt' => 'Surveillance des bilans'),
|
|
'SURVSCORE' => array( 'init' => '', 'txt' => 'Surveillance des événements sur le score'),
|
|
'SURVLISTE' => array( 'init' => '', 'txt' => 'Liste des surveillances'),
|
|
'INVESTIG' => array( 'init' => '', 'txt' => 'Investigation'),
|
|
'INTERNATIONAL' => array( 'init' => '', 'txt' => 'Recherche Internationale'),
|
|
'MONPROFIL' => array( 'init' => '', 'txt' => 'Mon profil'),
|
|
);
|
|
|
|
/*
|
|
* Attribut si l'utilisateur possède le droit d'accèder au service
|
|
* @param string $name
|
|
* Nom du droit
|
|
* @param array $userInfo
|
|
* Tableau d'informations de l'utilisateur, facultatif, si pas défini alors on regarde dans la session
|
|
* @return boolean
|
|
*/
|
|
function hasPerm($name, $userInfo = ''){
|
|
$return == FALSE;
|
|
if($userInfo == ''){ $userInfo = $_SESSION['tabInfo']; }
|
|
if ( preg_match('/'.$name.'/i', $userInfo['droits'])) $return = TRUE;
|
|
//Surcharger les droits
|
|
if(overridePerm($perm)){
|
|
$return == TRUE;
|
|
}else{
|
|
$return = FALSE;
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/*
|
|
* Attribut si l'utilisateur accès à la page
|
|
* @param string $name
|
|
* Nom du droit
|
|
* @param array $userInfo
|
|
* Tableau d'informations de l'utilisateur, facultatif, si pas défini alors on regarde dans la session
|
|
* @return boolean
|
|
*/
|
|
function hasPermPage($page){
|
|
$idClient = $_SESSION['tabInfo']['idClient'];
|
|
$login = $_SESSION['tabInfo']['login'];
|
|
$idClientAllow = array();
|
|
$idClientDeny = array(
|
|
'etablissements' => array(34),
|
|
'liens' => array(34),
|
|
'evenements' => array(34),
|
|
'dirigeants' => array(34),
|
|
'synthese' => array(34),
|
|
'bilans' => array(34),
|
|
'ratios' => array(34),
|
|
'liasse' => array(34),
|
|
'bourse' => array(34),
|
|
'annonces' => array(34),
|
|
'infosreg' => array(34),
|
|
'competences' => array(34),
|
|
'conventions' => array(34),
|
|
'marques' => array(34),
|
|
'indiscore' => array(34),
|
|
'scorecsf' => array(34),
|
|
'enquetec' => array(34),
|
|
);
|
|
$loginAllowOnly = array(
|
|
'international_recherche' => array( 'mricois', 'mheitz' ,'jmartory' ,'ylenaour' ,'fzicaro' ,'mcochet' ,'olecce'),
|
|
);
|
|
$loginDeny = array();
|
|
$return = TRUE;
|
|
if(isset($idClientDeny[$page]) && count($idClientDeny[$page])>0){
|
|
foreach($idClientDeny[$page] as $id){
|
|
if($id == $idClient) { $return = $return && FALSE; break; }
|
|
}
|
|
}
|
|
if(isset($loginDeny[$page]) && count($loginDeny[$page])>0){
|
|
foreach($loginDeny[$page] as $user){
|
|
if($user == $login) { $return = $return && FALSE; break; }
|
|
}
|
|
}
|
|
if(isset($loginAllowOnly[$page]) && count($loginAllowOnly[$page])>0){
|
|
foreach($loginAllowOnly[$page] as $user){
|
|
if($user != $login) { $return = FALSE;}
|
|
else{ $return = TRUE; }
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
|
|
/*
|
|
* Retourne le code HTML pour le formulaire de modification du compte
|
|
* @param string $name
|
|
* Nom du droits
|
|
* @param array $perms
|
|
* Tableau d'informations du droits
|
|
* @return string
|
|
*/
|
|
function formElementPerm($userInfos){
|
|
global $definePerms;
|
|
foreach($definePerms as $perm => $infos){
|
|
if(overridePermByLogin($perm) && overridePermByidClient($perm)){
|
|
(hasPerm($perm, $userInfos)==TRUE) ? $checked = 'checked' : $checked = $perms['init'];
|
|
($_SESSION['tabInfo']['profil']=='Administrateur') ? $disabled = '' : $disabled = 'disabled' ;
|
|
$return = '<input type="checkbox" name="frmOptions[droits][]" value="'.strtolower($perm).'" '.$checked.' '.$disabled.' />'.$perms['txt'].'<br/>';
|
|
}
|
|
}
|
|
return $return;
|
|
}
|
|
|
|
/*
|
|
* Vérifie le login de l'utilisateur pour le mode edition
|
|
* @param string $loginVu
|
|
* Login
|
|
* @return boolean
|
|
*/
|
|
function checkModeEdition($loginVu){
|
|
$isAuthorized = FALSE;
|
|
$authorizedUsers = array('ylenaour', 'jmartory', 'mheitz', 'mpurcarin', 'mcochet', 'aegasse', 'mricois');
|
|
$isUserAuthorized = FALSE;
|
|
foreach($authorizedUsers as $login){
|
|
if($_SESSION['tabInfo']['login']==$login){
|
|
$isUserAuthorized = TRUE;
|
|
break;
|
|
}
|
|
}
|
|
if($loginVu==$_SESSION['tabInfo']['login'] && $isUserAuthorized){
|
|
$isAuthorized = TRUE;
|
|
}
|
|
return $isAuthorized;
|
|
}
|
|
|
|
/*
|
|
* Retourne le code HTML pour le formulaire de modification du compte
|
|
* @return string
|
|
*/
|
|
function formElementModeEdition(){
|
|
if ($_SESSION['tabInfo']['mode_edition']==1) $strMode='checked'; else $strMode='';
|
|
return '<input type="checkbox" name="frmOptions[mode_edition]" value="1" '.$strMode.'/>Edition';
|
|
}
|
|
|
|
|
|
?>
|