DevCraft Документации
УстаревшееMH Admin (Legacy)Back-EndClasses

Класс: MhAjax

Документация по плагину класс: mhajax для DLE.

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

Class MhAjax

Описание:

Вспомогательный класс для работы с системой управления DLE (Data Life Engine), загрузкой данных и проверкой ресурсов. Содержит набор методов, облегчающих выполнение AJAX-запросов, валидацию и взаимодействие с внешними и внутренними ресурсами.


Свойства


Методы


Подробности


Свойства

protected $postXfieldKeys : array


Тип: Массив

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

protected $userXfieldKeys : array


Тип: Массив

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

private $api_key : string


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

Гостевой ключ с доступом на просмотр информации ресурса на сайте

Тип: Текст

private $asset_file : string


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

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

Тип: Текст

private $assets_arr : array


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

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

Тип: Массив

private $assets_dir : string


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

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

Тип: Текст

private $cache_folder : string


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

Папка кеша

Тип: Текст

private $prefix : ?string


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

private $recource_id : ?int


Тип: Целое число или null

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

private $update_url : string


Тип: Текст


Методы

__construct

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

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

Описание

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

Возвращает:
mixed

checkAssets

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

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

Описание

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

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

Ассоциативный массив с информацией о проверке файлов:

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

checkUpdate

public checkUpdate(int|null  res = null) : array
Краткое содержание

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

Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$resint|nullnull
Ошибки:
ТипОписание
\JsonException|\ThrowableИсключение, связанное с ошибками в JSON-конверсии (может быть выброшено при выполнении Telegram-лога).
Возвращает:
array

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


clear_cache

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

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

Описание

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

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

get_cache

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

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

Описание

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

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

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


get_used_xfields

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

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

Описание

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

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

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


getApiKey

public getApiKey() : string
Возвращает:
string

getCacheFolder

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

getCats

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

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

Описание

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

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

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


getDleUrl

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

Возвращает URL панели администратора DLE.

Описание

Использует глобальный массив настроек DLE $config для формирования полного URL. Формат возвращаемого значения: http(s)://your-site.com/admin_path.

Возвращает:
string

Конечный URL панели администратора DLE.


getPrefix

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

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

Описание

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

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

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


getRecourceId

public getRecourceId() : int|null
Возвращает:
int|null

getUpdateUrl

public getUpdateUrl() : string
Возвращает:
string

getUser

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

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

Описание

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

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

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


getUserGroups

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

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

Описание

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

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

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


getUsers

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

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

Описание

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

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

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


getXfieldInfo

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

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

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

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


load_data

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

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

Описание

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

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

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


loadXfields

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

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

Описание

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

  • "post": данные загружаются из файла xfields.txt.
  • "user": данные загружаются из файла xprofile.txt. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствах userXfieldKeys или postXfieldKeys.
Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$typestring"post"
Возвращает:
array|false

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


parseAssets

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

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

Описание

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

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

save_asset

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

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

Смотри так-же:
Свойства:
НазваниеТипПо умолчанию
$dataarray
$filestring
Ошибки:
ТипОписание
\JsonException|\ThrowableГенерирует исключение, если возникает ошибка обработки JSON.
Возвращает:
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").

setApiKey

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

setCacheFolder

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

setPrefix

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

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

Описание

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

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

setRecourceId

public setRecourceId(int  recource_id) : void
Свойства:
НазваниеТипПо умолчанию
$recource_idint
Возвращает:
void

setUpdateUrl

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

fetchFileContent

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

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

Описание

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

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

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


generateFileMetadata

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

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

Свойства:
НазваниеТипПо умолчанию
$file_pathstring
Ошибки:
ТипОписание
\RuntimeExceptionЕсли файл не существует или недоступен.
Возвращает:
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

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

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

Описание

Процесс включает следующие этапы:

  1. Получение списка локальных файлов и их данных через метод prepare_assets.
  2. Получение данных об удаленных ресурсах через URL.
  3. Сравнение данных о хэшах локальных и удаленных ресурсов.
  4. Сохранение недостающих или обновленных ресурсов в локальное хранилище.
  5. Запись актуализированных данных в локальный JSON-файл.
Смотри так-же:
Ошибки:
ТипОписание
\JsonException|\ThrowableИсключение выбрасывается в случае ошибки при работе с JSON.
Возвращает:
void

prepare_assets

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

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

Описание

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

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

saveFile

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

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

Описание

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

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

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


set_cache

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

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

Описание

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

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

On this page

Краткое содержание:Описание:СвойстваМетодыПодробностиСвойстваprotected $postXfieldKeys : arrayprotected $userXfieldKeys : arrayprivate $api_key : stringprivate $asset_file : stringprivate $assets_arr : arrayprivate $assets_dir : stringprivate $cache_folder : stringprivate $prefix : ?stringprivate $recource_id : ?intprivate $update_url : stringМетоды__constructКраткое содержаниеОписаниеВозвращает:checkAssetsКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:checkUpdateКраткое содержаниеСмотри так-же:Свойства:Ошибки:Возвращает:clear_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Возвращает:get_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:get_used_xfieldsКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getApiKeyВозвращает:getCacheFolderВозвращает:getCatsКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:getDleUrlКраткое содержаниеОписаниеВозвращает:getPrefixКраткое содержаниеОписаниеСмотри так-же:Возвращает:getRecourceIdВозвращает:getUpdateUrlВозвращает:getUserКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:getUserGroupsКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:getUsersКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:getXfieldInfoКраткое содержаниеСмотри так-же:Свойства:Возвращает:load_dataКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:loadXfieldsКраткое содержаниеОписаниеСмотри так-же:Свойства:Возвращает:parseAssetsКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:save_assetКраткое содержаниеСмотри так-же:Свойства:Ошибки:Возвращает:setApiKeyСвойства:Возвращает:setCacheFolderСвойства:Возвращает:setPrefixКраткое содержаниеОписаниеСвойства:Возвращает:setRecourceIdСвойства:Возвращает:setUpdateUrlСвойства:Возвращает:fetchFileContentКраткое содержаниеОписаниеСвойства:Возвращает:generateFileMetadataКраткое содержаниеСвойства:Ошибки:Возвращает:parse_assetsКраткое содержаниеОписаниеСмотри так-же:Ошибки:Возвращает:prepare_assetsКраткое содержаниеОписаниеСвойства:Возвращает:saveFileКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает:set_cacheКраткое содержаниеОписаниеСмотри так-же:Свойства:Ошибки:Возвращает: