XF 2.2 Фикс для тех кто уже обновился на 2.2.10

Статус
В этой теме нельзя размещать новые ответы.
Версия XenForo
2.2.10

artscripts

Реклама, support, вопросы по проекту
Администрация
Сообщения
2,601
Решения
44
Реакции
6,067
Баллы
6,390
Как стало известно, команда xenforo перенесла все фиксы на будущий версию 2.2.11

Поэтому у кого после обновления сыплются ошибки нужно сделать небольшое изменение в файле search.php
src/XF/Pub/Controller/Search.php

вставить код примерно на 149 строке


Код:
if (!is_object($search)) {
 return $this->message(\XF::phrase('no_results_found'));
}

должно выглядеть примерно так, что добавлено помечено плюсиками

Diff:
--- src/XF/Pub/Controller/Search.orig.php    2022-07-14 09:15:02.888904630 +0200
+++ src/XF/Pub/Controller/Search.php    2022-07-14 09:14:47.017272442 +0200
@@ -143,12 +143,16 @@ class Search extends AbstractController
             }
             else if ($search && $search->search_query && $search->search_query !== $this->filter('q', 'str'))
             {
                 return $this->notFound();
             }
         }
+        # [ TL: workaround regression of 2.2.10 producing many errors with guests searching ]
+        if (!is_object($search)) {
+            return $this->message(\XF::phrase('no_results_found'));
+        }
 
         $page = $this->filterPage();
         $perPage = $this->options()->searchResultsPerPage;
 
         $this->assertValidPage($page, $perPage, $search->result_count, 'search', $search);

Ошибки исчезнут, но появиться одна раз в сутки, о том что файл не совпадает с оригиналом. Исправление будет в 2.2.11
 
Вторая проблема редкая, тем кто использует IP6 не обрабатывается oEmbed (она подразумевает сбой разрешения IPv6 DNS), но вы можете заменить строку 290, src/XF/Http/Reader.php чтобы отсортировать ее:

PHP:
  $ipv6s = @dns_get_record($parts['host'], DNS_AAAA) ?: [];
 
Статус
В этой теме нельзя размещать новые ответы.
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу