Вспомогательный класс для работы с системой управления DLE (Data Life Engine), загрузкой данных и проверкой ресурсов. Содержит набор методов, облегчающих выполнение AJAX-запросов, валидацию и взаимодействие с внешними и внутренними ресурсами.
Если файлы отсутствуют или имеют различия в хеш-суммах, информация об этих расхождениях возвращается в виде массива. При необходимости может быть выполнена перезапись локального файла с данными о ресурсах.
Метод позволяет очистить кеш для переданного типа или полностью, если тип "all". Использует внутренний метод CacheControl::clearCache для выполнения операции очистки.
Возвращает массив декодированных данных, если файл кеша успешно найден и данные корректны, или false, если произошла ошибка (например, файл не найден или данные некорректны).
Метод извлекает данные из базы данных для указанного объекта (поста или пользователя) и преобразует строку с дополнительными полями в массив с ключами и их значениями.
Метод загружает данные из базы данных, используя метод load_data, и сортирует их по названию категории в алфавитном порядке. В результате возвращается массив с ID категорий в качестве ключей и названиями категорий в качестве значений.
Метод проверяет, установлен ли префикс. Если префикс не задан, он вызывает метод setPrefix(), чтобы установить его значение. Затем возвращает установившийся префикс.
Если ни идентификатор пользователя, ни имя пользователя не переданы, метод возвращает false. В противном случае выполняется поиск данных в таблице users с использованием указанного критерия.
Ассоциативный массив с данными о пользователе, если пользователь найден. Возвращает false, если пользователь не найден или если критерии поиска не заданы.
Метод обращается к функции load_data для загрузки данных о группах пользователей из таблицы "usergroups" с выборкой полей id и group_name, затем преобразует результат в ассоциативный массив с ключами — идентификаторами групп, и значениями — именами групп, отсортированными по названию группы в алфавитном порядке (ASC).
Метод загружает данные о пользователях, используя метод load_data, и возвращает массив, где ключами являются идентификаторы пользователей, а значениями — их имена, отсортированные в алфавитном порядке.
Метод извлекает данные из кэша, либо, при его отсутствии, читает данные из файла конфигурации. Возвращает ассоциативный массив, где ключами являются названия дополнительных полей, а значениями - их параметры. Данные загружаются в зависимости от значения параметра $type:
"post": данные загружаются из файла xfields.txt.
"user": данные загружаются из файла xprofile.txt. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствах userXfieldKeys или postXfieldKeys.
Если файл с хешами ассетов существует, то парсинг выполняется только при принудительном запуске. В случае отсутствия указанного файла производится полное сканирование ассетов.
Если переданное имя соответствует значениям "users" или "usergroup", то префикс устанавливается в значение константы USERPREFIX. В противном случае используется значение по умолчанию из константы PREFIX.
Метод пытается загрузить содержимое файла с основной (link) и, при необходимости, с альтернативной (alt) ссылки, если содержимое по основной ссылке пустое.
Парсит данные о ресурсах (assets), проверяет наличие отсутствующих или обновленных, и обновляет информацию. Также сохраняет актуальные данные в локальный файл ресурсов.
Метод записывает данные в кеш, используя указанный тип и имя. Для сохранения данных вызывается метод CacheControl::setCache, который обрабатывает директорию и имя файла, записывает данные в формате JSON и устанавливает необходимые права доступа к файлу.