Классы сущностей

Непосредственное использование классов первого уровня имеет смысл, если необходима повышенная производительность или повышенная гибкость функционала. Данный раздел предназначен для опытных разработчиков.

Класс UserAccess

Данный класс содержит вспомогательные методы для определения прав доступа, а также привязок к сайтам и языкам. Располагается в lib/useraccess.php

Метод

Описание

GetAllModuleRights

Метод возвращает массив возможных прав (D/R/W/X) и показатели их значимости.

GetAllModuleRightsLang

Метод возвращает массив языковых подписей для прав (D/R/W/X).

GetAllGroups

Метод возвращает массив всех групп пользователей. Если параметр $only_active=true, то возвращаются только активные группы.

GetUserGroups

Метод возвращает массив идов групп, к которым принадлежит данный пользователь. Если параметр $for_user_id=0, то вычисляются группы текущего пользователя.

GetAllSitesIds

Метод возвращает массив всех сайтов в виде их кодов.

GetAllLangs

Метод возвращает массив всех языков в виде их кодов.

Класс PropertyType

Данный класс содержит методы, возвращающие информацию по типам свойств. Располагается в lib/property_type.php

Метод

Описание

fieldTypes

Метод возвращает массив типов свойств с языковыми подписями.

getFieldType

Метод возвращает объект типа свойства в зависимости от переданных параметров.

getShowEditType

Метод в зависимости от переданных параметров возвращает массив для использования в вызове методов (View/Edit/Filter) модуля simai.property – нужный тип универсального свойства и часть его параметров.

propTypeSettings

Метод возвращает список кодов дополнительных параметров для поля SETTINGS свойств хранилища в зависимости от параметра $type.

propAllSettings

Метод возвращает массив с информацией по всем возможным дополнительным параметрам для поля SETTINGS свойств хранилища (не включая некоторые специальные параметры, например зависимость показа свойств друг от друга).

getURLVars

Метод возвращает массив переменых шаблона URL нужно типа (storage/section/item), которые будут доступны для выбора при задании шаблонов путей в настройках хранилища.

GetStoragesList

Метод возвращает список идов всех хранилищ, либо если параметр $full_info=true – массивв с заголовками хранилищ. Данный метод используется, в частности, при валидации привязок разных объектов к хранилищам (проверка существования).

validateUnique

Метод возввращает стандартный объект \Bitrix\Main\Entity\Validator\Unique.

validateLength

Метод возвращает стандартный валидатор длины строки \Bitrix\Main\Entity\Validator\Length с заданной в параметров макс. длиной строки $length.

validateRegExp

Метод возвращает стандартный валидатор \Bitrix\Main\Entity\Validator\RegExp по переданному в параметрах выражению $RegExp.

Класс StorageTable

Данный класс предназначен для непосредственной работы с сущностью хранилищ. Располагается в lib/entities.php

Метод

Описание

validateSites

Метод-валидатор для поля сущности, проверяет наличие привязки к сайтам.

validateStorageId

Метод-валидатор для поля сущности, проверяет правильность формата кода хранилища.

validateStorageIdExists

Метод-валидатор для поля сущности, проверяет, существует ли хранилище с заданным кодом.

validateStorageIdExistsUniq

Аналогичен предыдущему методу с дополнительной валидацией уникальности поля.

validateLanguageId

Метод-валидатор для поля сущности, проверяет правильность задания кода языка.

validateRightsChar

Метод-валидатор для поля сущности, проверяет правильность задания буквенного кода прав.

validateSort

Метод-валидатор для поля сущности, проверяет формат для полей сортировки (только цифры).

checkStorageSubTables

Метод проверяет, существуют ли уже таблицы хранилища:

- таблица свойств sf_storage_(код хранилища),

- таблица элементов sf_storage_(код хранилища)_element.

Если таблицы не существуют, то создает их.

CheckCorrectSites

Метод проверяет, существуют ли сайты с заданными в параметрах кодами, и возвращает только те коды, что прошли проверку.

CheckCorrectAccess

Метод проверяет корректность массива прав вида Array("ид группы"=>"уровень доступа D / R / W / X ", ...), элементы массива, для которых не существует нужной группы или кода прав, удаляются из результата.

add

Метод добавляет новое хранилище. Уровень прав не проверяется – это задача классов 2 уровня.

update

Метод изменяет параметры хранилища. Уровень прав не проверяется – это задача классов 2 уровня.

delete

Метод удаляет хранилище. Уровень прав не проверяется – это задача классов 2 уровня.

getList

