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

Класс: DleData

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

Трейт DleData предоставляет методы для работы с дополнительными данными (xfields), пользователями, группами, категориями и другими сущностями в контексте системы управления данными.

Описание:

Основные функции:

  • Загрузка, получение и обработка дополнительных полей (xfields) для постов и пользователей.
  • Управление данными пользователей, групп, категорий и их настройками.
  • Интеграция с кешированием для повышения производительности. Преимущества:
  • Использование кеша для уменьшения количества запросов к базе данных.
  • Гибкость в управлении динамическими полями и других данных. Применения:
  • Подходит для случаев, где требуется работать с различными сущностями (статьи, пользователи и т.д.) с поддержкой дополнительных параметров. Свойства:
  • $postXfieldKeys: Список ключей конфигурации для дополнительных полей новостей (настраиваемых полей).
  • $userXfieldKeys: Список ключей конфигурации для дополнительных полей пользователей. Методы:
  • load_data: Универсальный метод для выполнения SQL-запросов к базе данных с поддержкой кеширования.
  • get_used_xfields: Извлекает и возвращает дополнительные поля объекта (поста или пользователя).
  • loadXfields: Загружает дополнительные поля из конфигурационных файлов.
  • getXfieldInfo: Предоставляет информацию о конкретном поле на основе его имени.
  • Другие методы позволяют управлять пользователями, группами и категориями.

Свойства


Методы


Подробности

  • Путь: 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
public get_used_xfields(int  id, string  type = "post") : array|bool
Краткое содержание

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

Описание

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

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

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


getCats

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

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

Описание

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

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

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


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, если поле не найдено.


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 в случае невозможности прочитать файл.