Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Помогите подправить плагин (Транслит тегов от LazyDev) под php 8.1 и dle 17?

Помогите подправить плагин (Транслит тегов от LazyDev) под php 8.1 и dle 17?


     15.01.2024    LazyDev, Транслит тегов, php 8.1, dle 17    Общие вопросы по PHP, Модули, Хаки    303

вопрос
Доброго времени суток. Есть плагин, Транслит вместо кириллицы в ссылках тегов от LazyDev, рассчитан на предыдущие версии dle и php, нужно его завести на php 8.1 и dle 17. Что было в моих силах, знаниях, я подправил, ссылки проставляются нормально в тегах, но при переходе по ней выдает ошибку сам DLE
Как я понимаю, проблема с редиректом в этой правке:
engine/engine.php
Найти и добавить выше


Заранее спасибо за помощь.

Ответа пока нет


14 комментариев

qwerty
Юзер

qwerty - 19 января 2024 13:43 -

Версия PHP здесь точно никак не причем. Дело именно в адаптации под 17 версию, там произошли небольшие изменения

ushkom
Юзер

ushkom - 20 января 2024 02:00 -

Возможно. Буду благодарен за наводку, правку!

TeraMoune
Эксперт

TeraMoune - 20 января 2024 19:15 -

Наводка:

Надо смотреть изменение кода 2й правки engine.php, а не первой, с первой никаких проблем нету (это тот код который вы прикрепили).

В последних версиях добавили еще один запрос в котором надо так же учитывать в связи таблиц этот запрос в переменной $sql_select_ids, а плагин меняет только две нижние переменные $sql_select и $sql_count. Надо добавить и захватить уже 3 переменные и в поле изменений произвести те изменения которые делал плагин с двумя другими запросами. Там однотипное изменение которое меняет связь полей с t.tag на t.tag_translit

ushkom
Юзер

ushkom - 21 января 2024 13:07 -

Спасибо за ответ. Попробую собрать. Получится, отпишусь

ushkom
Юзер

ushkom - 24 января 2024 10:08 -

Большое спасибо.Плагин заработал. Но есть нюанс, не работает теперь перестроение публикаций. Смотрел в
engine/ajax/rebuild.php
там почти ничего не изменилось, добавлена одна строчка и немного изменили
str_replace
и
preg_replace

Сам код для вставки аналогичен с ихним

Помогите пожалуйста разобраться в чем проблема. Спасибо

TeraMoune
Эксперт

TeraMoune - 27 января 2024 05:40 -

У меня всё работало. да и перестроение публикации не связано с правками которые затрагивались.

ushkom
Юзер

ushkom - 28 января 2024 01:28 -

Ну не мистика же, отключаю плагин или эту правку, перестроение работает, с ней нет!
Если вы не против, могу сбрость плагин, может посмотрите и в нем добавите комментарий, я не гуру, может упустил что? За перестроение только же rebuild.php отвечает?

TeraMoune
Эксперт

TeraMoune - 28 января 2024 06:35 -

могу сбрость плагин, может посмотрите и в нем добавите комментарий

В этом нет никакой необходимости, повторюсь, перестроение публикаций не зависит в плагине от версии (по крайней мере не в промежутке заявленной версии и последней). Ровно как обсуждаемые изменений никак между собой не связаны и повлиять на работу перестроения никак не могли.

Смысла мне что-то смотреть там когда я качал плагин с первоисточника и там код такой же как и у вас сейчас и ровно тот же который вы опубликовали.

За перестроение только же rebuild.php отвечает?

Да

ushkom
Юзер

ushkom - 28 января 2024 14:41 -

А как можно увидеть ошибку, вроде лога, при перестроении, это же ajax? Чтоб понять на что ругается скрипт. Спасибо

TeraMoune
Эксперт

TeraMoune - 28 января 2024 15:51 -

Ну вот как раз в логах и увидеть, но только вам должно быть известно где они находятся и записываются ли, узнавайте у хостинга если используете, или ройтесь в php,mysql,apache и других конфигах серверного по на предмет где находятся логи. У всех по разному, у хостингов обычно где-то в панели управления, у специального ПО для развёртывания серверов должны быть так же разделы. А так всё описывается в конфигурационных файлах каждого модулях.


