Пожелания дополнений Event List
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.3.x | FAQ | Как задавать вопросы | Как устанавливать расширения
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение

-
- phpBB 2.0.7
- Сообщения: 552
- Стаж: 13 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 14 раз
Re: Пожелания дополнений Event List
в тегах разве можно нарисовать красивые зеленые стрелочки наискосок?
Скрытый текст
это примерно как история о семи перпендикулярных красных линиях, часть из которых зеленые либо прозрачные только с тегами и кодом
-
- phpBB 3.3.0
- Сообщения: 11121
- Стаж: 15 лет 3 месяца
- Откуда: fotovideoforum.ru
- Благодарил (а): 670 раз
- Поблагодарили: 122 раза
Re: Пожелания дополнений Event List
Скрытый текст
................=
...............=
..............=
.............=
............=
...........=
..........=
.........=
........=
.......=
......=
.....=
....=
...=
Зеленые, зеленые... крокодилы...
...............=
..............=
.............=
............=
...........=
..........=
.........=
........=
.......=
......=
.....=
....=
...=
Зеленые, зеленые... крокодилы...

NIKON-D90, AF-S 18-105, AF-S 14-24, AF-S 24-70
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Пожелания дополнений Event List
ostridm, никакого плана расстановки событий не может быть в природе, т.к. они должны быть там, где они нужны расширениям, а не там, где их поставят.
Запрос ясен, постараюсь сделать PR.
Запрос ясен, постараюсь сделать PR.
Re: Пожелания дополнений Event List
Нужны события в php файлах, часть 2:
1. В файле search.php есть событие
Добавить
перед
все параметры, которые участвуют в поиске, передаются по ссылке (например при постраничной навигации), если я использую свои параметры, их так же нужно передавать по ссылке, события для этого нет.
Добавить
после
2. В файлах /phpbb/search/fulltext_mysql.php, /phpbb/search/fulltext_native.php, /phpbb/search/fulltext_postgres.php в функциях
Заменить в 3 файлах, в 2 функциях
на
Событие для изменения конфигурационного файла - добавить
перед
для передачи своих параметров добавить
перед
1. В файле search.php есть событие
search_modify_param_before
перед созданием sql запроса и его параметров для предопределённых вариантов поиска active_topics, unanswered, unreadposts, newposts
, egosearch
, нужно событие после этого.Добавить
Код: Выделить всё
$vars = array('sql', 'search_id', 'show_results', 'l_search_title');
extract($phpbb_dispatcher->trigger_event('core.search_modify_param_after', compact($vars)));
Код: Выделить всё
// show_results should not change after this
Добавить
Код: Выделить всё
$vars = array('u_search');
extract($phpbb_dispatcher->trigger_event('core.search_modify_search_link', compact($vars)));
Код: Выделить всё
$u_search .= ($return_chars != 300) ? '&ch=' . $return_chars : '';
keyword_search, author_search
при поиске используется кеширование, в переменную $search_key
сохраняется md5 сумма всех параметров поиска, если я использую свои параметры, форум будет выдавать результат только по тем параметрам, которые там были учтены, т.е. мой поиск не будет иметь никакого эффекта, нужно добавить возможность определять свои параметры в этой переменной.Заменить в 3 файлах, в 2 функциях
Код: Выделить всё
$search_key = md5(implode('#', array(
Код: Выделить всё
$additional_keys=array();
$vars = array('additional_keys');
extract($phpbb_dispatcher->trigger_event('core.соответствующее_имя_события', compact($vars)));
$search_key = md5(implode('#', array(
serialize($additional_keys),
sphinx
, в файле /phpbb/search/fulltext_sphinx.php немного по другому, при определённых условиях нужна возможность изменения конфигурационного файла сфинкса (т.е. там, где в адм. разделе генерируется его конфигурационный файл) и передачи ему своих параметров при поиске.Событие для изменения конфигурационного файла - добавить
Код: Выделить всё
$vars = array('config_data');
extract($phpbb_dispatcher->trigger_event('core.search_sphinx_modify_config_data', compact($vars)));
Код: Выделить всё
$non_unique = array('sql_query_pre' => true, 'sql_attr_uint' => true, 'sql_attr_timestamp' => true, 'sql_attr_str2ordinal' => true, 'sql_attr_bool' => true);
Код: Выделить всё
$additional_filters=array();
$vars = array('type', 'additional_filters');
extract($phpbb_dispatcher->trigger_event('core.search_sphinx_keywords_main_query_before', compact($vars)));
if($additional_filters)
{
foreach($additional_filters as $field => $value)
{
$this->sphinx->SetFilter($field, array($value));
}
}
Код: Выделить всё
$search_query_prefix = '';
Последний раз редактировалось Sheer 06.08.2015 12:19, всего редактировалось 3 раза.
Re: Пожелания дополнений Event List
Товарищ Sheer, очень большая просьба не править текст сообщения без надобности, код был в бб-кодах, и под спойлерами, зачем нужно менять конфиг на конфигурационный, объединять текст без использования запятых, вы делаете из меня неграмотного человека :cry:
Последний раз редактировалось 2PiK 06.08.2015 13:42, всего редактировалось 1 раз.
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Пожелания дополнений Event List
Товарищ 2PiK, спойлеры убирал не я, хотя согласен, что они там ни к чему. Большая просьба использовать bb-код
Код: Выделить всё
[/b] при размещении php-кода. Использовать конструкции
[icode]Найти - Добавить после - Добавить перед - Заменить на[/icode], как это было принято в стандарте MODX.
[quote="2PiK"][post]468295[/post] товарищ Sheer[/quote]
[off]Предложения начинаются с заглавной, будьте грамотны.[/off]
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Re: Пожелания дополнений Event List
Вас понял, товарищ Sheer.
Только в первом случае не
Только в первом случае не
анужно событие.
После этого добавить
нужно событие после этого.
Добавить
-
- Former team member
- Сообщения: 12113
- Стаж: 18 лет 2 месяца
- Откуда: Калининград не Кенигсберг
- Благодарил (а): 36 раз
- Поблагодарили: 1526 раз
Re: Пожелания дополнений Event List
Fix
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Пожелания дополнений Event List
а может, после
$found_more_search_matches = false;
нормально будет?-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Пожелания дополнений Event List
Надо уточнить -
sort_key
, или всё-таки s_sort_key
, как в core.search_get_posts_data
?-
- phpBB 2.0.7
- Сообщения: 552
- Стаж: 13 лет 1 месяц
- Благодарил (а): 17 раз
- Поблагодарили: 14 раз
Re: Пожелания дополнений Event List
$sort_by_sql
$sort_key
$sort_dir
мне нужно иметь возможность исправить ORDER BY clause
$sort_key
$sort_dir
мне нужно иметь возможность исправить ORDER BY clause
$sql .= ' ORDER BY ' . $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
Код: Выделить всё
/**
* Event to modify the SQL query before the topic data is retrieved
*
* @event core.search_get_topic_data
* @var string sql_select The SQL SELECT string used by search to get topic data
* @var string sql_from The SQL FROM string used by search to get topic data
* @var string sql_where The SQL WHERE string used by search to get topic data
* @var int total_match_count The total number of search matches
* @since 3.1.0-a1
* @changed 3.1.0-RC5 Added total_match_count
*/
$vars = array('sql_select', 'sql_from', 'sql_where', 'total_match_count');
extract($phpbb_dispatcher->trigger_event('core.search_get_topic_data', compact($vars)));
$sql = "SELECT $sql_select
FROM $sql_from
WHERE $sql_where";
$sql .= ' ORDER BY ' . $sort_by_sql[$sort_key] . ' ' . (($sort_dir == 'd') ? 'DESC' : 'ASC');
-
- phpBB Guru
- Сообщения: 16947
- Стаж: 18 лет 11 месяцев
- Откуда: Красноярск
- Благодарил (а): 549 раз
- Поблагодарили: 1700 раз
Re: Пожелания дополнений Event List
Из четырех запросов два события фактически дублировались, одно заменялось добавлением новых переменных в старое. В итоге 2 новых добавляем, 1 старое дополняем.
https://tracker.phpbb.com/browse/PHPBB3-14088
https://github.com/phpbb/phpbb/pull/3824