Перейти к содержанию

Класс: Admin

Краткое содержание:

Класс Admin предназначен для управления административной панелью проекта.

Описание:

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


Свойства


Методы


Подробности


Свойства

protected $postXfieldKeys : array


Тип: массив

Подробности:

protected $userXfieldKeys : array


Тип: массив

Подробности:

private $asset_file : string


Краткое содержание

Файл с информацией и хешами вспомогательных файлов

Тип: текст

Подробности:

private $assets_arr : array


Краткое содержание

Массив со всеми данными для обновления стилей и скриптов

Тип: массив

Подробности:

private $assets_dir : string


Краткое содержание

Путь до всех вспомогательных файлов

Тип: текст

Подробности:

private $breadcrumb : array


Краткое содержание

Хранит данные для построения хлебных крошек в административной панели.

Тип: массив

Подробности: * Смотри так-же: * Используется для установки значений хлебных крошек. * Используется для получения текущих значений хлебных крошек.

private $cache_folder : string


Краткое содержание

Папка кеша

Тип: текст

Подробности:

private $cssArr : array


Краткое содержание

Список CSS-файлов, используемых в разделе администратора.

Тип: массив

Подробности: * Смотри так-же: * Метод для добавления CSS-файлов.

Tags
Тэг Версия Описание
global string URL Глобальная переменная, содержащая базовый URL проекта.

private $jsArr : array


Краткое содержание

Массив со скриптами, которые используются в административной панели.

Описание

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

Тип: массив Массив содержит ссылки на JavaScript-файлы, таких, как библиотеки, редактор SCEditor и его плагины, а также прочие утилиты для интерфейса административной панели. Подробности: * Смотри так-же: * Метод для добавления пользовательских JavaScript-файлов.

Tags
Тэг Версия Описание
global string URL Глобальная переменная, определяющая базовый URL приложения.


Тип: массив

Подробности:

private $prefix : ?string


Тип: текст или null

Подробности:

private $variables : array


Краткое содержание

Массив с различными переменными для шаблонизатора.

Описание

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

Описание ключей: - 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: массив, ссылки на хлебные крошки.

Тип: массив Значение свойств этой переменной задаётся по умолчанию или изменяется через методы класса.

Подробности: * Смотри так-же: * Для установки/обновления одного или нескольких значений. * Для получения массива переменных. * Для настройки информации об авторе. * Для присвоения ссылок (например, для меню или хлебных крошек). * \Author


Методы

__construct

Text Only
public __construct() : mixed
Краткое содержание

Конструктор класса.

Описание

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

Смотри так-же:
Ошибки:
Тип Описание
\JsonException \Throwable
Возвращает:
Text Only
mixed

checkAssets

Text Only
public checkAssets(bool  rewrite = false) : array
Краткое содержание

Проверяет целостность файлов между локальным хранилищем и сервером разработчика.

Описание

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

Смотри так-же:
Свойства:
Название Тип По умолчанию
$rewrite bool false
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array
Ассоциативный массив с информацией о проверке файлов: - on_server (int): Количество файлов, находящихся на сервере разработчика. - local (int): Количество локальных файлов. - missing_count (int): Количество недостающих файлов. - update_count (int): Количество файлов, требующих обновления. - missing (array): Массив с данными о недостающих файлах. - update (array): Массив с данными о файлах, требующих обновления.


clear_cache

Text Only
public clear_cache(string  type = "all") : void
Краткое содержание

Очищает кеш указанного типа.

Описание

Метод позволяет очистить кеш для переданного типа или полностью, если тип "all". Использует внутренний метод CacheControl::clearCache для выполнения операции очистки.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string 'all'
Возвращает:
Text Only
void

Text Only
static public generate_link(string  name, string  href, string  type = "link", array  children = [], string|null  data_val = null) : \AdminLink
Краткое содержание

Создаёт экземпляр класса AdminLink с данными о ссылке.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
$href string
$type string "link"
$children array []
$data_val string| null null
Возвращает:

Text Only
\AdminLink
Объект класса AdminLink с заданными параметрами.


get_cache

Text Only
public get_cache(string  type, string  name) : array|false
Краткое содержание

Получает кешированные данные для заданного типа и имени.

Описание

Метод использует статический метод CacheControl::getCache(), чтобы получить данные из файловой системы.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string
$name string
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array|false
Возвращает массив декодированных данных, если файл кеша успешно найден и данные корректны, или false, если произошла ошибка (например, файл не найден или данные некорректны).


get_used_xfields

Text Only
public get_used_xfields(int  id, string  type = "post") : array|bool
Краткое содержание

Возвращает массив с дополнительными полями, использованными в объекте, либо false, если данные отсутствуют.

Описание

Метод извлекает данные из базы данных для указанного объекта (поста или пользователя) и преобразует строку с дополнительными полями в массив с ключами и их значениями.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$id int
$type string "post"
Ошибки:
Тип Описание
\JsonException Исключение выбрасывается, если произошла ошибка при работе с JSON.
Возвращает:

Text Only
array|bool
Возвращает массив дополнительных полей объекта в формате ключ => значение, либо false, если данные отсутствуют.


getBreadcrumb

Text Only
public getBreadcrumb() : array
Краткое содержание

Возвращает текущий массив данных хлебных крошек.

Смотри так-же:
Возвращает:

Text Only
array
Массив хлебных крошек.


getCacheFolder

Text Only
public getCacheFolder() : string
Возвращает:
Text Only
string

getCats

Text Only
public getCats() : array
Краткое содержание

Возвращает список категорий в виде ассоциативного массива, где ключом является ID категории, а значением — её название.

Описание

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

Смотри так-же:
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array
Ассоциативный массив категорий, где ключ — ID категории, а значение — её название.


getLinkInfo

Text Only
public getLinkInfo(string  name) : bool|\AdminLink
Краткое содержание

Возвращает информацию о ссылке из меню.

Свойства:
Название Тип По умолчанию
$name string
Возвращает:

Text Only
bool|\AdminLink
Объект AdminLink, если ссылка найдена, или false, если ссылка отсутствует.


getLinkName

Text Only
public getLinkName(string  name) : string|false
Краткое содержание

Возвращает имя ссылки на основе предоставленного имени.

Описание

Метод извлекает информацию о ссылке с помощью метода getLinkInfo(). Если информация найдена, возвращается имя ссылки через метод getName(). В противном случае возвращается false.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
Возвращает:

Text Only
string|false
Имя ссылки или false, если информация не найдена.


getLinkUrl

Text Only
public getLinkUrl(string  name) : string|false
Краткое содержание

Возвращает URL ссылки по указанному имени.

Описание

Метод извлекает информацию о ссылке с помощью метода getLinkInfo(). Если информация найдена, возвращается URL ссылки. Если информация отсутствует, возвращается false.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
Возвращает:

Text Only
string|false
URL ссылки, если информация доступна, или false, если ссылка не найдена.


getPrefix

Text Only
public getPrefix() : string
Краткое содержание

Возвращает префикс для использования в SQL-запросах.

Описание

Метод проверяет, установлен ли префикс. Если префикс не задан, он вызывает метод setPrefix(), чтобы установить его значение. Затем возвращает установившийся префикс.

Смотри так-же:
Возвращает:

Text Only
string
Префикс, используемый для построения SQL-запросов.


getUser

Text Only
public getUser(int|null  id = null, string|null  uname = null) : array|false
Краткое содержание

Получает данные пользователя по ID или имени пользователя.

Описание

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

Смотри так-же:
Свойства:
Название Тип По умолчанию
$id int|null null
$uname string|null null
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array|false
Ассоциативный массив с данными о пользователе, если пользователь найден. Возвращает false, если пользователь не найден или если критерии поиска не заданы.


getUserGroups

Text Only
public getUserGroups() : array
Краткое содержание

Получает список групп пользователей в формате массива с идентификаторами и именами групп.

Описание

Метод обращается к функции load_data для загрузки данных о группах пользователей из таблицы "usergroups" с выборкой полей id и group_name, затем преобразует результат в ассоциативный массив с ключами — идентификаторами групп, и значениями — именами групп, отсортированными по названию группы в алфавитном порядке (ASC).

Смотри так-же:
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array
Ассоциативный массив, где ключ — идентификатор группы, значение — имя группы.


getUsers

Text Only
public getUsers() : array
Краткое содержание

Возвращает список пользователей из базы данных.

Описание

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

Смотри так-же:
Ошибки:
Тип Описание
\JsonException
Возвращает:

Text Only
array
Ассоциативный массив пользователей, где ключи — идентификаторы пользователей (user_id), а значения — их имена.


getVariables

Text Only
public getVariables(string|null  name = null) : array
Краткое содержание

Получает массив переменных, связанных с модулем.

Описание

Метод возвращает ассоциативный массив с переменными, используемыми в модуле, такими как параметры путей (CSS, JS), массивы подключаемых файлов, дополнительные ссылки, меню и настройки. Если передано название переменной, метод возвращает только значение данной переменной.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string|null null
Возвращает:

Text Only
array
Ассоциативный массив переменных модуля или значение конкретной переменной.


getXfieldInfo

Text Only
public getXfieldInfo(string  name, string  type = 'post') : array|null
Краткое содержание

Возвращает информацию о дополнительном поле (xfield) на основании его имени и типа.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
$type string 'post'
Возвращает:

Text Only
array|null
Возвращает информацию о поле в виде ассоциативного массива, либо null, если поле не найдено.


htmlStatic

Text Only
public htmlStatic(string|array  data, string  view = "html", string  type = "css") : array
Краткое содержание

Обрабатывает массив или строку с данными ссылок на статичные файлы и формирует HTML-разметку или массив ссылок в зависимости от переданных параметров.

Описание

Формирование HTML производится для типов файлов css и js, добавляя соответствующие теги (<link> или <script>). В случае, если используются ссылки, возвращается только массив ссылок.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$data string|array
$view string 'html'
$type string 'css'
Возвращает:

Text Only
array
Массив с HTML-строками или ссылками в зависимости от параметра $view.


load_data

Text Only
public load_data(string  name, mixed  ..._vars) : array
Краткое содержание

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

Описание

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

Смотри так-же:
Свойства:
Название Тип По умолчанию
$name string
$_vars mixed
Ошибки:
Тип Описание
\JsonException В случае JSON-ошибок при работе с кешем.
Возвращает:

Text Only
array
Результат выборки из базы данных, либо из кеша.


loadXfields

Text Only
public loadXfields(string  type = "post") : array|false
Краткое содержание

Загружает дополнительные поля для новостей или профилей пользователей.

Описание

Метод извлекает данные из кэша, либо, при его отсутствии, читает данные из файла конфигурации. Возвращает ассоциативный массив, где ключами являются названия дополнительных полей, а значениями - их параметры. Данные загружаются в зависимости от значения параметра $type: - "post": данные загружаются из файла xfields.txt. - "user": данные загружаются из файла xprofile.txt. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствах userXfieldKeys или postXfieldKeys.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string 'post'
Возвращает:

Text Only
array|false
Ассоциативный массив дополнительных полей, где ключ - название поля, значение - его параметры. Возвращает false в случае невозможности прочитать файл.


parseAssets

Text Only
public parseAssets(bool  parse = false) : void
Краткое содержание

Выполняет парсинг вспомогательных файлов для управления ассетами.

Описание

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

Смотри так-же:
Свойства:
Название Тип По умолчанию
$parse bool false
Ошибки:
Тип Описание
\JsonException|\Throwable В случае ошибок в процессах обработки JSON-файлов.
Возвращает:
Text Only
void

save_asset

Text Only
public save_asset(array  data, string  file) : array|false
Краткое содержание

Сохраняет файл на сервер и возвращает информацию о нём или false в случае неуспеха.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$data array
$file string
Ошибки:
Тип Описание
\JsonException|\Throwable Генерирует исключение, если возникает ошибка обработки JSON.
Возвращает:

Text Only
array|false
Возвращает массив с информацией о сохранённом файле или 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").


setAuthor

Text Only
public setAuthor(\Author  autor) : void
Краткое содержание

Устанавливает объект автора в массив переменных.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$autor \Author
Возвращает:
Text Only
void

setBreadcrumb

Text Only
public setBreadcrumb(\BreadCrumb  crumb) : void
Краткое содержание

Добавляет объект хлебной крошки в массив крошек

Смотри так-же:
Свойства:
Название Тип По умолчанию
$crumb \BreadCrumb
Возвращает:
Text Only
void

setCacheFolder

Text Only
public setCacheFolder(string  cache_folder) : void
Свойства:
Название Тип По умолчанию
$cache_folder string
Возвращает:
Text Only
void

setCss

Text Only
public setCss(array|string  css) : void
Краткое содержание

Добавляет новый CSS-файл в массив cssArr и обновляет соответствующую переменную css.

Описание

Метод принимает путь или массив путей к CSS-файлам и добавляет их в массив cssArr. Впоследствии массив обрабатывается с помощью функции htmlStatic, которая генерирует массив HTML-тегов &lt;link&gt;. Обновленный массив HTML-тегов записывается в переменную css через метод setVar.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$css array|string
Возвращает:
Text Only
void

setJs

Text Only
public setJs(array|string  js) : void
Краткое содержание

Добавляет новый JavaScript файл в массив $jsArr.

Описание

Метод принимает один или несколько путей до JavaScript файлов и объединяет их с массивом $jsArr. После этого обновляет переменную js с помощью вызова метода htmlStatic для формирования HTML-тегов <script>, необходимых для подключения этих файлов.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$js array|string
Возвращает:
Text Only
void

Text Only
public setLink(\AdminLink  link, string  parent) : void
Краткое содержание

Устанавливает ссылку в массив меню для указанного родительского элемента.

Описание

Этот метод добавляет объект AdminLink в массив menu, вложенный в переменную variables, обеспечивая возможность хранения структуры меню с учетом родительских элементов. Основное назначение метода — организовать меню по принципу вложенности.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$link \AdminLink
$parent string
Возвращает:
Text Only
void

Text Only
public setLinks(array  links) : void
Краткое содержание

Добавляет несколько ссылок в массив меню.

Описание

Использует метод setLink для добавления каждой ссылки.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$links array
Возвращает:
Text Only
void

setPrefix

Text Only
public setPrefix(string|null  name = null) : void
Краткое содержание

Устанавливает префикс для использования в загрузке данных.

Описание

Если переданное имя соответствует значениям "users" или "usergroup", то префикс устанавливается в значение константы USERPREFIX. В противном случае используется значение по умолчанию из константы PREFIX.

Свойства:
Название Тип По умолчанию
$name string|null null
Возвращает:
Text Only
void

setVar

Text Only
public setVar(string  name, mixed  value) : void
Краткое содержание

Устанавливает значение переменной или обновляет существующую.

Описание

Метод добавляет новую переменную в массив $variables или обновляет значение уже существующей, идентифицируемой по имени.

Свойства:
Название Тип По умолчанию
$name string
$value mixed
Возвращает:
Text Only
void

setVars

Text Only
public setVars(array  arr = []) : void
Краткое содержание

Устанавливает или обновляет несколько переменных в массиве $variables.

Описание