Скрипты не всегда ругаются ошибками. Но если бы была ошибка думаю и процесс не завершился бы. И вы бы это заметили.
Иногда эти неявные ошибки нужно искать самостоятельно. Учиться отлаживать код и всё такое. По другому это не делается.

ushkom
Юзер

ushkom - 29 января 2024 00:37 -

Вы меня совсем не грамотным считаете, не хочу обидеть, но по вашим коментам именно так. У меня выделенный сервер, в логах ничего нет, скорее всего так как работает ajax, я и спрашивал, можно ли как то вывести ошибку. Я смотрю и в скрипт и на свою работу, читаю в сети а потом задаю вопросы здесь, а вы меня посылаете опять читать доки которые я проштудировал. Раньше этот сайт лучше был, помогали обучатся. Вы бы прямо сказали, дай денег, я исправлю. Дело в том что сам хотел разобраться, но понял что у вас помощи не добиться. Я плачу за дополнения которые сам не в силах сделать, но суть другая! Вы пишите тону текста и в большинстве случаев там нет ничего полезного. Извините если обидел, не хотел, но считаю, если хотите помочь, помогайте, заработать, так и пишите. Спасибо за помощь!

TeraMoune
Эксперт

TeraMoune - 29 января 2024 09:26 -

У меня выделенный сервер, в логах ничего нет, скорее всего так как работает ajax

Нет, он работает одинаково, и для ajax нету никаких исключений.

я и спрашивал, можно ли как то вывести ошибку

Если ошибок нету то выводить нечего. Вы можете сделать пару ошибок в синтаксисе php языка или sql выражений языка базы данных и попробовать отработать сценарий. Вы увидите изменения и логи соответствующего ПО будут содержать об этой ошибке информацию, что случилось, где, в каком месте. Где-то даже будет trace лог где будет отображена вся последовательность вызовов функций с самого начального файла (то есть пусть программы которая прошла и каким маршрутом, до возникновения проблемы)

Для ajax вы можете смотреть ответы от исполняемых запросов во вкладке Network (Сеть) консоли разработчика при вызове операции когда она завершится выберите появившийся запрос на адрес rebuil.php и посмотрите вкладки Preview (предпросмотр) или Response (Ответ)

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

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

Раньше этот сайт лучше был, помогали обучатся.

Но правда такова, что многие люди клали хер на обучение, им это не интересно, сюда они приходят с единственной целью решить свою проблему. Многие на полном серьёзе заявляют или думают (Зачем мне это всё знать и понимать я не программист, я сюда пришёл за решением ведь этот ресурс ведь для этого).

Вы бы прямо сказали, дай денег, я исправлю.

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

Подводя итоги:

Ошибок у нас нету. А нету ошибок нету и смысла в обсуждении. Процитирую абзац из статьи по отладке кода.
Некоторые начинающие разработчики думают, что опытные программисты могут просто взглянуть на код и понять, в чем ошибка. Это совсем не так. Просто глядя на такой код, невозможно понять, а что, собственно, пошло не так, уже не говоря о нахождении самой ошибки. Нам также нужно увидеть сообщение об ошибке и начать отладку.
Это как раз ваш случай. Вы лишь говорите, что ничего не работает, а я это не могу проверить. Как вам помочь я не знаю.

Извините если обидел, не хотел

Но почему выглядит всё так будто это вы тут обижены.

ushkom
Юзер

ushkom - 29 января 2024 21:51 -

Я увидел. Большое спасибо за старание. Вы правки в rebuild.php в двух местах делали после $step++;? Если делаю одну замену, в любом месте, ошибки нет, но и в базе конверта нет. Как я понял, нужно отключать все плагины и смотреть, что мешает!
Дайте пожалуйста usdt кошелек, хочу за старание на пиво сбросить. Спасибо

ushkom
Юзер

ushkom - 30 января 2024 17:04 -

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

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх