Класс Admin предназначен для управления административной панелью проекта.
Описание:
Содержит функционал для подключения файлов CSS и JS, настройки переменных окружения, работы с меню и шапками страниц. Использует трейты для загрузки данных, взаимодействия с DLE и проверки файлов ресурсов.
Массив со скриптами, которые используются в административной панели.
Описание
Скрипты представляют собой коллекцию путей к JavaScript-файлам, необходимых для работы функциональных компонентов интерфейса.
Тип: массив Массив содержит ссылки на JavaScript-файлы, таких, как библиотеки, редактор SCEditor и его плагины, а также прочие утилиты для интерфейса административной панели. Подробности: * Смотри так-же: * Метод для добавления пользовательских JavaScript-файлов.
Массив с различными переменными для шаблонизатора.
Описание
Используется для настройки и передачи данных, таких как пути к стилям и скриптам, информация об авторе, ссылки для хлебных крошек, а также настройки меню и другие параметры.
Описание ключей: - css_dir: строка, папка со стилями. - js_dir: строка, папка со скриптами. - css: массив, содержит список подключаемых стилей. - js: массив, содержит список подключаемых скриптов. - url: строка, ссылка для корректного отображения стилей и скриптов на сайте. - lic_link: строка, ссылка на пользовательское соглашение. - author: массив, информация об авторе модуля: - author.name: строка, имя автора. - author.contacts: массив, список контактной информации автора: - author.contacts.name: строка, название контактного средства (например, E-Mail). - author.contacts.link: строка, ссылка для связи (например, mailto:dev@devcraft.club). - author.donate: массив, данные о поддержке: - author.donate.name: строка, название платёжной системы (например, PayPal). - author.donate.value: строка, описание платёжной системы (например, paypal.me/MaximH). - author.donate.link: строка, ссылка платёжной системы (например, https://paypal.me/MaximH). - menu: массив, ссылки для меню сайта. - breadcrumbs: массив, ссылки на хлебные крошки.
Тип: массив Значение свойств этой переменной задаётся по умолчанию или изменяется через методы класса.
Проверяет целостность файлов между локальным хранилищем и сервером разработчика.
Описание
Если файлы отсутствуют или имеют различия в хеш-суммах, информация об этих расхождениях возвращается в виде массива. При необходимости может быть выполнена перезапись локального файла с данными о ресурсах.
Ассоциативный массив с информацией о проверке файлов: - on_server (int): Количество файлов, находящихся на сервере разработчика. - local (int): Количество локальных файлов. - missing_count (int): Количество недостающих файлов. - update_count (int): Количество файлов, требующих обновления. - missing (array): Массив с данными о недостающих файлах. - update (array): Массив с данными о файлах, требующих обновления.
Метод позволяет очистить кеш для переданного типа или полностью, если тип "all". Использует внутренний метод CacheControl::clearCache для выполнения операции очистки.
Возвращает массив декодированных данных, если файл кеша успешно найден и данные корректны, или false, если произошла ошибка (например, файл не найден или данные некорректны).
public get_used_xfields(int id, string type = "post") : array|bool
Краткое содержание
Возвращает массив с дополнительными полями, использованными в объекте, либо false, если данные отсутствуют.
Описание
Метод извлекает данные из базы данных для указанного объекта (поста или пользователя) и преобразует строку с дополнительными полями в массив с ключами и их значениями.
Возвращает список категорий в виде ассоциативного массива, где ключом является ID категории, а значением — её название.
Описание
Метод загружает данные из базы данных, используя метод load_data, и сортирует их по названию категории в алфавитном порядке. В результате возвращается массив с ID категорий в качестве ключей и названиями категорий в качестве значений.
Возвращает имя ссылки на основе предоставленного имени.
Описание
Метод извлекает информацию о ссылке с помощью метода getLinkInfo(). Если информация найдена, возвращается имя ссылки через метод getName(). В противном случае возвращается false.
Метод извлекает информацию о ссылке с помощью метода getLinkInfo(). Если информация найдена, возвращается URL ссылки. Если информация отсутствует, возвращается false.
Возвращает префикс для использования в SQL-запросах.
Описание
Метод проверяет, установлен ли префикс. Если префикс не задан, он вызывает метод setPrefix(), чтобы установить его значение. Затем возвращает установившийся префикс.
public getUser(int|null id = null, string|null uname = null) : array|false
Краткое содержание
Получает данные пользователя по ID или имени пользователя.
Описание
Если ни идентификатор пользователя, ни имя пользователя не переданы, метод возвращает false. В противном случае выполняется поиск данных в таблице users с использованием указанного критерия.
Ассоциативный массив с данными о пользователе, если пользователь найден. Возвращает false, если пользователь не найден или если критерии поиска не заданы.
Получает список групп пользователей в формате массива с идентификаторами и именами групп.
Описание
Метод обращается к функции load_data для загрузки данных о группах пользователей из таблицы "usergroups" с выборкой полей id и group_name, затем преобразует результат в ассоциативный массив с ключами — идентификаторами групп, и значениями — именами групп, отсортированными по названию группы в алфавитном порядке (ASC).
Метод загружает данные о пользователях, используя метод load_data, и возвращает массив, где ключами являются идентификаторы пользователей, а значениями — их имена, отсортированные в алфавитном порядке.
public getVariables(string|null name = null) : array
Краткое содержание
Получает массив переменных, связанных с модулем.
Описание
Метод возвращает ассоциативный массив с переменными, используемыми в модуле, такими как параметры путей (CSS, JS), массивы подключаемых файлов, дополнительные ссылки, меню и настройки. Если передано название переменной, метод возвращает только значение данной переменной.
public htmlStatic(string|array data, string view = "html", string type = "css") : array
Краткое содержание
Обрабатывает массив или строку с данными ссылок на статичные файлы и формирует HTML-разметку или массив ссылок в зависимости от переданных параметров.
Описание
Формирование HTML производится для типов файлов css и js, добавляя соответствующие теги (<link> или <script>). В случае, если используются ссылки, возвращается только массив ссылок.
public loadXfields(string type = "post") : array|false
Краткое содержание
Загружает дополнительные поля для новостей или профилей пользователей.
Описание
Метод извлекает данные из кэша, либо, при его отсутствии, читает данные из файла конфигурации. Возвращает ассоциативный массив, где ключами являются названия дополнительных полей, а значениями - их параметры. Данные загружаются в зависимости от значения параметра $type: - "post": данные загружаются из файла xfields.txt. - "user": данные загружаются из файла xprofile.txt. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствах userXfieldKeys или postXfieldKeys.
Выполняет парсинг вспомогательных файлов для управления ассетами.
Описание
Если файл с хешами ассетов существует, то парсинг выполняется только при принудительном запуске. В случае отсутствия указанного файла производится полное сканирование ассетов.
Возвращает массив с информацией о сохранённом файле или false, если файл не удалось сохранить. Массив содержит следующие ключи: - 'realpath' (string): Полный реальный путь до файла. - 'dirname' (string): Директория файла. - 'basename' (string): Имя файла с расширением. - 'filename' (string): Имя файла без расширения. - 'extension' (string): Расширение файла. - 'mime' (string): MIME-тип файла. - 'encoding' (string): Тип кодирования файла. - 'size' (int): Размер файла в байтах. - 'size_string' (string): Размер файла в человекочитаемом формате (например, "1.5MB"). - 'atime' (int): Время последнего доступа к файлу (в метках времени Unix). - 'mtime' (int): Время последней модификации файла (в метках времени Unix). - 'permission' (string): Права доступа на файл (в формате UNIX-подобной строки, например, "0755").
Добавляет новый CSS-файл в массив cssArr и обновляет соответствующую переменную css.
Описание
Метод принимает путь или массив путей к CSS-файлам и добавляет их в массив cssArr. Впоследствии массив обрабатывается с помощью функции htmlStatic, которая генерирует массив HTML-тегов <link>. Обновленный массив HTML-тегов записывается в переменную css через метод setVar.
Метод принимает один или несколько путей до JavaScript файлов и объединяет их с массивом $jsArr. После этого обновляет переменную js с помощью вызова метода htmlStatic для формирования HTML-тегов <script>, необходимых для подключения этих файлов.
public setLink(\AdminLink link, string parent) : void
Краткое содержание
Устанавливает ссылку в массив меню для указанного родительского элемента.
Описание
Этот метод добавляет объект AdminLink в массив menu, вложенный в переменную variables, обеспечивая возможность хранения структуры меню с учетом родительских элементов. Основное назначение метода — организовать меню по принципу вложенности.
Устанавливает префикс для использования в загрузке данных.
Описание
Если переданное имя соответствует значениям "users" или "usergroup", то префикс устанавливается в значение константы USERPREFIX. В противном случае используется значение по умолчанию из константы PREFIX.
Устанавливает или обновляет несколько переменных в массиве $variables.
Описание
Метод принимает ассоциативный массив и обновляет соответствующие переменные с использованием метода {@see}. Если ключ из массива отсутствует в допустимых значениях, он все равно будет добавлен.
Метод пытается загрузить содержимое файла с основной (link) и, при необходимости, с альтернативной (alt) ссылки, если содержимое по основной ссылке пустое.
Ассоциативный массив, содержащий следующую информацию о файле: - 'realpath' (string|null): Абсолютный путь до файла. - 'dirname' (string): Путь к директории, содержащей файл. - 'basename' (string): Имя файла с расширением. - 'filename' (string): Имя файла без расширения. - 'extension' (string|null): Расширение файла. - 'mime' (string): MIME-тип файла. - 'encoding' (string): Кодировка файла. - 'size' (int): Размер файла в байтах. - 'size_string' (string): Читаемое представление размера файла (например, "10.5 KB"). - 'atime' (int): Временная метка последнего доступа к файлу. - 'mtime' (int): Временная метка последней модификации файла. - 'permission' (string): Права доступа к файлу (например, "0755").
Парсит данные о ресурсах (assets), проверяет наличие отсутствующих или обновленных, и обновляет информацию. Также сохраняет актуальные данные в локальный файл ресурсов.
Описание
Процесс включает следующие этапы: 1. Получение списка локальных файлов и их данных через метод prepare_assets. 2. Получение данных об удаленных ресурсах через URL. 3. Сравнение данных о хэшах локальных и удаленных ресурсов. 4. Сохранение недостающих или обновленных ресурсов в локальное хранилище. 5. Запись актуализированных данных в локальный JSON-файл.
Метод записывает данные в кеш, используя указанный тип и имя. Для сохранения данных вызывается метод CacheControl::setCache, который обрабатывает директорию и имя файла, записывает данные в формате JSON и устанавливает необходимые права доступа к файлу.
Устанавливает информацию об авторе и сохраняет её в массиве глобальных переменных.
Описание
Информация об авторе включает: - Имя автора; - Контактные данные (например, E-Mail, Telegram, Вебсайт); - Данные о пожертвованиях (например, PayPal, Ko-Fi, Yandex.Money, DonationAlerts).
Контактные данные локализуются с использованием функции __().