Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/modules/im/lib/model/ |
Upload File : |
<?php namespace Bitrix\Im\Model; use Bitrix\Main\ArgumentTypeException, Bitrix\Main\ORM\Data\DataManager, Bitrix\Main\ORM\Fields\DatetimeField, Bitrix\Main\ORM\Fields\IntegerField, Bitrix\Main\ORM\Fields\StringField, Bitrix\Main\ORM\Fields\Validators\LengthValidator, Bitrix\Main\SystemException; use Bitrix\Main\Entity\Event; use Bitrix\Main\ORM\EventResult; use Bitrix\Main\Type\DateTime; /** * Class OptionGroupTable * * Fields: * <ul> * <li> ID int mandatory * <li> NAME string(255) optional * <li> USER_ID int optional * <li> SORT int mandatory * <li> DATE_CREATE datetime mandatory * <li> CREATE_BY_ID int mandatory * <li> DATE_MODIFY datetime optional * <li> MODIFY_BY_ID int optional * </ul> * * @package Bitrix\Im * * DO NOT WRITE ANYTHING BELOW THIS * * <<< ORMENTITYANNOTATION * @method static EO_OptionGroup_Query query() * @method static EO_OptionGroup_Result getByPrimary($primary, array $parameters = []) * @method static EO_OptionGroup_Result getById($id) * @method static EO_OptionGroup_Result getList(array $parameters = []) * @method static EO_OptionGroup_Entity getEntity() * @method static \Bitrix\Im\Model\EO_OptionGroup createObject($setDefaultValues = true) * @method static \Bitrix\Im\Model\EO_OptionGroup_Collection createCollection() * @method static \Bitrix\Im\Model\EO_OptionGroup wakeUpObject($row) * @method static \Bitrix\Im\Model\EO_OptionGroup_Collection wakeUpCollection($rows) */ class OptionGroupTable extends DataManager { /** * Returns DB table name for entity. * * @return string */ public static function getTableName(): string { return 'b_im_option_group'; } /** * Returns entity map definition. * * @return array * @throws SystemException */ public static function getMap(): array { return [ 'ID' => (new IntegerField('ID', [ 'primary' => true, 'autocomplete' => true, ])), 'NAME' => (new StringField('NAME', [ 'validation' => [__CLASS__, 'validateName'] ])), 'USER_ID' => (new IntegerField('USER_ID', [])), 'SORT' => (new IntegerField('SORT', [ 'required' => true, ])), 'DATE_CREATE' => (new DatetimeField('DATE_CREATE', [ 'required' => true, ])), 'CREATE_BY_ID' => (new IntegerField('CREATE_BY_ID', [ 'required' => true, ])), 'DATE_MODIFY' => (new DatetimeField('DATE_MODIFY', [])), 'MODIFY_BY_ID' => (new IntegerField('MODIFY_BY_ID', [])), ]; } /** * Returns validators for NAME field. * * @return array * @throws ArgumentTypeException */ public static function validateName(): array { return [ new LengthValidator(null, 255), ]; } public static function onBeforeAdd(Event $event): EventResult { $data = $event->getParameter('fields'); $result = new EventResult(); if (!isset($data['CREATE_DATE']) || !is_array($data['CREATE_DATE'])) { $result->modifyFields(['DATE_CREATE' => new Datetime()]); } return $result; } public static function onBeforeUpdate(Event $event): EventResult { $data = $event->getParameter('fields'); $result = new EventResult(); if (!isset($data['MODIFY_DATE']) || !is_array($data['MODIFY_DATE'])) { $result->modifyFields(['DATE_MODIFY' => new DateTime()]); } return $result; } }