1/DataLife Engine адаптируем к MySQL 8

CMS DLE (DataLife Engine) оказалась абсолютно не готовой к тенденциям развития MySQL. Часть кода оказалась неработоспособной и потребовало внесение правок.

В частности в запросах используются подобные структуры category regexp '[[:<:]]($catid)[[:>:]]' которые в MySQL 8 недопустимы. Вариантом решения проблемы может быть такой запрос category regexp '^((.*),)?($catid)(,(.*))?$'

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

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

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

grep -r -n "\[\[:<:\]\]" /path_domain/

Версия 9.6 и 10.1 Проблему невозможно решить отключив опцию, код используется в пользователях и в администрировании новостей без запроса опции. Файлы:
/engine/engine.php
/engine/api/api.class.php
/engine/ajax/registration.php
/engine/inc/categories.php
/engine/inc/editnews.php
/engine/modules/favorites.php
/engine/modules/functions.php
/engine/modules/lastcomments.php
/engine/modules/register.php
/engine/modules/search.php
/engine/modules/show.full.php

Версия 12.0. Проблему можно решить отключив опцию. Файлы:
/engine/api/api.class.php
/engine/modules/functions.php
/engine/modules/show.full.php

Версия 13.1. Проблему можно решить отключив опцию. Файлы:
/engine/api/api.class.php
/engine/modules/show.full.php

Количество замен и номеры строк не указываю, так как в моих собственных проектах были различия практически во всех файлах из-за вносимых мною индивидуальных правок.