Commit 27e96106 authored by David López's avatar David López Committed by Markus Kalkbrenner
Browse files

Issue #3281703 by akalam, mkalkbrenner: TypeError: Illegal offset type in...

Issue #3281703 by akalam, mkalkbrenner: TypeError: Illegal offset type in isset or empty in Drupal\search_api_solr\Plugin\search_api\backend\SearchApiSolrBackend->getLanguageSpecificSolrFieldNames() (line 2304 of modules/contrib/search_api_solr/src/Plugin/search_api/backend/SearchApiSolrBackend
parent 9d28d57c
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -2938,6 +2938,11 @@ class SearchApiSolrBackend extends BackendPluginBase implements SolrBackendInter
      }

      $item_id = $doc_fields[$id_field];
      // For an unknown reason we sometimes get an array here. See
      // https://www.drupal.org/project/search_api_solr/issues/3281703
      if (is_array($item_id)) {
        $item_id = current($item_id);
      }
      // For items coming from a different site, we need to adapt the item ID.
      if (isset($doc_fields['hash']) && !$this->configuration['site_hash'] && $doc_fields['hash'] != $site_hash) {
        $item_id = $doc_fields['hash'] . '--' . $item_id;
@@ -2966,6 +2971,11 @@ class SearchApiSolrBackend extends BackendPluginBase implements SolrBackendInter

      if ($language_field && isset($doc_fields[$language_field])) {
        $language_id = $doc_fields[$language_field];
        // For an unknown reason we sometimes get an array here. See
        // https://www.drupal.org/project/search_api_solr/issues/3281703
        if (is_array($language_id)) {
          $language_id = current($language_id);
        }
        $result_item->setLanguage($language_id);
        $field_names = $this->getLanguageSpecificSolrFieldNames($language_id, $index);
      }