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

Класс: MhAjax

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

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

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

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

Описание

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

Возвращает:
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): Массив с данными о файлах, требующих обновления.

checkUpdate

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

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

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

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


clear_cache

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

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

Описание

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

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

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, если данные отсутствуют.


getApiKey

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

getCacheFolder

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

getCats

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

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

Описание

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

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

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


getDleUrl

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

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

Описание

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

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

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


getPrefix

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

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

Описание

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

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

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


getRecourceId

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

getUpdateUrl

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

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), а значения — их имена.


getXfieldInfo

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

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

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

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


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").

setApiKey

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

setCacheFolder

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

setPrefix

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

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

Описание

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

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

setRecourceId

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

setUpdateUrl

Text Only
public setUpdateUrl(string  update_url) : void
Свойства:
Название Тип По умолчанию
$update_url string
Возвращает:
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