diff --git a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php index 64f4aa68b4eb7aa00ed75c93858fd713601bd2d0..4a7eff60e7bc7659e55cb9d066190568dfbb76f0 100644 --- a/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php +++ b/module/VuFind/src/VuFind/ILS/Driver/MultiBackend.php @@ -392,15 +392,13 @@ class MultiBackend extends AbstractBase protected function addIdPrefixes($data, $source, $modifyFields = array('id', 'cat_username') ) { - - if (!isset($data) || empty($data) ) { + if (!isset($data) || empty($data) || !is_array($data)) { return $data; } - $array = is_array($data) ? $data : array($data); - foreach ($array as $key => $value) { + foreach ($data as $key => $value) { if (is_array($value)) { - $array[$key] = $this->addIdPrefixes( + $data[$key] = $this->addIdPrefixes( $value, $source, $modifyFields ); } else { @@ -408,11 +406,11 @@ class MultiBackend extends AbstractBase && $value !== '' && in_array($key, $modifyFields) ) { - $array[$key] = $source . '.' . $value; + $data[$key] = $source . '.' . $value; } } } - return is_array($data) ? $array : $array[0]; + return $data; } /** diff --git a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php index 15028d396e2d47d24c051e2488cc456f090b7f3a..4bbdf2981af4f8a13b91f34d4bf8087d5e6c5428 100644 --- a/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php +++ b/module/VuFind/tests/unit-tests/src/VuFindTest/ILS/Driver/MultiBackendTest.php @@ -681,12 +681,6 @@ class MultiBackendTest extends \VuFindTest\Unit\TestCase $result = $this->callMethod($driver, 'addIdPrefixes', array($data, $source)); $this->assertEquals($data, $result); - /* test disabled 3/19/2014 -- do we really want to prefix non-array strings? - $data = "record"; - $result = $this->callMethod($driver, 'addIdPrefixes', array($data, $source)); - $this->assertEquals("$source.$data", $result); - */ - $data = array( "id" => "record1", "cat_username" => "record2"