From ed250793255353582ae32d2cf5dc726004f3e0d8 Mon Sep 17 00:00:00 2001 From: Silvio Date: Thu, 19 Aug 2010 10:51:05 -0300 Subject: Using field array instead of field name at IsisFinder --- classes/IsisConnector.php | 17 +++++++++++++++++ classes/IsisFinder.php | 16 ++++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) (limited to 'classes') diff --git a/classes/IsisConnector.php b/classes/IsisConnector.php index 64a6c59..09bb8ea 100644 --- a/classes/IsisConnector.php +++ b/classes/IsisConnector.php @@ -447,6 +447,23 @@ class IsisConnector { return array_search($field, $this->format['fields']); } + /** + * Get the array which defines a field. + * + * @param $field_key + * Field key. + * + * @return + * Field array. + */ + public function getFieldArray($field_key) { + if (isset($this->format['fields'][$field_key])) { + return $this->format['fields'][$field_key]; + } + + return NULL; + } + /** * Remove brackets from strings whithin an array. * diff --git a/classes/IsisFinder.php b/classes/IsisFinder.php index 1f8ed0f..a87488f 100644 --- a/classes/IsisFinder.php +++ b/classes/IsisFinder.php @@ -11,7 +11,7 @@ class IsisFinder extends IsisConnector { * Start entry number to begin the search. * * @param $field - * Field name. + * Field data. * * @return * Next repetition entry and result. @@ -25,9 +25,9 @@ class IsisFinder extends IsisConnector { if ($entry == $entries) { break; } - } while (!isset($result[$field]) || count($result[$field]) < 2); + } while (!isset($result[$field['name']]) || count($result[$field['name']]) < 2); - if (!isset($result[$field]) || count($result[$field]) < 2) { + if (!isset($result[$field['name']]) || count($result[$field['name']]) < 2) { return FALSE; } @@ -41,7 +41,7 @@ class IsisFinder extends IsisConnector { * Start entry number to begin the search. * * @param $field - * Field name. + * Field data. * * @return * Next occurrence. @@ -55,9 +55,9 @@ class IsisFinder extends IsisConnector { if ($entry == $entries) { break; } - } while (!isset($result[$field])); + } while (!isset($result[$field['name']])); - if (!isset($result[$field])) { + if (!isset($result[$field['name']])) { return FALSE; } @@ -71,7 +71,7 @@ class IsisFinder extends IsisConnector { * Start entry number to begin the search. * * @param $field - * Field name. + * Field data. * * @param $subfield * Subfield name. @@ -94,7 +94,7 @@ class IsisFinder extends IsisConnector { $has = $this->hasSubfieldInRows($field, $subfield); } while ($has === FALSE); - if (!isset($result[$field][$has][$subfield])) { + if (!$this->hasSubfield($field, $subfield, $has)) { return FALSE; } -- cgit v1.2.3