1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
xscanresulttable.php
См. документацию.
1<?php
2
3namespace Bitrix\Security;
4
5use Bitrix\Main\ORM\Data\DeleteResult;
6use Bitrix\Main\ORM\Query\Query;
7
24class XScanResultTable extends \Bitrix\Main\Entity\DataManager
25{
26 private const trace = [
27 '/bitrix/modules/security/lib/controller/xscan.php',
28 '',
29 '/bitrix/modules/main/lib/engine/autowire/binder.php',
30 '/bitrix/modules/main/lib/engine/action.php',
31 '/bitrix/modules/main/lib/engine/controller.php',
32 '/bitrix/modules/main/lib/httpapplication.php',
33 '/bitrix/modules/main/lib/httpapplication.php',
34 '/bitrix/modules/main/services/ajax.php',
35 '/bitrix/services/main/ajax.php',
36 ];
37
38 public static function getTableName()
39 {
40 return 'b_sec_xscan_results';
41 }
42
43 public static function getMap()
44 {
45 return [
46 new \Bitrix\Main\Entity\IntegerField('ID', ['primary' => true, 'autocomplete' => true]),
47 new \Bitrix\Main\Entity\EnumField('TYPE', [
48 'values' => ['file', 'agent', 'event', 'tmpl', 'trigg'],
49 'default_value' => 'file',
50 ]),
51 new \Bitrix\Main\Entity\StringField('SRC'),
52 new \Bitrix\Main\Entity\StringField('MESSAGE'),
53 new \Bitrix\Main\Entity\FloatField('SCORE'),
54 new \Bitrix\Main\Entity\DatetimeField('CTIME'),
55 new \Bitrix\Main\Entity\DatetimeField('MTIME'),
56 new \Bitrix\Main\Entity\StringField('TAGS'),
57 ];
58 }
59
60 public static function getCollectionClass()
61 {
62 return XScanResults::class;
63 }
64
65 public static function getObjectClass()
66 {
67 return XScanResult::class;
68 }
69
70 public static function delete($primary)
71 {
72 $e = new \Exception();
73 $t = $e->getTrace();
74
75 if (count($t) !== count(XScanResultTable::trace))
76 {
77 return new DeleteResult();
78 }
79
80 foreach(XScanResultTable::trace as $key => $val)
81 {
82 if ($val && (!isset($t[$key]['file']) || !str_ends_with($t[$key]['file'], $val)))
83 {
84 return new DeleteResult();
85 }
86 }
87
88 return parent::delete($primary);
89 }
90
91 public static function deleteList(array $filter)
92 {
93 $e = new \Exception();
94 $t = $e->getTrace();
95
96 if (count($t) !== count(XScanResultTable::trace))
97 {
98 return new DeleteResult();
99 }
100
101 foreach(XScanResultTable::trace as $key => $val)
102 {
103 if ($val && (!isset($t[$key]['file']) || !str_ends_with($t[$key]['file'], $val)))
104 {
105 return new DeleteResult();
106 }
107 }
108
109 $entity = static::getEntity();
110 $connection = $entity->getConnection();
111
112 $where = Query::buildFilterSql($entity, $filter);
113 $where = $where ? 'WHERE ' . $where : '';
114
115 $sql = sprintf(
116 'DELETE FROM %s %s',
117 $connection->getSqlHelper()->quote($entity->getDbTableName()),
118 $where
119 );
120
121 $res = $connection->query($sql);
122
123 return $res;
124 }
125
126}
127
131
133{
134}
$connection
Определения actionsdefinitions.php:38
static deleteList(array $filter)
Определения xscanresulttable.php:91
static getCollectionClass()
Определения xscanresulttable.php:60
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$res
Определения filter_act.php:7
$entity
$filter
Определения iblock_catalog_list.php:54
if(empty($signedUserToken)) $key
Определения quickway.php:257
</p ></td >< td valign=top style='border-top:none;border-left:none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;padding:0cm 2.0pt 0cm 2.0pt;height:9.0pt'>< p class=Normal align=center style='margin:0cm;margin-bottom:.0001pt;text-align:center;line-height:normal'>< a name=ТекстовоеПоле54 ></a ><?=($taxRate > count( $arTaxList) > 0) ? $taxRate."%"
Определения waybill.php:936
$val
Определения options.php:1793