From 7571cef86ee48c928e615bc0822c8ab7e4eb2fd3 Mon Sep 17 00:00:00 2001 From: Silvio Date: Mon, 7 Jun 2010 17:19:43 -0300 Subject: BiblioIsisDb: changes in the tag scheme to deal with undefined subfields --- classes/BiblioIsisDb.php | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'classes/BiblioIsisDb.php') diff --git a/classes/BiblioIsisDb.php b/classes/BiblioIsisDb.php index e902a93..6ae5827 100644 --- a/classes/BiblioIsisDb.php +++ b/classes/BiblioIsisDb.php @@ -155,9 +155,17 @@ class BiblioIsisDb implements IsisDb { // Subfield handling. if (isset($this->format['fields'][$key]['subfields']) && is_array($data[$name])) { foreach ($data[$name] as $subkey => $subvalue) { - $subname = $this->format['fields'][$key]['subfields'][$subkey]; + if (isset($this->format['fields'][$key]['subfields'][$subkey])) { + $subname = $this->format['fields'][$key]['subfields'][$subkey]; + } else { + $subname = $subkey; + } + $data[$name][$subname] = $subvalue; - unset($data[$name][$subkey]); + + if ($subkey != $subname) { + unset($data[$name][$subkey]); + } } } } @@ -187,6 +195,7 @@ class BiblioIsisDb implements IsisDb { $this->format['fields'][$key]['repeat'] == FALSE && is_array($value)) { return $value[0]; } + return $value; } -- cgit v1.2.3