- LSsession :: relationCanAcces() && relationCanEdit()
authorBenjamin Renard <brenard@easter-eggs.com>
Wed, 8 Oct 2008 14:50:48 +0000 (14:50 +0000)
committerBenjamin Renard <brenard@easter-eggs.com>
Wed, 8 Oct 2008 14:50:48 +0000 (14:50 +0000)
-> 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

trunk/includes/class/class.LSsession.php
trunk/index_ajax.php
trunk/view.php

index 41dae7a..18f1ba5 100644 (file)
@@ -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');
   }
 
   /**
index 6342b66..02d4832 100644 (file)
@@ -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);
index 1a7d8f7..6695030 100644 (file)
@@ -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'].'&amp;multiple=1',