Метод принимает ассоциативный массив и обновляет соответствующие переменные с использованием метода {@see}. Если ключ из массива отсутствует в допустимых значениях, он все равно будет добавлен.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$arr array []
Возвращает:
Text Only
void

upload_file

Text Only
public upload_file() : void
Краткое содержание

TODO: доработать

Возвращает:
Text Only
void

fetchFileContent

Text Only
private fetchFileContent(array  data) : string|null
Краткое содержание

Получает содержимое файла по указанным ссылкам.

Описание

Метод пытается загрузить содержимое файла с основной (link) и, при необходимости, с альтернативной (alt) ссылки, если содержимое по основной ссылке пустое.

Свойства:
Название Тип По умолчанию
$data array
Возвращает:

Text Only
string|null
Возвращает содержимое файла, либо null, если не удалось загрузить файл.


generateFileMetadata

Text Only
private generateFileMetadata(string  file_path) : array
Краткое содержание

Генерирует метаданные для указанного файла.

Свойства:
Название Тип По умолчанию
$file_path string
Ошибки:
Тип Описание
\RuntimeException Если файл не существует или недоступен.
Возвращает:

Text Only
array
Ассоциативный массив, содержащий следующую информацию о файле: - '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").


parse_assets

Text Only
private parse_assets() : void
Краткое содержание

Парсит данные о ресурсах (assets), проверяет наличие отсутствующих или обновленных, и обновляет информацию. Также сохраняет актуальные данные в локальный файл ресурсов.

Описание

Процесс включает следующие этапы: 1. Получение списка локальных файлов и их данных через метод prepare_assets. 2. Получение данных об удаленных ресурсах через URL. 3. Сравнение данных о хэшах локальных и удаленных ресурсов. 4. Сохранение недостающих или обновленных ресурсов в локальное хранилище. 5. Запись актуализированных данных в локальный JSON-файл.

Смотри так-же:
Ошибки:
Тип Описание
\JsonException|\Throwable Исключение выбрасывается в случае ошибки при работе с JSON.
Возвращает:
Text Only
void

prepare_assets

Text Only
private prepare_assets(array  arr, string  dir = __DIR__) : void
Краткое содержание

Подготавливает данные о файлах, расположенных на локальном сервере, и сохраняет их в массив assets_arr.

Описание

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

Свойства:
Название Тип По умолчанию
$arr array
$dir string __DIR__
Возвращает:
Text Only
void

saveFile

Text Only
private saveFile(string  file_path, string  content, string  file) : bool
Краткое содержание

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

Описание

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

Смотри так-же:
Свойства:
Название Тип По умолчанию
$file_path string
$content string
$file string
Ошибки:
Тип Описание
\Throwable
Возвращает:

Text Only
bool
Возвращает true, если файл успешно сохранён, или false — в случае ошибки.


set_cache

Text Only
private set_cache(string  type, string  name, mixed  data) : void
Краткое содержание

Сохраняет данные в кеш.

Описание

Метод записывает данные в кеш, используя указанный тип и имя. Для сохранения данных вызывается метод CacheControl::setCache, который обрабатывает директорию и имя файла, записывает данные в формате JSON и устанавливает необходимые права доступа к файлу.

Смотри так-же:
Свойства:
Название Тип По умолчанию
$type string
$name string
$data mixed
Ошибки:
Тип Описание
\JsonException
Возвращает:
Text Only
void

setDefaultAuthor

Text Only
private setDefaultAuthor() : void
Краткое содержание

Устанавливает информацию об авторе и сохраняет её в массиве глобальных переменных.

Описание

Информация об авторе включает: - Имя автора; - Контактные данные (например, E-Mail, Telegram, Вебсайт); - Данные о пожертвованиях (например, PayPal, Ko-Fi, Yandex.Money, DonationAlerts).

Контактные данные локализуются с использованием функции __().

Смотри так-же:
Ошибки:
Тип Описание
\Throwable В случае ошибок при добавлении информации или работе с объектом Author.
Возвращает:
Text Only
void