Метод возвращает список хранилищ. Уровень прав не проверяется – это задача классов 2 уровня.

getById

Метод возвращает информацию по хранилищу с кодом $storage_id.

addDataTablePropColumn

Метод добавляет для нового свойства колонку в таблицах свойств – для хранения значений и языковые колонки в таблице элементов для сортировок по свойствам.

updateDataTablePropColumn

Метод обновляет для свойства колонку в таблицах свойств – для хранения значений и языковые колонки в таблице элементов для сортировок по свойствам.

compileDataEntity

Метод создает сущность, опирающуюся на таблицу свойств хранилища с именем sf_storage_(код хранилища)

Такая сущность находится не в пространстве имен SIMAI, а в корневом уровне.

Для нужд метода \SIMAI\Storage\Element::getList с помощью этого метода могут создаваться дополнительные сущности с ограниченным набором полей свойств.

Для этого предназначены параметры $propFields (ограниченный набор кодов свойств) и $name_ext (модификатор имени сущности, чтобы она могла существовать параллельно основной и другим доп. сущностям, опирающимся на таблицу свойств).

Параметр $rebuild отвечает за пересоздание сущности. По умолчанию сущность пересоздается при каждом вызове метода, но в некоторых случаях пересоздание не требуется.

compileElementsEntity

Метод создает сущность, опирающуюся на таблицу элементов хранилища с именем sf_storage_(код хранилища)_element

Такая сущность находится не в пространстве имен SIMAI, а в корневом уровне.

Параметры $check_search_columns и $check_prop_columns нужны, чтобы создать для сущности поисковые поля и поля для языковой сортировки по значениям свойств. Эти параметры по умолчанию заданы как true.

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

Аналогично происходит проверка существования колонок доступа для групп (только для тех хранилищ, где ELEMENT_ACCESS='Y').

Параметр $rebuild отвечает за пересоздание сущности. По умолчанию сущность пересоздается при каждом вызове метода, но в некоторых случаях пересоздание не требуется.

sections_tree_resort

Метод служит для пересортировки разделов хранилища с учетом их вложенности. Является основой для \SIMAI\Storage\Element::tree_resort

items_clear_resort

Метод нужен для очищения у элементов-записей хранилища полей, специфичных для элементов-разделов

Класс PropertyTable

Данный класс предназначен для непосредственной работы с сущностью свойств. Располагается в lib/entities.php

Метод

Описание

validatePropCode

Метод-валидатор для поля сущности, проверяет правильность формата кода свойства.

validatePropType

Метод-валидатор для поля сущности, проверяет существование типа свойства, обращаясь к классу \SIMAI\Storage\PropertyType.

checkSettings

Метод проверяет массив дополнительных параметров для поля SETTINGS свойства и убирает из него параметры, не соотвествующие данному типу свойств, обращаясь к классу \SIMAI\Storage\PropertyType.

add

Метод добавляет новое свойство.

update

Метод изменяет параметры свойства.

delete

Метод удаляет свойство.

Класс PropertyLanTable

Данный класс предназначен для непосредственной работы с сущностью языковых версий свойств. Располагается в lib/entities.php

Метод

Описание

checkPropLangs

Метод для проверки, существует ли для данного хранилища совпадающие заголовки свойств для языков. Нужен для предотвращения дублирования заголовков у разных свойств.

add

Метод добавляет новую языковую версию свойства.

update

Метод изменяет параметры языковой версии свойства.

delete

Метод удаляет языковую версию свойства.

Класс SetTable

Данный класс предназначен для непосредственной работы с сущностью наборов. Располагается в lib/entities.php

Метод

Описание

validateSetId

Метод-валидатор для поля сущности, проверяет правильность формата кода набора.

CheckCorrectStorages

Метод для проверки массива кодов хранилища, передаваемого для поля SET, если набор относится к хранилищам.

CheckCorrectElements

Метод для проверки массива идов элементов хранилища, передаваемого для поля SET, если набор относится к элементам.

add

Метод добавляет новый набор.

update

Метод изменяет параметры набора.

delete

Метод удаляет свойство.

Класс SetTable

Данный класс предназначен для непосредственной работы с сущностью языковых версий наборов. Располагается в lib/entities.php

Метод

Описание

checkPropLangs

Метод для проверки, существует ли совпадающие заголовки наборов для языков. Нужен для предотвращения дублирования заголовков у разных наборов.

add

Метод добавляет новую языковую версию для набора .

update

Метод изменяет параметры языковой версии набора с ключом $primary.

delete

Метод удаляет языковую версию набора.