Класс: DleData
Краткое содержание:
Трейт 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
Text Only | |
---|---|
Краткое содержание
Возвращает массив с дополнительными полями, использованными в объекте, либо false
, если данные отсутствуют.
Описание
Метод извлекает данные из базы данных для указанного объекта (поста или пользователя) и преобразует строку с дополнительными полями в массив с ключами и их значениями.
Смотри так-же:
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$id | int | |
$type | string | "post" |
Ошибки:
Тип | Описание |
---|---|
\JsonException | Исключение выбрасывается, если произошла ошибка при работе с JSON. |
Возвращает:
Text Only | |
---|---|
Возвращает массив дополнительных полей объекта в формате ключ => значение, либо false
, если данные отсутствуют.
getCats
Text Only | |
---|---|
Краткое содержание
Возвращает список категорий в виде ассоциативного массива, где ключом является ID категории, а значением — её название.
Описание
Метод загружает данные из базы данных, используя метод load_data
, и сортирует их по названию категории в алфавитном порядке. В результате возвращается массив с ID категорий в качестве ключей и названиями категорий в качестве значений.
Смотри так-же:
Ошибки:
Тип | Описание |
---|---|
\JsonException |
Возвращает:
Text Only | |
---|---|
Ассоциативный массив категорий, где ключ — ID категории, а значение — её название.
getUser
Text Only | |
---|---|
Краткое содержание
Получает данные пользователя по ID или имени пользователя.
Описание
Если ни идентификатор пользователя, ни имя пользователя не переданы, метод возвращает false
. В противном случае выполняется поиск данных в таблице users
с использованием указанного критерия.
Смотри так-же:
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$id | int | null | null |
$uname | string | null | null |
Ошибки:
Тип | Описание |
---|---|
\JsonException |
Возвращает:
Text Only | |
---|---|
Ассоциативный массив с данными о пользователе, если пользователь найден. Возвращает false
, если пользователь не найден или если критерии поиска не заданы.
getUserGroups
Text Only | |
---|---|
Краткое содержание
Получает список групп пользователей в формате массива с идентификаторами и именами групп.
Описание
Метод обращается к функции load_data
для загрузки данных о группах пользователей из таблицы "usergroups" с выборкой полей id
и group_name
, затем преобразует результат в ассоциативный массив с ключами — идентификаторами групп, и значениями — именами групп, отсортированными по названию группы в алфавитном порядке (ASC).
Смотри так-же:
Ошибки:
Тип | Описание |
---|---|
\JsonException |
Возвращает:
Text Only | |
---|---|
Ассоциативный массив, где ключ — идентификатор группы, значение — имя группы.
getUsers
Text Only | |
---|---|
Краткое содержание
Возвращает список пользователей из базы данных.
Описание
Метод загружает данные о пользователях, используя метод load_data
, и возвращает массив, где ключами являются идентификаторы пользователей, а значениями — их имена, отсортированные в алфавитном порядке.
Смотри так-же:
Ошибки:
Тип | Описание |
---|---|
\JsonException |
Возвращает:
Text Only | |
---|---|
Ассоциативный массив пользователей, где ключи — идентификаторы пользователей (user_id), а значения — их имена.
getXfieldInfo
Text Only | |
---|---|
Краткое содержание
Возвращает информацию о дополнительном поле (xfield) на основании его имени и типа.
Смотри так-же:
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$name | string | |
$type | string | "post" |
Возвращает:
Text Only | |
---|---|
Возвращает информацию о поле в виде ассоциативного массива, либо null, если поле не найдено.
loadXfields
Text Only | |
---|---|
Краткое содержание
Загружает дополнительные поля для новостей или профилей пользователей.
Описание
Метод извлекает данные из кэша, либо, при его отсутствии, читает данные из файла конфигурации. Возвращает ассоциативный массив, где ключами являются названия дополнительных полей, а значениями - их параметры. Данные загружаются в зависимости от значения параметра $type
:
"post"
: данные загружаются из файлаxfields.txt
."user"
: данные загружаются из файлаxprofile.txt
. Ключи массива, формируемого из файла конфигурации, соответствуют предопределённым ключам, указанным в свойствахuserXfieldKeys
илиpostXfieldKeys
.
Смотри так-же:
Свойства:
Название | Тип | По умолчанию |
---|---|---|
$type | string | "post" |
Возвращает:
Text Only | |
---|---|
Ассоциативный массив дополнительных полей, где ключ - название поля, значение - его параметры. Возвращает false
в случае невозможности прочитать файл.