1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
TempFileTable.php
См. документацию.
1<?php
2
3namespace Bitrix\UI\FileUploader;
4
5use Bitrix\Main\DB\SqlExpression;
6use Bitrix\Main\ORM\Data;
7use Bitrix\Main\ORM\Event;
8use Bitrix\Main\ORM\Fields;
9use Bitrix\Main\ORM\Fields\Relations\Reference;
10use Bitrix\Main\ORM\Query\Join;
11use Bitrix\Main\Type\DateTime;
12
30{
31 public static function getTableName()
32 {
33 return 'b_ui_file_uploader_temp_file';
34 }
35
36 public static function getObjectClass()
37 {
38 return TempFile::class;
39 }
40
41 public static function getMap()
42 {
43 return [
44 (new Fields\IntegerField('ID'))
45 ->configurePrimary()
46 ->configureAutocomplete()
47 ,
48
49 (new Fields\StringField("GUID"))
50 ->configureUnique(true)
51 ->configureNullable(false)
52 ->configureDefaultValue(static function () {
53 return sprintf('%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
54 mt_rand(0, 0xffff), mt_rand(0, 0xffff),
55 mt_rand(0, 0xffff),
56 mt_rand(0, 0x0fff) | 0x4000,
57 mt_rand(0, 0x3fff) | 0x8000,
58 mt_rand(0, 0xffff), mt_rand(0, 0xffff), mt_rand(0, 0xffff)
59 );
60 })
61 ->configureSize(36)
62 ,
63
64 new Fields\IntegerField('FILE_ID'),
65
66 (new Fields\StringField('FILENAME'))
67 ->configureRequired()
68 ->configureSize(255)
69 ,
70
71 (new Fields\IntegerField('SIZE'))
72 ->configureRequired()
73 ->configureSize(8)
74 ,
75
76 (new Fields\StringField('PATH'))
77 ->configureRequired()
78 ->configureSize(255)
79 ,
80
81 (new Fields\StringField('MIMETYPE'))
82 ->configureRequired()
83 ->configureSize(255)
84 ,
85
86 (new Fields\IntegerField('RECEIVED_SIZE'))
87 ->configureSize(8)
88 ,
89 new Fields\IntegerField('WIDTH'),
90 new Fields\IntegerField('HEIGHT'),
91
92 new Fields\IntegerField('BUCKET_ID'),
93 (new Fields\StringField('MODULE_ID'))
94 ->configureRequired()
95 ->configureSize(50)
96 ,
97
98 (new Fields\StringField('CONTROLLER'))
99 ->configureRequired()
100 ->configureSize(255)
101 ,
102
103 (new Fields\BooleanField('CLOUD'))
104 ->configureValues(0, 1)
105 ->configureDefaultValue(0)
106 ,
107
108 (new Fields\BooleanField('UPLOADED'))
109 ->configureValues(0, 1)
110 ->configureDefaultValue(0)
111 ,
112
113 (new Fields\BooleanField('DELETED'))
114 ->configureValues(0, 1)
115 ->configureDefaultValue(0)
116 ,
117
118 (new Fields\IntegerField('CREATED_BY'))
119 ->configureRequired()
120 ->configureDefaultValue(static function () {
121 global $USER;
122 if (is_object($USER) && method_exists($USER, 'getId'))
123 {
124 return (int)$USER->getId();
125 }
126
127 return 0;
128 })
129 ,
130
131 (new Fields\DatetimeField('CREATED_AT'))
132 ->configureDefaultValue(static function () {
133 return new DateTime();
134 })
135 ,
136
137 (new Reference(
138 'FILE',
139 \Bitrix\Main\FileTable::class,
140 Join::on('this.FILE_ID', 'ref.ID'),
141 ['join_type' => Join::TYPE_INNER]
142 )),
143 ];
144 }
145
146 public static function onDelete(Event $event)
147 {
148 $tempFile = $event->getParameter('object');
149 if (!$tempFile)
150 {
151 $id = $event->getParameter('primary')['ID'];
152 $tempFile = self::getById($id)->fetchObject();
153 }
154
155 if ($tempFile)
156 {
157 $tempFile->fill();
158
159 $deleteBFile = $tempFile->customData->get('deleteBFile') !== false;
160 $tempFile->deleteContent($deleteBFile);
161 }
162 }
163}
Определения event.php:5
static getById($id)
Определения datamanager.php:364
static onDelete(Event $event)
Определения TempFileTable.php:146
global $USER
Определения csv_new_run.php:40
$event
Определения prolog_after.php:141