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

Класс: DleDataService

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

Агрегирует справочные данные DLE: пользователи, группы, категории, xfields.


Свойства

Нет публичных свойств.


Методы


Подробности

  • Путь: devcraft/src/classes/Support/DleDataService.php

Детали

Методы

__construct()

Инициализирует зависимости: $loader, $cacheTimer.

С версии: 200.4.0

Параметры: - $loader — Сервис загрузки таблиц DLE. - $cacheTimer — TTL кеша xfields в секундах.

users()

Возвращает список пользователей DLE с основными полями.

С версии: 173.3.0

Возвращает: array<int, array<string, mixed>> — Строки users.

user()

Возвращает одного пользователя по id или имени.

С версии: 173.3.0

Параметры: - $id — ID пользователя или null. - $uname — Имя пользователя или null.

Возвращает: array<string, mixed>|array{} — Первая строка или пустой массив.

groups()

Возвращает карту id => group_name для групп пользователей.

С версии: 173.3.0

Возвращает: array<int|string, — string> Ассоциативный список групп.

groupsFull()

Возвращает полные строки таблицы usergroups.

С версии: 173.3.0

Возвращает: array<int, array<string, mixed>> — Все колонки групп.

categories()

Возвращает карту id => name для категорий DLE.

С версии: 173.3.0

Возвращает: array<int|string, — string> Ассоциативный список категорий.

categoriesFull()

Возвращает полные строки таблицы category.

С версии: 173.3.0

Возвращает: array<int, array<string, mixed>> — Все колонки категорий.

postXfields()

Загружает описание доп. полей публикаций из xfields.json.

С версии: 173.3.0

Возвращает: array<string, array<string, mixed>> — Поля по имени.

userXfields()

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

С версии: 173.3.0

Возвращает: array<string, array<string, mixed>> — Поля по имени.

parseObjectXfields()

Разбирает строку xfields записи post или user в ассоциативный массив.

С версии: 173.3.0

Параметры: - $id — ID записи или пользователя. - $type — Тип объекта: post или user.

Возвращает: array<string, — string|null> Имя поля => значение.

loadXfieldsFromJson()

Загружает xfields из JSON с кешированием.

С версии: 173.3.0

Параметры: - $cacheName — Ключ кеша. - $fileName — Имя файла в ENGINE_DIR/data/.

Возвращает: array<string, array<string, mixed>> — Поля xfields.

readJsonFields()

Читает и декодирует JSON-файл xfields из каталога data DLE.

С версии: 173.3.0

Параметры: - $fileName — Имя файла (xfields.json или userxfields.json).

Возвращает: array<string, array<string, mixed>> — Секция fields или пустой массив.

parseXfieldsString()

Парсит сериализованную строку xfields DLE формата «name|value||…».

С версии: 173.3.0

Параметры: - $raw — Сырыая строка xfields.

Возвращает: array<string, — string|null> Имя => значение.

readJsonCache()

Читает закешированные xfields, если TTL не истёк.

С версии: 173.3.0

Параметры: - $cacheName — Ключ кеша.

Возвращает: array<string, array<string, mixed>> — |null Поля или null.

writeJsonCache()

Записывает xfields в кеш DevCraft.

С версии: 173.3.0

Параметры: - $cacheName — Ключ кеша.