Класс: DleData
Документация по плагину класс: dledata для DLE.
Краткое содержание:
Трейт DleData предоставляет методы для работы с дополнительными данными (xfields),
пользователями, группами, категориями и другими сущностями в контексте системы управления данными.
Описание:
Основные функции:
- Загрузка, получение и обработка дополнительных полей (xfields) для постов и пользователей.
- Управление данными пользователей, групп, категорий и их настройками.
- Интеграция с кешированием для повышения производительности. Преимущества:
- Использование кеша для уменьшения количества запросов к базе данных.
- Гибкость в управлении динамическими полями и других данных. Применения:
- Подходит для случаев, где требуется работать с различными сущностями (статьи, пользователи и т.д.) с поддержкой дополнительных параметров. Свойства:
$postXfieldKeys: Список ключей конфигурации для дополнительных полей новостей (настраиваемых полей).$userXfieldKeys: Список ключей конфигурации для дополнительных полей пользователей. Методы:load_data: Универсальный метод для выполнения SQL-запросов к базе данных с поддержкой кеширования.get_used_xfields: Извлекает и возвращает дополнительные поля объекта (поста или пользователя).loadXfields: Загружает дополнительные поля из конфигурационных файлов.getXfieldInfo: Предоставляет информацию о конкретном поле на основе его имени.- Другие методы позволяют управлять пользователями, группами и категориями.
Свойства
- protected $postXfieldKeys
- protected $userXfieldKeys
Методы
- public get_used_xfields()
- public getCats()
- public getUser()
- public getUserGroups()
- public getUsers()
- public getXfieldInfo()
- public loadXfields()
Подробности
- Путь: engine/inc/maharder/_includes/traits/DleData.php
Свойства
protected $postXfieldKeys : array
Тип: Массив
Подробности:
| Ключ | Позиция в массиве | Описание |
|---|---|---|
| name | 0 | системное имя поля |
| description | 1 | описание поля |
| category | 2 | Разрешённые категории |
| type | 3 | тип поля |
| default | 4 | Значения по умолчанию |
| is_required | 5 | обязательное поле (1 или 0) |
| is_link | 6 | Перекрёстные ссылки (1 или 0) |
| use_editor | 7 | Подключать редактор при добавлении или редактировании публикаций для данного поля |
| is_safe | 8 | Безопасный режим поля (отключение BB тегов и HTML) |
| image_max_size | 9 | Максимальные размеры оригинального изображения |
| image_max_file_size | 10 | Максимальный вес изображения |
| use_watermark | 11 | Наложить водяные знаки |
| image_create_min | 12 | Создать уменьшенную копию |
| image_min_size | 13 | Размеры уменьшенной копии |
| file_ext | 14 | Расширения файлов, допустимых к загрузке |
| file_max_file_size | 15 | Максимальный размер файла допустимый к загрузке на сервер (в килобайтах) |
| gallery_max_images | 16 | Максимальное кол-во изображений |
| yesno_enabled | 17 | Значение по умолчанию для поля да/нет |
| hint | 18 | Подсказка |
| groups_allow_add | 19 | Разрешить добавление для групп |
| groups_allow_view | 20 | Разрешить просмотр для групп |
| separator | 21 | Разделитель |
| image_min_file_size | 22 | Минимальные размеры изображения для загрузки |
| datetime_type | 23 | Формат заполнения |
| datetime_format | 24 | Формат вывода даты |
| datetime_localize | 25 | Локализовывать дату при выводе на сайте |
| datetime_decline | 26 | Склонять дату при выводе на сайте |
| is_public | 27 | Загружать файл как публичный |
| allow_template | 28 | Разрешить вставку тега вывода данного поля в текст новостей |
| use_opengraph | 29 | Использовать изображение в разметке Open Graph |
| lazy_load | 30 | Отложенная загрузка изображений |
| video_max_files | 31 | Количество загружаемых файлов |
| video_max_file_size | 32 | Максимальный размер файла допустимый к загрузке на сервер (в килобайтах) |
| storage | 33 | Хранилище загрузок |
| select_multiple | 34 | Разрешить выбор нескольких значений |
| select_separator | 35 | разделитель для поля "Список" |
| min_chars | 36 | Минимальное количество символов в поле |
| max_chars | 37 | Максимальное количество символов в поле |
| image_max_size_side | 38 | По которой стороне определять максимальный размер оригинального изображения |
| image_min_size_side | 39 | По которой стороне определять размер уменьшенной копии изображения |
protected $userXfieldKeys : array
Тип: Массив
Подробности:
| Ключ | Позиция в массиве | Описание |
|---|---|---|
| name | 0 | системное имя поля |
| description | 1 | описание поля |
| registration_page | 2 | отображать на странице регистрации |
| type | 3 | тип поля |
| allow_change | 4 | Поле может быть изменено пользователем |
| is_private | 5 | Личное поле |
| default_value | 6 | Значение по умолчанию |
| is_save | 7 | Безопасный режим поля (отключение BB тегов и HTML) |
Методы
get_used_xfields
public get_used_xfields(int id, string type = "post") : array|boolКраткое содержание
Возвращает массив с дополнительными полями, использованными в объекте, либо false, если данные отсутствуют.
Описание
Метод извлекает данные из базы данных для указанного объекта (поста или пользователя) и преобразует строку с дополнительными полями в массив с ключами и их значениями.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $id | int | |
| $type | string | "post" |
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException | Исключение выбрасывается, если произошла ошибка при работе с JSON. |
Возвращает:
array|boolВозвращает массив дополнительных полей объекта в формате
ключ => значение, либо false, если данные отсутствуют.
getCats
public getCats() : arrayКраткое содержание
Возвращает список категорий в виде ассоциативного массива, где ключом является ID категории, а значением — её название.
Описание
Метод загружает данные из базы данных, используя метод load_data, и сортирует их по названию категории в
алфавитном порядке. В результате возвращается массив с ID категорий в качестве ключей и названиями категорий в
качестве значений.
Смотри так-же:
Ошибки:
| Тип | Описание |
|---|---|
| \JsonException |
Возвращает:
arrayАссоциативный массив категорий, где ключ — ID категории, а значение — её название.
getUser
public getUser(int|null id = null, string|null uname = null) : array|falseКраткое содержание
Получает данные пользователя по ID или имени пользователя.
Описание
Если ни идентификатор пользователя, ни имя пользователя не переданы, метод возвращает false.
В противном случае выполняется поиск данных в таблице users с использованием указанного критерия.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $id | int | null | null |
| $uname | string | null | null |
Ошибки:
| Тип | Описание |
|---|---|
| \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) на основании его имени и типа.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $name | string | |
| $type | string | "post" |
Возвращает:
array|nullВозвращает информацию о поле в виде ассоциативного массива, либо null, если поле не найдено.
loadXfields
public loadXfields(string type = "post") : array|falseКраткое содержание
Загружает дополнительные поля для новостей или профилей пользователей.
Описание
Метод извлекает данные из кэша, либо, при его отсутствии, читает данные из файла конфигурации.
Возвращает ассоциативный массив, где ключами являются названия дополнительных полей, а значениями - их
параметры.
Данные загружаются в зависимости от значения параметра $type:
"post": данные загружаются из файлаxfields.txt."user": данные загружаются из файлаxprofile.txt. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствахuserXfieldKeysилиpostXfieldKeys.
Смотри так-же:
Свойства:
| Название | Тип | По умолчанию |
|---|---|---|
| $type | string | "post" |
Возвращает:
array|falseАссоциативный массив дополнительных полей, где ключ - название поля, значение - его
параметры. Возвращает false в случае невозможности прочитать файл.