mirror of
https://gitlab.easter-eggs.com/ee/ldapsaisie.git
synced 2024-11-17 15:59:06 +01:00
- LSsession :: relationCanAcces() && relationCanEdit()
-> Ajout d'un paramètre $LSobject au lieu de supposé que le type est celui de authUserObject -> Modification en conséquence dans les autres fichiers
This commit is contained in:
parent
08862558a7
commit
9ad151312e
3 changed files with 10 additions and 9 deletions
|
@ -1243,13 +1243,13 @@ class LSsession {
|
|||
* Retourne le droit de l'utilisateur à gérer la relation d'objet
|
||||
*
|
||||
* @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut)
|
||||
* @param[in] string $LSobject Le type de l'objet
|
||||
* @param[in] string $relationName Le nom de la relation avec l'objet
|
||||
* @param[in] string $right Le type de droit a vérifier ('r' ou 'w')
|
||||
*
|
||||
* @retval boolean True si l'utilisateur a accès, false sinon
|
||||
*/
|
||||
function relationCanAccess($dn,$relationName,$right=NULL) {
|
||||
$LSobject=$this -> LSuserObject -> getType();
|
||||
function relationCanAccess($dn,$LSobject,$relationName,$right=NULL) {
|
||||
if (!isset($GLOBALS['LSobjects'][$LSobject]['relations'][$relationName]))
|
||||
return;
|
||||
$whoami = $this -> whoami($dn);
|
||||
|
@ -1271,12 +1271,13 @@ class LSsession {
|
|||
* Retourne le droit de l'utilisateur à modifier la relation d'objet
|
||||
*
|
||||
* @param[in] string $dn Le DN de l'objet (le container_dn du type de l'objet par défaut)
|
||||
* @param[in] string $LSobject Le type de l'objet
|
||||
* @param[in] string $relationName Le nom de la relation avec l'objet
|
||||
*
|
||||
* @retval boolean True si l'utilisateur a accès, false sinon
|
||||
*/
|
||||
function relationCanEdit($dn,$relationName) {
|
||||
return $this -> relationCanAccess($dn,$relationName,'w');
|
||||
function relationCanEdit($dn,$LSobject,$relationName) {
|
||||
return $this -> relationCanAccess($dn,$LSobject,$relationName,'w');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -124,7 +124,7 @@ if (!isset($_ERRORS)) {
|
|||
if (($object -> loadData($conf['objectDn'])) && (isset($object->config['relations'][$conf['relationName']]))) {
|
||||
$relationConf = $object->config['relations'][$conf['relationName']];
|
||||
if ($GLOBALS['LSsession'] -> loadLSobject($relationConf['LSobject'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$conf['relationName'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$object -> getType(),$conf['relationName'])) {
|
||||
if (method_exists($relationConf['LSobject'],$relationConf['list_function'])) {
|
||||
$objRel = new $relationConf['LSobject']();
|
||||
$list = $objRel -> $relationConf['list_function']($object);
|
||||
|
@ -173,7 +173,7 @@ if (!isset($_ERRORS)) {
|
|||
if (($object -> loadData($conf['objectDn'])) && (isset($object->config['relations'][$conf['relationName']]))) {
|
||||
$relationConf = $object->config['relations'][$conf['relationName']];
|
||||
if ($GLOBALS['LSsession'] -> loadLSobject($relationConf['LSobject'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$conf['relationName'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$object -> getType(),$conf['relationName'])) {
|
||||
if (is_array($_SESSION['LSselect'][$relationConf['LSobject']])) {
|
||||
if (method_exists($relationConf['LSobject'],$relationConf['update_function'])) {
|
||||
$objRel = new $relationConf['LSobject']();
|
||||
|
@ -233,7 +233,7 @@ if (!isset($_ERRORS)) {
|
|||
if (($object -> loadData($conf['objectDn'])) && (isset($object->config['relations'][$conf['relationName']]))) {
|
||||
$relationConf = $object->config['relations'][$conf['relationName']];
|
||||
if ($GLOBALS['LSsession'] -> loadLSobject($relationConf['LSobject'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$conf['relationName'])) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$object -> getType(),$conf['relationName'])) {
|
||||
if (method_exists($relationConf['LSobject'],$relationConf['list_function'])) {
|
||||
$objRel = new $relationConf['LSobject']();
|
||||
$list = $objRel -> $relationConf['list_function']($object);
|
||||
|
|
|
@ -82,7 +82,7 @@ if($LSsession -> startLSsession()) {
|
|||
if (is_array($object -> config['relations'])) {
|
||||
$LSrelations=array();
|
||||
foreach($object -> config['relations'] as $relationName => $relationConf) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanAccess($object -> getValue('dn'),$relationName)) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanAccess($object -> getValue('dn'),$LSobject,$relationName)) {
|
||||
$return=array(
|
||||
'label' => $relationConf['label'],
|
||||
'LSobject' => $relationConf['LSobject']
|
||||
|
@ -95,7 +95,7 @@ if($LSsession -> startLSsession()) {
|
|||
'objectType' => $object -> getType(),
|
||||
'objectDn' => $object -> getDn(),
|
||||
);
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$relationName)) {
|
||||
if ($GLOBALS['LSsession'] -> relationCanEdit($object -> getValue('dn'),$LSobject,$relationName)) {
|
||||
$return['actions'][] = array(
|
||||
'label' => _('Modifier'),
|
||||
'url' => 'select.php?LSobject='.$relationConf['LSobject'].'&multiple=1',
|
||||
|
|
Loading…
Reference in a new issue