1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
|
4
|
|
|
namespace Arrilot\BitrixMigrations\Constructors; |
5
|
|
|
|
6
|
|
|
|
7
|
|
|
use Arrilot\BitrixMigrations\Logger; |
8
|
|
|
use Bitrix\Main\Application; |
9
|
|
|
|
10
|
|
|
class IBlock |
11
|
|
|
{ |
12
|
|
|
use FieldConstructor; |
13
|
|
|
|
14
|
|
|
/** |
15
|
|
|
* Добавить инфоблок |
16
|
|
|
* @throws \Exception |
17
|
|
|
*/ |
18
|
|
View Code Duplication |
public function add() |
|
|
|
|
19
|
|
|
{ |
20
|
|
|
$obj = new \CIBlock(); |
21
|
|
|
|
22
|
|
|
$iblockId = $obj->Add($this->getFieldsWithDefault()); |
23
|
|
|
if (!$iblockId) { |
24
|
|
|
throw new \Exception($obj->LAST_ERROR); |
25
|
|
|
} |
26
|
|
|
|
27
|
|
|
Logger::log("Добавлен инфоблок {$this->fields['CODE']}", Logger::COLOR_GREEN); |
28
|
|
|
|
29
|
|
|
return $iblockId; |
30
|
|
|
} |
31
|
|
|
|
32
|
|
|
/** |
33
|
|
|
* Обновить инфоблок |
34
|
|
|
* @param $id |
35
|
|
|
* @throws \Exception |
36
|
|
|
*/ |
37
|
|
View Code Duplication |
public function update($id) |
|
|
|
|
38
|
|
|
{ |
39
|
|
|
$obj = new \CIBlock(); |
40
|
|
|
if (!$obj->Update($id, $this->fields)) { |
41
|
|
|
throw new \Exception($obj->LAST_ERROR); |
42
|
|
|
} |
43
|
|
|
|
44
|
|
|
Logger::log("Обновлен инфоблок {$id}", Logger::COLOR_GREEN); |
45
|
|
|
} |
46
|
|
|
|
47
|
|
|
/** |
48
|
|
|
* Удалить инфоблок |
49
|
|
|
* @param $id |
50
|
|
|
* @throws \Exception |
51
|
|
|
*/ |
52
|
|
|
public static function delete($id) |
53
|
|
|
{ |
54
|
|
|
if (!\CIBlock::Delete($id)) { |
55
|
|
|
throw new \Exception('Ошибка при удалении инфоблока'); |
56
|
|
|
} |
57
|
|
|
|
58
|
|
|
Logger::log("Удален инфоблок {$id}", Logger::COLOR_GREEN); |
59
|
|
|
} |
60
|
|
|
|
61
|
|
|
/** |
62
|
|
|
* Установить настройки для добавления инфоблока по умолчанию |
63
|
|
|
* @param $name |
64
|
|
|
* @param $code |
65
|
|
|
* @param $iblock_type_id |
66
|
|
|
* @return $this |
67
|
|
|
*/ |
68
|
|
|
public function constructDefault($name, $code, $iblock_type_id) |
69
|
|
|
{ |
70
|
|
|
return $this->setName($name)->setCode($code)->setIblockTypeId($iblock_type_id); |
71
|
|
|
} |
72
|
|
|
|
73
|
|
|
/** |
74
|
|
|
* ID сайта. |
75
|
|
|
* @param string $siteId |
76
|
|
|
* @return $this |
77
|
|
|
*/ |
78
|
|
|
public function setSiteId($siteId) |
79
|
|
|
{ |
80
|
|
|
$this->fields['SITE_ID'] = $siteId; |
81
|
|
|
|
82
|
|
|
return $this; |
83
|
|
|
} |
84
|
|
|
|
85
|
|
|
/** |
86
|
|
|
* Символьный идентификатор. |
87
|
|
|
* @param string $code |
88
|
|
|
* @return $this |
89
|
|
|
*/ |
90
|
|
|
public function setCode($code) |
91
|
|
|
{ |
92
|
|
|
$this->fields['CODE'] = $code; |
93
|
|
|
|
94
|
|
|
return $this; |
95
|
|
|
} |
96
|
|
|
|
97
|
|
|
/** |
98
|
|
|
* Внешний код. |
99
|
|
|
* @param string $xml_id |
100
|
|
|
* @return $this |
101
|
|
|
*/ |
102
|
|
|
public function setXmlId($xml_id) |
103
|
|
|
{ |
104
|
|
|
$this->fields['XML_ID'] = $xml_id; |
105
|
|
|
|
106
|
|
|
return $this; |
107
|
|
|
} |
108
|
|
|
|
109
|
|
|
/** |
110
|
|
|
* Код типа инфоблока |
111
|
|
|
* @param string $iblockTypeId |
112
|
|
|
* @return $this |
113
|
|
|
*/ |
114
|
|
|
public function setIblockTypeId($iblockTypeId) |
115
|
|
|
{ |
116
|
|
|
$this->fields['IBLOCK_TYPE_ID'] = $iblockTypeId; |
117
|
|
|
|
118
|
|
|
return $this; |
119
|
|
|
} |
120
|
|
|
|
121
|
|
|
/** |
122
|
|
|
* Название. |
123
|
|
|
* @param string $name |
124
|
|
|
* @return $this |
125
|
|
|
*/ |
126
|
|
|
public function setName($name) |
127
|
|
|
{ |
128
|
|
|
$this->fields['NAME'] = $name; |
129
|
|
|
|
130
|
|
|
return $this; |
131
|
|
|
} |
132
|
|
|
|
133
|
|
|
/** |
134
|
|
|
* Флаг активности |
135
|
|
|
* @param bool $active |
136
|
|
|
* @return $this |
137
|
|
|
*/ |
138
|
|
|
public function setActive($active = true) |
139
|
|
|
{ |
140
|
|
|
$this->fields['ACTIVE'] = $active ? 'Y' : 'N'; |
141
|
|
|
|
142
|
|
|
return $this; |
143
|
|
|
} |
144
|
|
|
|
145
|
|
|
/** |
146
|
|
|
* Индекс сортировки. |
147
|
|
|
* @param int $sort |
148
|
|
|
* @return $this |
149
|
|
|
*/ |
150
|
|
|
public function setSort($sort = 500) |
151
|
|
|
{ |
152
|
|
|
$this->fields['SORT'] = $sort; |
153
|
|
|
|
154
|
|
|
return $this; |
155
|
|
|
} |
156
|
|
|
|
157
|
|
|
/** |
158
|
|
|
* Шаблон URL-а к странице для публичного просмотра списка элементов информационного блока. |
159
|
|
|
* @param string $listPageUrl |
160
|
|
|
* @return $this |
161
|
|
|
*/ |
162
|
|
|
public function setListPageUrl($listPageUrl) |
163
|
|
|
{ |
164
|
|
|
$this->fields['LIST_PAGE_URL'] = $listPageUrl; |
165
|
|
|
|
166
|
|
|
return $this; |
167
|
|
|
} |
168
|
|
|
|
169
|
|
|
/** |
170
|
|
|
* Шаблон URL-а к странице для просмотра раздела. |
171
|
|
|
* @param string $sectionPageUrl |
172
|
|
|
* @return $this |
173
|
|
|
*/ |
174
|
|
|
public function setSectionPageUrl($sectionPageUrl) |
175
|
|
|
{ |
176
|
|
|
$this->fields['SECTION_PAGE_URL'] = $sectionPageUrl; |
177
|
|
|
|
178
|
|
|
return $this; |
179
|
|
|
} |
180
|
|
|
|
181
|
|
|
/** |
182
|
|
|
* Канонический URL элемента. |
183
|
|
|
* @param string $canonicalPageUrl |
184
|
|
|
* @return $this |
185
|
|
|
*/ |
186
|
|
|
public function setCanonicalPageUrl($canonicalPageUrl) |
187
|
|
|
{ |
188
|
|
|
$this->fields['CANONICAL_PAGE_URL'] = $canonicalPageUrl; |
189
|
|
|
|
190
|
|
|
return $this; |
191
|
|
|
} |
192
|
|
|
|
193
|
|
|
/** |
194
|
|
|
* URL детальной страницы элемента. |
195
|
|
|
* |
196
|
|
|
* @param string $detailPageUrl |
197
|
|
|
* |
198
|
|
|
* @return $this |
199
|
|
|
*/ |
200
|
|
|
public function setDetailPageUrl($detailPageUrl) |
201
|
|
|
{ |
202
|
|
|
$this->fields['DETAIL_PAGE_URL'] = $detailPageUrl; |
203
|
|
|
|
204
|
|
|
return $this; |
205
|
|
|
} |
206
|
|
|
|
207
|
|
|
/** |
208
|
|
|
* Устанавливает значения по умолчанию для страниц инфоблока, раздела и деталей элемента |
209
|
|
|
* (как при создании через административный интерфейс или с ЧПУ). |
210
|
|
|
* |
211
|
|
|
* Для использовании ЧПУ рекомендуется сделать обязательными для заполнения символьный код |
212
|
|
|
* элементов и разделов инфоблока. |
213
|
|
|
* |
214
|
|
|
* @param bool sef Использовать ли ЧПУ (понадобится добавить правило в urlrewrite) |
215
|
|
|
* |
216
|
|
|
* @return IBlock |
217
|
|
|
*/ |
218
|
|
|
public function setDefaultUrls($sef = false) |
219
|
|
|
{ |
220
|
|
|
if ($sef === true) { |
221
|
|
|
$prefix = "#SITE_DIR#/#IBLOCK_TYPE_ID#/#IBLOCK_CODE#/"; |
222
|
|
|
$this |
223
|
|
|
->setListPageUrl($prefix) |
224
|
|
|
->setSectionPageUrl("$prefix#SECTION_CODE_PATH#/") |
225
|
|
|
->setDetailPageUrl("$prefix#SECTION_CODE_PATH#/#ELEMENT_CODE#/"); |
226
|
|
|
|
227
|
|
|
Logger::log('Рекомендуется сделать обязательными для заполнения символьный код элементов и разделов инфоблока.', Logger::COLOR_YELLOW); |
228
|
|
|
} else { |
229
|
|
|
$prefix = "#SITE_DIR#/#IBLOCK_TYPE_ID#"; |
230
|
|
|
$this |
231
|
|
|
->setListPageUrl("$prefix/index.php?ID=#IBLOCK_ID#") |
232
|
|
|
->setSectionPageUrl("$prefix/list.php?SECTION_ID=#SECTION_ID#") |
233
|
|
|
->setDetailPageUrl("$prefix/detail.php?ID=#ELEMENT_ID#"); |
234
|
|
|
} |
235
|
|
|
|
236
|
|
|
return $this; |
237
|
|
|
} |
238
|
|
|
|
239
|
|
|
/** |
240
|
|
|
* Код картинки в таблице файлов. |
241
|
|
|
* @param array $picture |
242
|
|
|
* @return $this |
243
|
|
|
*/ |
244
|
|
|
public function setPicture($picture) |
245
|
|
|
{ |
246
|
|
|
$this->fields['PICTURE'] = $picture; |
247
|
|
|
|
248
|
|
|
return $this; |
249
|
|
|
} |
250
|
|
|
|
251
|
|
|
/** |
252
|
|
|
* Описание. |
253
|
|
|
* @param string $description |
254
|
|
|
* @return $this |
255
|
|
|
*/ |
256
|
|
|
public function setDescription($description) |
257
|
|
|
{ |
258
|
|
|
$this->fields['DESCRIPTION'] = $description; |
259
|
|
|
|
260
|
|
|
return $this; |
261
|
|
|
} |
262
|
|
|
|
263
|
|
|
/** |
264
|
|
|
* Тип описания (text/html) |
265
|
|
|
* @param string $descriptionType |
266
|
|
|
* @return $this |
267
|
|
|
*/ |
268
|
|
|
public function setDescriptionType($descriptionType = 'text') |
269
|
|
|
{ |
270
|
|
|
$this->fields['DESCRIPTION_TYPE'] = $descriptionType; |
271
|
|
|
|
272
|
|
|
return $this; |
273
|
|
|
} |
274
|
|
|
|
275
|
|
|
/** |
276
|
|
|
* Разрешен экспорт в RSS динамически |
277
|
|
|
* @param bool $rssActive |
278
|
|
|
* @return $this |
279
|
|
|
*/ |
280
|
|
|
public function setRssActive($rssActive = true) |
281
|
|
|
{ |
282
|
|
|
$this->fields['RSS_ACTIVE'] = $rssActive ? 'Y' : 'N'; |
283
|
|
|
|
284
|
|
|
return $this; |
285
|
|
|
} |
286
|
|
|
|
287
|
|
|
/** |
288
|
|
|
* Время жизни RSS и интервал между генерациями файлов RSS (при включенном RSS_FILE_ACTIVE или RSS_YANDEX_ACTIVE) (часов). |
289
|
|
|
* @param int $rssTtl |
290
|
|
|
* @return $this |
291
|
|
|
*/ |
292
|
|
|
public function setRssTtl($rssTtl = 24) |
293
|
|
|
{ |
294
|
|
|
$this->fields['RSS_TTL'] = $rssTtl; |
295
|
|
|
|
296
|
|
|
return $this; |
297
|
|
|
} |
298
|
|
|
|
299
|
|
|
/** |
300
|
|
|
* Прегенерировать выгрузку в файл. |
301
|
|
|
* @param bool $rssFileActive |
302
|
|
|
* @return $this |
303
|
|
|
*/ |
304
|
|
|
public function setRssFileActive($rssFileActive = false) |
305
|
|
|
{ |
306
|
|
|
$this->fields['RSS_FILE_ACTIVE'] = $rssFileActive ? 'Y' : 'N'; |
307
|
|
|
|
308
|
|
|
return $this; |
309
|
|
|
} |
310
|
|
|
|
311
|
|
|
/** |
312
|
|
|
* Количество экспортируемых в RSS файл элементов (при включенном RSS_FILE_ACTIVE) |
313
|
|
|
* @param int $rssFileLimit |
314
|
|
|
* @return $this |
315
|
|
|
*/ |
316
|
|
|
public function setRssFileLimit($rssFileLimit) |
317
|
|
|
{ |
318
|
|
|
$this->fields['RSS_FILE_LIMIT'] = $rssFileLimit; |
319
|
|
|
|
320
|
|
|
return $this; |
321
|
|
|
} |
322
|
|
|
|
323
|
|
|
/** |
324
|
|
|
* За сколько последних дней экспортировать в RSS файл. (при включенном RSS_FILE_ACTIVE). -1 без ограничения по дням. |
325
|
|
|
* @param int $rssFileDays |
326
|
|
|
* @return $this |
327
|
|
|
*/ |
328
|
|
|
public function setRssFileDays($rssFileDays) |
329
|
|
|
{ |
330
|
|
|
$this->fields['RSS_FILE_DAYS'] = $rssFileDays; |
331
|
|
|
|
332
|
|
|
return $this; |
333
|
|
|
} |
334
|
|
|
|
335
|
|
|
/** |
336
|
|
|
* Экспортировать в RSS файл в формате для yandex |
337
|
|
|
* @param bool $rssYandexActive |
338
|
|
|
* @return $this |
339
|
|
|
*/ |
340
|
|
|
public function setRssYandexActive($rssYandexActive = false) |
341
|
|
|
{ |
342
|
|
|
$this->fields['RSS_YANDEX_ACTIVE'] = $rssYandexActive ? 'Y' : 'N'; |
343
|
|
|
|
344
|
|
|
return $this; |
345
|
|
|
} |
346
|
|
|
|
347
|
|
|
/** |
348
|
|
|
* Индексировать для поиска элементы информационного блока. |
349
|
|
|
* @param bool $indexElement |
350
|
|
|
* @return $this |
351
|
|
|
*/ |
352
|
|
|
public function setIndexElement($indexElement = true) |
353
|
|
|
{ |
354
|
|
|
$this->fields['INDEX_ELEMENT'] = $indexElement ? 'Y' : 'N'; |
355
|
|
|
|
356
|
|
|
return $this; |
357
|
|
|
} |
358
|
|
|
|
359
|
|
|
/** |
360
|
|
|
* Индексировать для поиска разделы информационного блока. |
361
|
|
|
* @param bool $indexSection |
362
|
|
|
* @return $this |
363
|
|
|
*/ |
364
|
|
|
public function setIndexSection($indexSection = false) |
365
|
|
|
{ |
366
|
|
|
$this->fields['INDEX_SECTION'] = $indexSection ? 'Y' : 'N'; |
367
|
|
|
|
368
|
|
|
return $this; |
369
|
|
|
} |
370
|
|
|
|
371
|
|
|
/** |
372
|
|
|
* Режим отображения списка элементов в административном разделе (S|C). |
373
|
|
|
* @param string $listMode |
374
|
|
|
* @return $this |
375
|
|
|
*/ |
376
|
|
|
public function setListMode($listMode) |
377
|
|
|
{ |
378
|
|
|
$this->fields['LIST_MODE'] = $listMode; |
379
|
|
|
|
380
|
|
|
return $this; |
381
|
|
|
} |
382
|
|
|
|
383
|
|
|
/** |
384
|
|
|
* Режим проверки прав доступа (S|E). |
385
|
|
|
* @param string $rightsMode |
386
|
|
|
* @return $this |
387
|
|
|
*/ |
388
|
|
|
public function setRightsMode($rightsMode = 'S') |
389
|
|
|
{ |
390
|
|
|
$this->fields['RIGHTS_MODE'] = $rightsMode; |
391
|
|
|
|
392
|
|
|
return $this; |
393
|
|
|
} |
394
|
|
|
|
395
|
|
|
/** |
396
|
|
|
* Признак наличия привязки свойств к разделам (Y|N). |
397
|
|
|
* @param string $sectionProperty |
398
|
|
|
* @return $this |
399
|
|
|
*/ |
400
|
|
|
public function setSectionProperty($sectionProperty) |
401
|
|
|
{ |
402
|
|
|
$this->fields['SECTION_PROPERTY'] = $sectionProperty; |
403
|
|
|
|
404
|
|
|
return $this; |
405
|
|
|
} |
406
|
|
|
|
407
|
|
|
/** |
408
|
|
|
* Признак наличия фасетного индекса (N|Y|I). |
409
|
|
|
* @param string $propertyIndex |
410
|
|
|
* @return $this |
411
|
|
|
*/ |
412
|
|
|
public function setPropertyIndex($propertyIndex) |
413
|
|
|
{ |
414
|
|
|
$this->fields['PROPERTY_INDEX'] = $propertyIndex; |
415
|
|
|
|
416
|
|
|
return $this; |
417
|
|
|
} |
418
|
|
|
|
419
|
|
|
/** |
420
|
|
|
* Служебное поле для процедуры конвертации места хранения значений свойств инфоблока. |
421
|
|
|
* @param int $lastConvElement |
422
|
|
|
* @return $this |
423
|
|
|
*/ |
424
|
|
|
public function setLastConvElement($lastConvElement) |
425
|
|
|
{ |
426
|
|
|
$this->fields['LAST_CONV_ELEMENT'] = $lastConvElement; |
427
|
|
|
|
428
|
|
|
return $this; |
429
|
|
|
} |
430
|
|
|
|
431
|
|
|
/** |
432
|
|
|
* Служебное поле для установки прав для разных групп на доступ к информационному блоку. |
433
|
|
|
* @param array $groupId Массив соответствий кодов групп правам доступа |
434
|
|
|
* @return $this |
435
|
|
|
*/ |
436
|
|
|
public function setGroupId($groupId) |
437
|
|
|
{ |
438
|
|
|
$this->fields['GROUP_ID'] = $groupId; |
439
|
|
|
|
440
|
|
|
return $this; |
441
|
|
|
} |
442
|
|
|
|
443
|
|
|
/** |
444
|
|
|
* Служебное поле для привязки к группе социальной сети. |
445
|
|
|
* @param int $socnetGroupId |
446
|
|
|
* @return $this |
447
|
|
|
*/ |
448
|
|
|
public function setSocnetGroupId($socnetGroupId) |
449
|
|
|
{ |
450
|
|
|
$this->fields['SOCNET_GROUP_ID'] = $socnetGroupId; |
451
|
|
|
|
452
|
|
|
return $this; |
453
|
|
|
} |
454
|
|
|
|
455
|
|
|
/** |
456
|
|
|
* Инфоблок участвует в документообороте (Y|N). |
457
|
|
|
* @param bool $workflow |
458
|
|
|
* @return $this |
459
|
|
|
*/ |
460
|
|
|
public function setWorkflow($workflow = true) |
461
|
|
|
{ |
462
|
|
|
$this->fields['WORKFLOW'] = $workflow ? 'Y' : 'N'; |
463
|
|
|
|
464
|
|
|
return $this; |
465
|
|
|
} |
466
|
|
|
|
467
|
|
|
/** |
468
|
|
|
* Инфоблок участвует в бизнес-процессах (Y|N). |
469
|
|
|
* @param bool $bizproc |
470
|
|
|
* @return $this |
471
|
|
|
*/ |
472
|
|
|
public function setBizProc($bizproc = false) |
473
|
|
|
{ |
474
|
|
|
$this->fields['BIZPROC'] = $bizproc ? 'Y' : 'N'; |
475
|
|
|
|
476
|
|
|
return $this; |
477
|
|
|
} |
478
|
|
|
|
479
|
|
|
/** |
480
|
|
|
* Флаг выбора интерфейса отображения привязки элемента к разделам (D|L|P). |
481
|
|
|
* @param string $sectionChooser |
482
|
|
|
* @return $this |
483
|
|
|
*/ |
484
|
|
|
public function setSectionChooser($sectionChooser) |
485
|
|
|
{ |
486
|
|
|
$this->fields['SECTION_CHOOSER'] = $sectionChooser; |
487
|
|
|
|
488
|
|
|
return $this; |
489
|
|
|
} |
490
|
|
|
|
491
|
|
|
/** |
492
|
|
|
* Флаг хранения значений свойств элементов инфоблока (1 - в общей таблице | 2 - в отдельной). |
493
|
|
|
* @param int $version |
494
|
|
|
* @return $this |
495
|
|
|
*/ |
496
|
|
|
public function setVersion($version = 1) |
497
|
|
|
{ |
498
|
|
|
$this->fields['VERSION'] = $version; |
499
|
|
|
|
500
|
|
|
return $this; |
501
|
|
|
} |
502
|
|
|
|
503
|
|
|
/** |
504
|
|
|
* Полный путь к файлу-обработчику массива полей элемента перед сохранением на странице редактирования элемента. |
505
|
|
|
* @param string $editFileBefore |
506
|
|
|
* @return $this |
507
|
|
|
*/ |
508
|
|
|
public function setEditFileBefore($editFileBefore) |
509
|
|
|
{ |
510
|
|
|
$this->fields['EDIT_FILE_BEFORE'] = $editFileBefore; |
511
|
|
|
|
512
|
|
|
return $this; |
513
|
|
|
} |
514
|
|
|
|
515
|
|
|
/** |
516
|
|
|
* Полный путь к файлу-обработчику вывода интерфейса редактирования элемента. |
517
|
|
|
* @param string $editFileAfter |
518
|
|
|
* @return $this |
519
|
|
|
*/ |
520
|
|
|
public function setEditFileAfter($editFileAfter) |
521
|
|
|
{ |
522
|
|
|
$this->fields['EDIT_FILE_AFTER'] = $editFileAfter; |
523
|
|
|
|
524
|
|
|
return $this; |
525
|
|
|
} |
526
|
|
|
|
527
|
|
|
/** |
528
|
|
|
* Название элемента в единственном числе |
529
|
|
|
* @param string $message |
530
|
|
|
* @return $this |
531
|
|
|
*/ |
532
|
|
|
public function setMessElementName($message = 'Элемент') |
533
|
|
|
{ |
534
|
|
|
$this->fields['ELEMENT_NAME'] = $message; |
535
|
|
|
|
536
|
|
|
return $this; |
537
|
|
|
} |
538
|
|
|
|
539
|
|
|
/** |
540
|
|
|
* Название элемента во множнственном числе |
541
|
|
|
* @param string $message |
542
|
|
|
* @return $this |
543
|
|
|
*/ |
544
|
|
|
public function setMessElementsName($message = 'Элементы') |
545
|
|
|
{ |
546
|
|
|
$this->fields['ELEMENTS_NAME'] = $message; |
547
|
|
|
|
548
|
|
|
return $this; |
549
|
|
|
} |
550
|
|
|
|
551
|
|
|
/** |
552
|
|
|
* Действие по добавлению элемента |
553
|
|
|
* @param string $message |
554
|
|
|
* @return $this |
555
|
|
|
*/ |
556
|
|
|
public function setMessElementAdd($message = 'Добавить элемент') |
557
|
|
|
{ |
558
|
|
|
$this->fields['ELEMENT_ADD'] = $message; |
559
|
|
|
|
560
|
|
|
return $this; |
561
|
|
|
} |
562
|
|
|
|
563
|
|
|
/** |
564
|
|
|
* Действие по редактированию/изменению элемента |
565
|
|
|
* @param string $message |
566
|
|
|
* @return $this |
567
|
|
|
*/ |
568
|
|
|
public function setMessElementEdit($message = 'Изменить элемент') |
569
|
|
|
{ |
570
|
|
|
$this->fields['ELEMENT_EDIT'] = $message; |
571
|
|
|
|
572
|
|
|
return $this; |
573
|
|
|
} |
574
|
|
|
|
575
|
|
|
/** |
576
|
|
|
* Действие по удалению элемента |
577
|
|
|
* @param string $message |
578
|
|
|
* @return $this |
579
|
|
|
*/ |
580
|
|
|
public function setMessElementDelete($message = 'Удалить элемент') |
581
|
|
|
{ |
582
|
|
|
$this->fields['ELEMENT_DELETE'] = $message; |
583
|
|
|
|
584
|
|
|
return $this; |
585
|
|
|
} |
586
|
|
|
|
587
|
|
|
/** |
588
|
|
|
* Название раздела в единственном числе |
589
|
|
|
* @param string $message |
590
|
|
|
* @return $this |
591
|
|
|
*/ |
592
|
|
|
public function setMessSectionName($message = 'Раздел') |
593
|
|
|
{ |
594
|
|
|
$this->fields['SECTION_NAME'] = $message; |
595
|
|
|
|
596
|
|
|
return $this; |
597
|
|
|
} |
598
|
|
|
|
599
|
|
|
/** |
600
|
|
|
* Название раздела во множнственном числе |
601
|
|
|
* @param string $message |
602
|
|
|
* @return $this |
603
|
|
|
*/ |
604
|
|
|
public function setMessSectionsName($message = 'Разделы') |
605
|
|
|
{ |
606
|
|
|
$this->fields['SECTIONS_NAME'] = $message; |
607
|
|
|
|
608
|
|
|
return $this; |
609
|
|
|
} |
610
|
|
|
|
611
|
|
|
/** |
612
|
|
|
* Действие по добавлению раздела |
613
|
|
|
* @param string $message |
614
|
|
|
* @return $this |
615
|
|
|
*/ |
616
|
|
|
public function setMessSectionAdd($message = 'Добавить раздел') |
617
|
|
|
{ |
618
|
|
|
$this->fields['SECTION_ADD'] = $message; |
619
|
|
|
|
620
|
|
|
return $this; |
621
|
|
|
} |
622
|
|
|
|
623
|
|
|
/** |
624
|
|
|
* Действие по редактированию/изменению раздела |
625
|
|
|
* @param string $message |
626
|
|
|
* @return $this |
627
|
|
|
*/ |
628
|
|
|
public function setMessSectionEdit($message = 'Изменить раздел') |
629
|
|
|
{ |
630
|
|
|
$this->fields['SECTION_EDIT'] = $message; |
631
|
|
|
|
632
|
|
|
return $this; |
633
|
|
|
} |
634
|
|
|
|
635
|
|
|
/** |
636
|
|
|
* Действие по удалению раздела |
637
|
|
|
* @param string $message |
638
|
|
|
* @return $this |
639
|
|
|
*/ |
640
|
|
|
public function setMessSectionDelete($message = 'Удалить раздел') |
641
|
|
|
{ |
642
|
|
|
$this->fields['SECTION_DELETE'] = $message; |
643
|
|
|
|
644
|
|
|
return $this; |
645
|
|
|
} |
646
|
|
|
|
647
|
|
|
|
648
|
|
|
} |
649
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.