Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

9 часов назад, Zero108 сказал:

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

Я не могу получить такую запись. Пустой запрос быстрым поиском не отправляется, а если нажимать кнопку с пустым запросом или жать Enter, то запись у меня не добавляется.

  • Replies 140
  • Просмотров 10,2k
  • Created
  • Последний ответ

Лучшие авторы в теме

Most Popular Posts

  • Хороший плагин, но на 4.7.9 не работает. Поэтому решил его адаптировать. Это моя первая работа, так что ошибки очень вероятны. Перевод мой. На версиях ниже 4.7.9 не тестировал. (BIM) Quick S

  • edmsl На 4.7.11.1 работает:  Осталось только в CSS подправить стиль для темной темы. Попробую для Nexxe темы сделать.

  • Zero108 Я хотел сначала привязать стили к переменным, но что-то у меня не сложилось, и я отложил эту идею. Я сейчас дорабатываю этот плагин, может и стили все же поправлю заодно.

Posted Images

9 часов назад, edmsl сказал:

Sorry, but no. I did't work with cripto coins and I can't even test this plugin.

Ok, no problem

9 часов назад, edmsl сказал:

Yes, but he did not answer

2 минуты назад, Zero108 сказал:

От изначального кода там осталось 10%

Нет, как раз-таки нового кода там процентов 10. Но то, что его лучше бы сделать отдельным файлом, я согласен. Все же плагин и сейчас развивается автором, и наличие моей ответвленной версии может сбить с толку.

Буду выпускать его под именем Smart Search, название мне нравится, хотя и не совсем подходит.

И да, проблему со скриншотом выше решил. Вечером скину новый файл сразу с исправлением.

edmsl Добавишь новую раздачу файла отдельно? Там удобнее будет не смешитвать. Плагин вьетнамского автора, если честно, кажется не таким уж хорошим после твоих нововведений и информации, что я узнал насчет защиты через php от флдуда. 

40 минут назад, edmsl сказал:

название мне нравится

Предложил название по аналогии с модулем умного поиска для Битрикса. Везде такая тема называется именно умным поиском в русском сегменте интернета. Умный поиск Голубева, например, постоянно развивается. Там есть учет типовых ошибок при наборе, учет неправильного языка при наборе и т.д. 

Edited by Zero108

10 минут назад, Zero108 сказал:

Добавишь новую раздачу файла отдельно?

Да, добавлю.

10 минут назад, Zero108 сказал:

Там есть учет типовых ошибок при наборе, учет неправильного языка при наборе и т.д.

В общем, есть куда развивать плагин если что.

edmsl могу прислать папку умного модуля Голубева. Может что из php оттуда взять можно? Хотя, что создано в Битриксе, умирает в нём же, так как система специфическая.

@Exception Нужна твоя консультация.

Проблема с поиском по конкретной фразе. Можно обернуть текст в двойные кавычки, и тогда поиск будет искать только те строки, где слова идут в указанном порядке. Но в плагине это не работает.

В коде плагина есть такие строки:

$term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term);

$temp = preg_split('//u', $term, 0, PREG_SPLIT_NO_EMPTY);

foreach ($temp as $a) {
	$cnt = 0;
	if (preg_match('/[^\w\s]+/u', $a)) {
		$cnt++;
		if ($cnt >= 2) {
			\IPS\Output::i()->json(array('type' => 'OK', 'html' => "", 'term' => $term));
		}
	} else {
		$cnt = 0;
	}
}

где $term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term); убирает кавычки в начале и конце строки. Из-за этого точный поиск не срабатывает.

Собственно, мне не понятно, для чего это делается. Какая-то защита? Вроде из инпута в любом случае передается строка.

И проверка в цикле мне тоже не понятна. Разбивается вся строка на символы, а потом проверка на длину символа, где считаются все НЕ буквы и НЕ пробелы. Видимо, это какие-то специфические проверки безопасности, о которых я не знаю, но хотелось бы понять это все.

Edited by edmsl

Ответа я так и не нашел, поэтому решил делать, полагаясь на логику. В итоге написал так:

// Удалил эту строку отсюда и сделал удаление кавычек только для $temp для проверки в цикле (1).
//$term = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term);

// Здесь проверка, что кавычки есть. Нужно для того, чтобы не не добавлялась * для поиска по неполному слову.
$isStrictSearch = preg_match('/^(\'(.*)\'|"(.*)")$/', $term);

$temp = preg_split(
	'//u',
	// Перенес сюда (1)
	preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $term),
	0,
	PREG_SPLIT_NO_EMPTY
);

foreach ($temp as $a) {
	$cnt = 0;
	if (preg_match('/[^\w\s]+/u', $a)) {
		$cnt++;
		if ($cnt >= 2) {
			\IPS\Output::i()->json(array('type' => 'OK', 'html' => "", 'term' => $term));
		}
	} else {
		$cnt = 0;
	}
}

Так как я не знаю, для чего нужна проверка циклом, а выполнялась она в оригинале со строкой без кавычек, то и сейчас она так же выполняется, но оригинальный запрос не меняется.

В 11.08.2023 в 10:53, edmsl сказал:

Проблема с поиском по конкретной фразе. Можно обернуть текст в двойные кавычки, и тогда поиск будет искать только те строки, где слова идут в указанном порядке. Но в плагине это не работает.

Можно и в одинарные ковычки обернуть. Кто как привый искать. Я оборачиваю на гугле в "поисковая фраза".

Zero108 Поиск Эластик? Как-то странно он себя ведет все же. Но даже так разница очевидна.

Спойлер

firefox_2023-08-12_14-36-19.thumb.jpg.025367e7c687a22f3e06f17e259da1fb.jpg

firefox_2023-08-12_14-36-56.thumb.jpg.7af1c21fdc09e1bc7ac09abd67b6527c.jpg

firefox_2023-08-12_14-37-54.thumb.jpg.dac761eec6f30903038486f2de30ff6d.jpg

В последнем варианте, с двойными кавычками, по идее, должен найти только те строки, где слова строго в указанном порядке. Но 3-я выдача не соответствует ему. Внутри в статье тоже нет такой фразы.

edmsl Да, эластик. В настройках стоит: "Both apples and bananas".

Такое ощущение, что вьетнамский автор плагина понял, что любой вариант поиска (эластик или mysql) плевать хотел на ковычки, и забил на это.

Edited by Zero108

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Ответить в этой теме...

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.