03:18 Хак \"Расширенный модуль ПОИСК и ЗАМЕНА\". | |
![]() В админке DataLife Engine есть хорошая и полезная функция: Поиск и замена. Существует она для поиска и замена текста или кода в базе данных сайта. Но по умолчанию этот модуль ищет текст только в определенных частях базы данных: новостях, комментариях, облаке тегов, статических страницах и в персональных сообщениях. Т.е., если Вы установите модуль форума, блога, фотоальбомов или какой-либо другой модуль, то Вы не сможете заменять текст в его базе данных. Если вдруг Вам понадобиться глобальное изменение текста или кода в вашем модуле, то лучше воспользоваться следующим хаком. Надо модифицировать всего два файла движка. Речь идет о версии двига 8.3. На более ранних версиях не проверял. Но думаю, получится и там. Буду показывать на примере интеграции DLE Forum версии 2.4. По аналогии, поняв суть кода, можно подвести и под другие модули. Ничего сложного в этом нет, справятся даже новички, такие как я )) Открываем текстовым редактором файл engine/inc/search.php и вставляем после 63-66 строк, содержащих этот код: if (in_array("tags", $_POST['table'])) { $db->query("UPDATE `" . PREFIX . "_tags` SET `tag`=REPLACE(`tag`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_post` SET `tags`=REPLACE(`tags`,'$find','$replace')"); } Вот этот код (если у Вас установлен DLE Forum): if (in_array("forum", $_POST['table'])) { $db->query("UPDATE `" . PREFIX . "_forum_topics` SET `title`=REPLACE(`title`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_forum_topics` SET `topic_descr`=REPLACE(`topic_descr`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_forum_topics` SET `poll_title`=REPLACE(`poll_title`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_forum_topics` SET `frage`=REPLACE(`frage`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_forum_topics` SET `poll_body`=REPLACE(`poll_body`,'$find','$replace')"); $db->query("UPDATE `" . PREFIX . "_forum_posts` SET `post_text`=REPLACE(`post_text`,'$find','$replace')"); } Для новичков объясню, что это код, куда прописываются поля и таблицы базы данных, в которых будет вестись поиск и замена. Т.е., если Вы будете устанавливать хак для другого модуля, то Вам в обязательном порядке нужно внести в вышеуказанный код другие данные, посмотреть которые можно в phpmyadmin. Чуть ниже, в тот же файле в 113 строке находим код: И вставляем сразу после него, в эту же строку, без переноса на новую строчку, следующий код: Для удобства, если хотите, чтобы окошко было без "лифта" и более протянутым, то в этом же файле в 112 строке измените значение height на нужное вам, например на 100: | |
|
Всего комментариев: 0 | |