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

2. Добавлена поддержка проигрывания видео с адаптивным битрейтом (HLS файлов с расширением .m3u8) для видеопроигрывателя DataLife Engine.

3. Для шаблонов вывода кратких и полных новостей (shortstory.tpl и fullstory.tpl) добавлена поддержка новых тегов условий сравнения значений. Например, тег [if field = "значение"] текст [/if] выведет текст заключённых в них если значения поля равно указанному значению. Данный тег может сравнивать не только равенство, но и также проводить сравнения больше или меньше, находить вхождения. Также в данном теге можно проводить комбинирование разных условий, например: [if field > "3" AND field2 < "5"] текст [/if]. Полный список условий, а также полей для сравнения:

[if field = "значение"] текст [/if] - выведет текст если поле равно параметру 'значение'
[if field != "значение"]текст[/if] - выведет текст если поле не равно параметру 'значение'
[if field > "1"] текст [/if] - выведет текст если поле больше параметра 'значение'
[if field >= "2"] текст [/if] - выведет текст если поле больше либо равно параметру 'значение'
[if field < "3"] текст [/if] - выведет текст если поле меньше параметра 'значение'
[if field <= "4"] текст [/if] - выведет текст если поле меньше либо равно параметру 'значение'
[if field ~ "значение"] текст [/if] - выведет текст если в поле встречается текст 'значение'
[if field !~ "значение"] текст [/if] - выведет текст если в поле НЕ встречается текст 'значение'
Комбинированное использование:

[if field > "3" AND field2 < "5"] текст [/if] выведет текст если поле field больше трех, и при этом field2 меньше 5
[if field > "3" OR field2 < "5"] текст [/if] выведет текст если поле field больше трех или field2 меньше 5, то есть совпадение какого либо либого из условий
Также поддерживается вложенность тегов друг в друга. Имена полей, которое может принимать field:

id - Уникальный ID номер новости (число)
autor - Логин автора новости (текст)
date - Дата новости (дата в английском формате, например "2020-09-01" или "10 September 2020" или "next Thursday" или "+1 day" или "next Thursday" или в unix формате, если же используется знак равенства то дата новости округляется до минуты)
short_story - Текст короткой новости (текст)
full_story - В шаблоне короткой новости это количество символов в полном описании. В шаблоне полной новости непосредственно полный текст.
title - Текст заголовка новости (текст)
descr - Метатег описания новости (текст)
keywords - Метатег "ключевые слова" (текст)
category - Список категорий в которым принадлежит (массив, проверка по массиву ID категорий, которой принадлежит новость)
alt_name - Заголовок на латинице, для формирования адреса страницы при использовании ЧПУ. (текст)
comm_num - Количество комментариев (число)
allow_comm - Разрешены или нет комментарии (число, 1 или 0)
allow_main - Опубликована или нет новость на главной (число, 1 или 0)
approve - Новость опубликована на сайте или на модерации (число, 1 или 0)
fixed - Новость зафиксирована или нет (число, 1 или 0)
symbol - Символьный код (текст)
tags - Список тегов из списка тегов для облака тегов (массив, проверка по массиву слов из облака тегов)
news_read - Количество просмотров (число)
allow_rate - Разрешен рейтинг для новости или нет (число, 1 или 0)
rating - Рейтинг новости, общая сумма всех значений (число)
vote_num - Количество проголосовавших в рейтинге (число)
votes - Есть ли опрос в новости (число, 1 или 0)
view_edit - Отображать или нет причину редактирования (число, 1 или 0)
disable_index - Запрещена или нет индексация в поисковиках (число, 1 или 0)
editdate - Дата редактирования новости (дата в английском формате, например "2020-09-01" или "10 September 2020" или "next Thursday" или "+1 day" или "next Thursday" или в unix формате, если же используется знак равенства то дата округляется до минуты)
editor - Логин последнего редактора публикации (текст)
reason - Причина редактирования новости (текст)
user_id - ID автора публикации (число)
xfield_x - Значение дополнительного поля публикации, где x это имя дополнительного поля. Например xfield_test значение дополнительного поля test


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

5. Добавлена возможность привязки к аккаунту на сайте любой доступной социальной сети к своему аккаунту. Пользователь сайта может привязать к своему аккаунту одну или сразу несколько сетей. И в дальнейшем их использовать для входа на сайт под своим аккаунтом. Для того чтобы привязать социальную сеть к своему аккаунту, пользователь должен быть авторизован на сайте, зайти в свой профиль и там осуществить привязку. При этом аккаунт в социальной сети может быть любым и не имеет никаких требований по совпадению, например e-mail адресов. Для привязки социальных сетей в шаблоне профиля пользователя используются те же теги для авторизации через социальные сети, какие используются в шаблоне login.tpl: {vk_url}, {odnoklassniki_url}, {facebook_url}, {google_url}, {mailru_url}, {yandex_url}

6. Добавлена возможность отвязать от аккаунта на сайте любую из социальных сетей. Даже если она изначально использовалась для первоначального входа на сайт и первой регистрации. Для этого в шаблоне вывода профиля пользователя добавлена поддержка тега {social-list} который выводит список привязанных социальных сетей и ссылки на их отключения от данного аккаунта.

7. В настройки категорий в админпанели скрипта, добавлена возможность назначения каждой категории своего отдельного типа рейтинга для публикаций. Теперь каждая категория может иметь свой отдельный вид рейтинга, а не только один общий для всего сайта.

8. В админпанели в разделе редактирования публикаций, добавлена возможность пересчёта количества комментариев у публикации. Вы можете запускать пересчёт не только комментариев у всех публикаций, что является очень долгим и ресурсоёмким процессом, но пересчитать комментарии только конкретной публикации. Данная функция будет полезна если работа в базе данных над комментариями была произведена, минуя DLE, например импорт в БД информации, удаление или некорректная работа сторонних плагинов.

9. В админпанели в разделе редактирования публикаций, для массовых действий для выбранных публикаций, добавлена возможность пересчёта комментариев. Тем самым вы можете в один клик сделать пересчёт всех комментариев, только для выбранных публикаций.

10. В админпанели в разделе редактирования публикаций, для массовых действий для выбранных публикаций, добавлена возможность удаления всех. Тем самым вы можете в один клик удалить все комментарии для выбранных вами публикаций.

11. При добавлении или редактировании публикаций, в случае если какое-либо дополнительное поле является обязательным, добавлен вывод информации о том какое именно поле является не заполненным и его необходимо заполнить. Ранее выводилась общая ошибка о том, что какое-либо поле не заполнено, и пользователю приходилось самостоятельно искать какое именно поле является обязательным.

12. Добавлена возможность загружать иконки для категорий непосредственно с использованием админпанели DataLife Engine. Осуществить загрузку иконок можно в разделе управления категориями, при добавлении или редактировании категории.

13. Для шаблонов вывода публикаций, а также для шаблона вывода меню категорий добавлена поддержка новых тегов: [category-icon] текст [/category-icon] выводят текст, заключенный в них, если для категории, где находится публикация, была задана иконка в настройках категории. А также добавлена поддержка противоположных тегов: [not-category-icon] текст [/not-category-icon] которые выводят текст если для категории, где находится публикация, не задана иконка. Тем самым вы можете более гибко создавать оформление ваших шаблонов в зависимости от того есть ли у категории иконка или нет.

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

15. Добавлена возможность использования в поиске по сайту символов @ и ~, которые являлись служебными при полнотекстовом поиске на таблицах, использующих InnoDB.

16. Добавлена поддержка сжатия данных по алгоритму Brotli для JS, CSS и HTML, которые формирует DataLife Engine. Данный метод является более эффективным и более быстрым чем обычное zip сжатие данных. Для использования данного алгоритма сжатия на сервере должны быть установлены соответствующие серверные расширения для PHP. Использование данного алгоритма происходит полностью автоматически если DLE определит поддержку этого алгоритма вашим сервером, в случае отсутствия поддержки то сжатие будет автоматически осуществляться доступными средствами, например, zip сжатием.

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

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

19. Добавлена возможность для разделителей вывода категорий и для модуля хлебных крошек, использовать HTML код, при их задании в настройках скрипта. Например, вы можете задать там "</span><span class="test">" для того чтобы сделать более гибкое и разнообразное оформление вашего шаблона.

20. Добавлена поддержка отложенной загрузки видеороликов Youtube опубликованных с использованием тега [media=...] а также любого иного контента, опубликованного при использовании HTML тега iframe. В случае включения отложенной загрузки изображений в настройках скрипта, данная отложенная загрузка будет также осуществляться и для вышеуказанного контента. Что также будет дополнительно ускорять загрузку страниц вашего сайта, т.к. необходимый контент будет загружаться в браузер только по мере прокрутки страницы пользователем.

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

22. В окно загрузки файлов, при выводе информации о ограничениях на размер и объём загружаемых данных, добавлен также учёт ограничений, установленных в серверных настройках. Например, если в настройках скрипта для пользователя разрешено загружать файл размером в 5 мегабайт, а серверные настройки не позволяют загружать более 2 мегабайт, то также при загрузке будет указан что максимальный объём именно 2 мегабайта. Что позволяет сразу избегать путаницы если есть расхождение между настройками скрипта и сервера.

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

24. Для расширенного поиска публикаций в админпанели добавлена возможность поиска запрещённых для индексации поисковиками публикаций. Тем самым вы можете быстро найти публикации, где необходимо изменить данную опцию.

25. Для расширенного поиска публикаций в админпанели добавлена возможность поиска запрещённых для поиска на сайте публикаций. Тем самым вы можете быстро найти публикации, где необходимо изменить данную опцию.

26. Внесены изменения в логику работы подсчёта количества новостей для меню категорий. Ранее подсчёт осуществлялся на основе глобальной настройки осуществлять или нет вывод новостей, принадлежащих подкатегориям. Теперь же подсчёт осуществляется на основе настройки каждой категории, назначенной персонально для каждой категории.

27. Для публикуемых ссылок на сайте, добавлена поддержка протоколов viber://, tg://, skype://, market:// которые позволяют открывать ссылки на сайте в приложениях, установленных для телефона. Таких как Вайбер, Телеграмм, Скайп и Андроид Маркет

28. Для модуля создания резервной копии базы данных добавлена совместимость переноса базы данных с более высокой версии на более низкую. Например, сайт был изначально создан на MySQL 8.0 и переносится на другой сервер где установлен MySQL 5.7. Бекап базы в данном случае будет создан в совместимом с MySQL 5.7 формате.

29. В случае если на странице расположено несколько плееров с видео и аудио, добавлена автоматическая остановка проигрываемых файлов, если пользователь на данной странице включает видео или аудио, находящихся в других плеерах.

30. Внесены изменения в систему формирования меню категорий. В случае если в настройках групп запрещён просмотр каких-либо категорий, и при этом также запрещён просмотр кратких новостей из этих категорий, то данные категории будут также автоматически исключены из показа в меню для данной группы пользователей.

31. Видеоплеер DLE обновлён до актуальной версии. Был исправлен ряд небольших ошибок, и улучшено воспроизведение видео на мобильных устройствах.

32. Для модуля "Поиск и Замена" в админпанели добавлен также поиск и замена в заголовках новостей, если указан поиск по новостям и заголовкам статических страниц, если указан поиск и замена по статическим страницам.

33. При регистрации пользователя на сайте добавлена автоматическая проверка логинов, по ключевым словам, заданным в модуле "Фильтр слов" в админпанели. В случае совпадения с фильтром в регистрации пользователю будет отказано. Данная возможность будет полезна в том случае если вы задаёте фильтр матерных слов, и нет необходимости дополнительно заполнять запрещённые для регистрации имена в фильтрах, предназначенных для регистрации.

34. Добавлено автоматическое удаление тегов вывода значений дополнительных полей из шаблона, в случае если данные этих дополнительных полей отсутствуют. Например, есть дополнительное поле с типом "галерея", и вы выводите ее значения не единым тегом вывода, а каждую картинку по отдельности при помощи тега [xfvalue_X image="Nr"], и в случае если какое либо изображение не было загруженных из указанных, то тег его вывода будет автоматически скрыт. Данное нововведение касается не только вывода изображений, а вообще вывода любых дополнительных полей и их значений.

35. Добавлен запрет на отправку персональных сообщений пользователям, которые находятся в группе, для которой, запрещено использование персональными сообщениями. Ранее сообщения можно было отправлять, но прочитать пользователи могли их только когда этот запрет будет снят.

36. Добавлено автоматическое сохранение сортировки дополнительных полей профиля пользователей в админпанели. Сохранение осуществляется автоматически при изменении порядка, без необходимости нажатия отдельной дополнительной кнопки для сохранения.

37. Добавлено автоматическое скрытие комментария, ожидающего модерации, в админпанели в разделе управления данными комментариями, после его редактирования и публикации на сайте. Тем самым модератор может быстро дальше переходить к обработке следующего комментария.

38. Добавлен автоматический пересчёт статистики в панели управления в случае редактирования комментариев ожидающих модерации.

39. Внесены изменения в систему фильтрации входящих данных, предназначенной для поиска по сайту, в связи с чем улучшен поиск по некоторым ключевым словам.

40. Оптимизирована сортировка дополнительных полей для публикаций в админпанели. Тем самым добавлена возможность производить многократную сортировку или действия над полями, без необходимости предварительной самостоятельной перегрузки страницы.

41. Улучшена система определения используемого протокола сайта http или https, предотвращающая некорректное чтение настроек сервера на определённых конфигурациях.

42. Улучшена система контроля неверных ссылок ЧПУ для некоторых разделов сайта и ссылок.

43. Обновлены визуальные редакторы TinyMCE и Froala до актуальных версий. Исправлен ряд выявленных ошибок в данных редакторах.

44. Внесены изменения в работу системы контроля учётов голосов при выставлении рейтинга для публикаций и комментариев, исправляющие проблему при которой некоторые пользователи не могли изменить свой голос.

45. Исправлена проблема с формированием ссылки на полную новость, если категория была отключена, и она являлась при этом первой категорией из списка нескольких категорий.

46. Исправлена проблема, при которой возникали JS ошибки в случае включения использования нативных смайлов Emoji и отключения редактора для комментариев.

47. Исправлена проблема, при которой нарушалась работа дополнительных полей с типом загружаемый файл в случае перестроения публикаций в админпанели.

48. Исправлена проблема, при которой не убирались автоматически опции новости "Публиковать на главной", "Разрешить комментарии" и "Разрешить рейтинг" при добавлении или редактировании публикаций в админпанели, если одновременно несколько категорий имели запрет на использование данных опций у публикации.

49. Исправлена проблема, при которой дублировался заголовок List-Unsubscribe при массовой рассылке писем с сайта.

50. Исправлена проблема, при которой в ряде случаев, могли удаляться опубликованные комментарии и производится неверный подсчёт комментариев при работе с ожидающими модерации комментариями.

51. Исправлена проблема, при которой не работал расширенный поиск по комментариям, если был включён полнотекстовый поиск в настройках скрипта, а также включена модерация комментариев.

52. Исправлена проблема, при которой не работал расширенный поиск по комментариям, если был задан временной период за которые необходимо искать комментарии.

53. Исправлена проблема, при которой неверно формировался метатег description, если новость не добавлялась и не редактировалась в админпанели, при этом контент публикации слишком маленький.

54. Исправлены обнаруженные и заявленные ранее небольшие ошибки в скрипте.