From 5b1aec1fe19341f1042d70484b336d8fd3e288aa Mon Sep 17 00:00:00 2001
From: Florian Azizian <florian.azizian@maarch.org>
Date: Tue, 25 Feb 2014 15:36:11 +0000
Subject: [PATCH] =?UTF-8?q?FIX=20#1196=20Possibilit=C3=A9=20de=20choisir?=
 =?UTF-8?q?=20le=20nombre=20de=20niveau=20=C3=A0=20construire=20dans=20l'a?=
 =?UTF-8?q?rborescence=20du=20classement?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../core/tests/class/DataObjectController.php | 53 +++++++++++++++----
 1 file changed, 43 insertions(+), 10 deletions(-)

diff --git a/core/trunk/core/tests/class/DataObjectController.php b/core/trunk/core/tests/class/DataObjectController.php
index b1558eb59a5..498a3ff8a59 100644
--- a/core/trunk/core/tests/class/DataObjectController.php
+++ b/core/trunk/core/tests/class/DataObjectController.php
@@ -224,7 +224,8 @@ class DataObjectController
     public function read(
         $objectName, 
         $key,
-        $readChildren=true
+        $readChildren=true,
+		$levelToShow='full'
     ) {
         $dataObjectDocument = new DataObjectDocument();
         $this->dataObjectDocuments[] = $dataObjectDocument;
@@ -238,7 +239,8 @@ class DataObjectController
             $dataObjectDocument, 
             $dataObjectDocument,
             $key,
-            $readChildren
+            $readChildren,
+			$levelToShow
         );
         return $dataObjectDocument->documentElement;
     }
@@ -510,7 +512,8 @@ class DataObjectController
         $parentObject,
         $dataObjectDocument,
         $key=false,
-        $readChildren=true
+        $readChildren=true,
+		$levelToShow='full'
     ) {      
         try {
             if($dataAccessService = 
@@ -547,7 +550,8 @@ class DataObjectController
                     $this->readChildDataObjects(
                         $objectElement,
                         $newObject, 
-                        $dataObjectDocument
+                        $dataObjectDocument,
+						$levelToShow
                     );
                 }
             }
@@ -560,11 +564,13 @@ class DataObjectController
     public function readChildDataObjects( 
         $objectElement,
         $dataObject,
-        $dataObjectDocument
+        $dataObjectDocument,
+		$levelToShow='full'
     ) {
         // Get list of childElements
         $objectContents = $this->getObjectContents($objectElement);
         $l = count($objectContents);
+		$decompte = $levelToShow;
         for($i=0; $i<$l; $i++) {
             $objectNode = $objectContents[$i];
             if(!$objectNode->isReadable()) continue;
@@ -574,11 +580,38 @@ class DataObjectController
             $relation = $this->getRelation($objectNode, $dataObject);
             if(!$relation) continue;
             //echo "<br/>Read child of " . $objectElement->getName() . " named " . $refNode->getName();
-            $this->readDataObject(
-                $refNode, 
-                $dataObject, 
-                $dataObjectDocument
-            );
+			if((string)$levelToShow=='full'){
+				$this->readDataObject(
+				$refNode, 
+				$dataObject, 
+				$dataObjectDocument
+				);	
+				
+			}else{			
+				if($decompte==1){
+					$this->readDataObject(
+						$refNode, 
+						$dataObject, 
+						$dataObjectDocument,
+						false,
+						false
+					);
+					
+				}elseif($decompte==0){
+					//on affiche rien				
+				}else{
+					$decompte--;
+					$this->readDataObject(
+						$refNode, 
+						$dataObject, 
+						$dataObjectDocument,
+						false,
+						true,
+						$decompte
+					);				
+					
+				}
+			}
         }
     }
     
-- 
GitLab