Иконка ресурса

[BS] Exclude forums from search 1.0.0a

Нет прав для скачивания

XFI Bot

Проверенные
Сообщения
595
Реакции
911
Баллы
11,220
Последнее редактирование модератором:
Теперь ждём, когда исправятся все баги и поставим сюда. )))
 
BINGO_SHARK, )))) я поржал сначала, но все же переспрошу) ты сразу с багами пишешь?)) Как их вычислили, пытались поставить?)
 
Hope, .там три файла. Какие баги?
Не, это я к тому, что как правило первый релиз не стабилем и всё-таки может содержать ошибки, ибо одному тестировать и проверять всё сложно. А тут сейчас люди скачают, установят, проверят и, если что отпишутся о багах, а мы пока займём выжидательную позицию. :LOL: Так-то плагин очень даже нужный. :)
 
Некоторые авторы, которых обосрал автор, могут позавидовать.
PHP:
$query->getHandlerType() === 'post'
А для тем не нужно?
PHP:
class Thread extends XFCP_Thread
{
    public function canViewContent(Entity $entity, &$error = null)
Если включить логику, то не сложно понять, что авторы движка для таких деяний оставили метод return $handler->canIncludeInResults($entity, $results);, а не return $handler->canViewContent($entity);, которым ты воспользовался. Ведь как ты пишешь в соседних темах, всегда главное ориентироваться на совместимость работы с другими дополнениями, да? А как нормальному программисту было бы неплохо ориентироваться еще и на здравую логику, не навешивая дополнительных вещей на явно не соответствующие сути методы. У тебя исключаются результаты из поиска, а не отнимается право на их просмотр.
PHP:
reset($excludeNodeIds) != 0
Интересный способ узнать, что в списке не выбран элемент с нулевым значением. Однако где гарантии от авторов движка, что в качестве нулевого элемента массива всегда будет опция с нулевым значением, что она не окажется рано или поздно в середине массива в результате каких-то доработок по сортировке списка? Потому что если она где-то там окажется - условие с таким успехом вообще можно было не писать. Ну и удивительная особенность в целом на все аддоны распространяющаяся - писать строгие сравнения, а через пару строк забывать про это.
PHP:
        if (!$canView)
        {
            return $canView;
        }
Если код - говнокод, то он говнокод.
PHP:
return false;
А ведь так красиво до этого с заведенной переменной было.

Но если рассматривать более глобально - ничуть не удивлен почему авторы не сделали подобное из коробки. Мы значит для каждого поискового результата (сотни энтитей), которые движком итерируются при выводе результатов поиска, получаем значение из конфига ($excludeNodeIds = \XF::options()->excludeForumsFromSearch;), а потом делаем ресурсоемкую для php работу с указателями (reset), проверяем наличие в массиве (еще одна ресурсоемкая операция) и т.п. Вместо нормальной реализации, которая не даст положить в поисковый индекс энтити из запрещенных разделов, что позволило бы играть с этим кодом ровно один раз. Аналогично тому, что было в первой версии в таком же дополнении. При этом не забыть про Extended Search. И вот тогда, наверное, будет неплохо, а сейчас тупо кандидат на включение в список "поставь еще 10 таких же аддонов и пускай форум тормозит".

Раз файла три (не считая десятка мусорных шаблонных в data), то и оценка аддону 3/10.

PS. Можно было значительно лучше, учитывая компетенции в разборе дополнений остальных.
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу