From 48fe05b698b318dfb6895d8130184dd2bddd0f8f Mon Sep 17 00:00:00 2001
From: llaffont <llaffont@git-test.afi-sa.fr>
Date: Fri, 30 Nov 2012 14:11:35 +0000
Subject: [PATCH] =?UTF-8?q?Am=C3=A9lioration=20perfs.=20affichage=20notice?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 library/Class/NoticeUnimarc.php | 21 +++++++++------------
 1 file changed, 9 insertions(+), 12 deletions(-)

diff --git a/library/Class/NoticeUnimarc.php b/library/Class/NoticeUnimarc.php
index 9d786524742..4ac949efb51 100644
--- a/library/Class/NoticeUnimarc.php
+++ b/library/Class/NoticeUnimarc.php
@@ -446,6 +446,7 @@ class Class_NoticeUnimarc {
 		// supprime les lignes vides d'inner_data
 		$inner_data_count = sizeof($this->inner_data);
 		$this->inner_directory = array();
+    $this->data = '';
 
 		for($i=0; $i < $inner_data_count; $i++) {	
 			if(empty($this->inner_data[$i]['label']) || empty($this->inner_data[$i]['content'])) {
@@ -459,14 +460,16 @@ class Class_NoticeUnimarc {
 				'length' => strlen($this->inner_data[$i]['content']),
 				'adress' => 0
 			);
+
+      $this->data .= $this->inner_data[$i]['content'];
 		}
+		$this->data .= $this->record_end;
 		$this->type_accents =0;
 
 
 		// mise à jour des offset et du répertoire 'réel'
 		$this->inner_directory[0]['length']-=1;
-		for($i = 1; $i < $inner_data_count; $i++)
-		{
+		for($i = 1; $i < $inner_data_count; $i++)	{
 			$this->inner_directory[$i]['adress'] = $this->inner_directory[$i - 1]['length'] + $this->inner_directory[$i - 1]['adress'];
 		}
 
@@ -474,17 +477,11 @@ class Class_NoticeUnimarc {
 		$this->directory = ''; 
 		$inner_directory_size = sizeof($this->inner_directory);
 		for($i=0; $i <  $inner_directory_size; $i++) {
-			$this->directory .= sprintf('%03d', $this->inner_directory[$i]['label']);
-			$this->directory .= sprintf('%0'.$this->inner_guide['dm1'].'d', $this->inner_directory[$i]['length']);
-			$this->directory .= sprintf('%0'.$this->inner_guide['dm2'].'d', $this->inner_directory[$i]['adress']);
-		} 
-
-		// mise à jour du contenu
-		$this->data = '';
-		for($i=0; $i < $inner_data_count; $i++) {
-			$this->data .= $this->inner_data[$i]['content'];
+      $this->directory .= sprintf('%03d%0'.$this->inner_guide['dm1'].'d'.'%0'.$this->inner_guide['dm2'].'d', 
+                                  $this->inner_directory[$i]['label'],
+                                  $this->inner_directory[$i]['length'],
+                                  $this->inner_directory[$i]['adress']);
 		}
-		$this->data .= $this->record_end;
 
 		// mise à jour du guide
 		## adresse de base.
-- 
GitLab