о Грозном Рестораны и кафе книга жалоб Чеченский форум Интересное Кино О Чечне и чеченцах Проза и поэзия Мастера Чечни Фото Ислам

Уголок мусульманина

О благородстве раба

Сообщается, что Аиша, да будет доволен ею Аллах, сказала:
Обычно Пророк, да благословит его Аллах и да приветствует, совершал молитву по ночам (так долго), что его ступни даже покрывались трещинами. (Однажды) я спросила его: «Зачем ты делаешь это, о посланник Аллаха, ведь Аллах уже простил тебе и прошлые, и будущие грехи?». (В ответ мне) он сказал: «Разве не хочу я быть благодарным рабом?» (Аль-Бухари; Муслим. Здесь приводится версия Аль-Бухари и нечто подобное в обоих «Сахихах» передаётся со слов Аль-Мугиры бин Шу\'бы.)
 
    Чеченский форум GovzPeople.ru » Мнения, опросы, разговоры » IT - Информационные технологии » DataLife Engine  

    Хак Поиск и замена по форуму, хак для Datalife Engine  
GOVZilla
Сообщение # 1


СоЗиДаТеЛь
  • 102

Репутация: 45
Группа: Администраторы
Пол: мужской
Сообщений: 1480

В админке 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')&
amp;
amp;amp;amp;#34;);
$db->query("UPDATE `" . PREFIX . "_post` SET `tags`=REPLACE(`tags`,'$find','$replace')
;
;;;;");
}

Вот этот код (если Вы хотите, чтобы изменения могли касаться установленного ДЛЕ форума, а не других каких-либо установленных модулей):
if (in_array("forum", $_POST['table'])) {
$db->query("UPDATE `" . PREFIX . "_forum_topics` SET `title`=REPLACE(`title`,'$find','$replace'&a;
mp;a
mp;amp;amp;#41;");
$db->query("UPDATE `" . PREFIX . "_forum_topics` SET `topic_descr`=REPLACE(`topic_descr`,'$find','$re

place')");
$db->query("UPDATE `" . PREFIX . "_forum_topics` SET `poll_title`=REPLACE(`poll_title`,'$find','$repl

ace')");
$db->query("UPDATE `" . PREFIX . "_forum_topics` SET `frage`=REPLACE(`frage`,'$find','$replace'&a;
mp;a
mp;amp;amp;#41;");
$db->query("UPDATE `" . PREFIX . "_forum_topics` SET `poll_body`=REPLACE(`poll_body`,'$find','$replac

e')");
$db->query("UPDATE `" . PREFIX . "_forum_posts` SET `post_text`=REPLACE(`post_text`,'$find','$replac

e')");
}

Как вы видите, все очень просто. Мы просто прописываем название таблицы, в которой хотим произвести изменения после значения " . PREFIX . ", а потом название поля, в котором конкретно находятся слова, требующие изменения. Вставлять после SET ` и REPLACE(`
Но это еще не все. Чуть ниже, в 113 строке находим код:
<option value="news" selected>{$lang['find_rnews']}</option><option value="comments" selected>{$lang['find_rcomms']}</option><option value="pm" selected>{$lang['find_rpm']}</option><option value="static" selected>{$lang['find_rstatic']}</option><option

value="tags" selected>{$lang['find_rtags']}</option>

И вставляем сразу после него, в эту же строку, без переноса на новую строчку, следующий код:
<option value="forum" selected>{$lang['find_rforum']}</option>

Теперь остался последний шаг.
Открываем languages/Russian/adminpanel.lng и после строк в начале файла:
'charset' &nb
sp; => "windows-1251
",
'admin_logo'
=> "engine/skins/images/nav.jpg",

'wysiwyg_language' =>
"ru",

Вставляем простой код:
// мои добавления
'find_rforum'
; => "в форуме",

ВСЕ! Теперь, в модуле "Поиск и замена" помимо всего прочего будет доступка опция "в форуме". И при замене текста или кода, он изменится не только на сайте, но и на форуме.
По такому же принципу можно сделать поиск и замену для других установленных на сайте модулей. Просмотрите код, и Вы поймете как он работает. Все очень просто. Самое главное, правильно прописать название таблицы базы данных и ее полей.
Удачи.
Скрипт разорвал код. Качайте файл, там более точнее.
HAK-poisk-i-zamena.txt (4 | 3.61 Kb)



--------------------
не нарушаем этикета,ЧиТаЕм ПрАвИлА СаЙтА!!!!!, Как заливать КАРТИНКИ? Как ОБЩАТЬСЯ? Новичкам ЧИТАТЬ!!!!!! ВСЕ ссылки нужно СКРЫВАТЬ тегом [ hide ]
Вопросы: "Дай телефон?", "Ты замужем?", и т.п. заигрывающие "подкаты - ЗАПРЕЩЕНЫ!!!
Надоели темы про: Войну, Тейпы, Горы, пoлитиkу, и про величие наций.
Хочу сделать чеченский сайт без всего вышеуказанного.