1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
iblock_event_list.php
См. документацию.
1<?php
2
4
6{
7 public static function MakeIBlockObject()
8 {
9 $obj = new CEventIBlock;
10 return $obj;
11 }
12
13 public static function GetFilter()
14 {
15 $arFilter = array();
16 $res = CIBlock::GetList(
17 Array(),
18 Array(
19 'ACTIVE'=>'Y',
20 )
21 );
22
23 while($ar_res = $res->Fetch())
24 {
25 $arIblock = CIBlock::GetArrayByID($ar_res['ID']);
26 if (
27 $arIblock["FIELDS"]["LOG_SECTION_ADD"]["IS_REQUIRED"] == "Y"
28 || $arIblock["FIELDS"]["LOG_SECTION_EDIT"]["IS_REQUIRED"] == "Y"
29 || $arIblock["FIELDS"]["LOG_SECTION_DELETE"]["IS_REQUIRED"] == "Y"
30 || $arIblock["FIELDS"]["LOG_ELEMENT_ADD"]["IS_REQUIRED"] == "Y"
31 || $arIblock["FIELDS"]["LOG_ELEMENT_EDIT"]["IS_REQUIRED"] == "Y"
32 || $arIblock["FIELDS"]["LOG_ELEMENT_DELETE"]["IS_REQUIRED"] == "Y"
33 )
34 {
35 $arFilter[$ar_res["ID"]] = $ar_res["NAME"]." (".$ar_res["LID"].")";
36 }
37 }
38
39 if (COption::GetOptionString("iblock", "event_log_iblock", "N") === "Y")
40 $arFilter["IBLOCK"] = GetMessage("LOG_IBLOCK_FILTER");
41
42 return $arFilter;
43 }
44
45 public static function GetAuditTypes()
46 {
47 $AuditTypes = [];
48 AddEventHandler('main', 'GetAuditTypesIblock', ['CIBlock', 'GetAuditTypes']);
49 foreach (GetModuleEvents('main', 'GetAuditTypesIblock', true) as $arEvent)
50 {
51 $AuditTypes = ExecuteModuleEventEx($arEvent);
52 }
53
54 return $AuditTypes;
55 }
56
57 public static function GetEventInfo($row, $arParams, $arUser, $arResult)
58 {
59 $DESCRIPTION = unserialize($row['DESCRIPTION'], ['allowed_classes' => false]);
60
61 $IblockURL = "";
62 if (mb_strpos($row['AUDIT_TYPE_ID'], "SECTION") !== false)
63 {
64 if (isset($DESCRIPTION["ID"]))
65 {
66 $rsSection = CIBlockSection::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false, array("SECTION_PAGE_URL"));
67 if ($arSection = $rsSection->GetNext())
68 $IblockURL = $arSection["SECTION_PAGE_URL"];
69 }
70 }
71 elseif (mb_strpos($row['AUDIT_TYPE_ID'], "ELEMENT") !== false)
72 {
73 if (isset($DESCRIPTION["ID"]))
74 {
75 $rsElement = CIBlockElement::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false, false, array("DETAIL_PAGE_URL"));
76 if ($arElement = $rsElement->GetNext())
77 $IblockURL = $arElement["DETAIL_PAGE_URL"];
78 }
79 }
80 else
81 {
82 $rsElement = CIBlock::GetList(array(), array("=ID"=>$row["ITEM_ID"]), false);
83 if ($arElement = $rsElement->GetNext())
84 $IblockURL = SITE_DIR."bitrix/admin/iblock_edit.php?ID=".$row["ITEM_ID"]."&type=".$arElement["IBLOCK_TYPE_ID"];
85 }
86
87 if($IblockURL)
88 {
89 $IblockURL = str_replace(
90 "#USER_ID#",
91 urlencode($DESCRIPTION["USER_ID"]),
92 $IblockURL
93 );
94 }
95
96
97 if (isset($DESCRIPTION["IBLOCK_PAGE_URL"]))
98 {
99 $DescriptionURL = str_replace(
100 "#USER_ID#",
101 urlencode($DESCRIPTION["USER_ID"]),
102 $DESCRIPTION["IBLOCK_PAGE_URL"]
103 );
104 $resIblock = '<a href="'.$DescriptionURL.'">'.$arResult[$row['ITEM_ID']].'</a>';
105 }
106 else
107 {
108 $resIblock = $arResult[$row['ITEM_ID']];
109 }
110
111 switch($row['AUDIT_TYPE_ID'])
112 {
113 case "IBLOCK_SECTION_ADD":
114 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
115 break;
116 case "IBLOCK_SECTION_EDIT":
117 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
118 break;
119 case "IBLOCK_SECTION_DELETE":
120 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['SECTION_NAME']));
121 break;
122 case "IBLOCK_ELEMENT_ADD":
123 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
124 break;
125 case "IBLOCK_ELEMENT_EDIT":
126 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
127 break;
128 case "IBLOCK_ELEMENT_DELETE":
129 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME']));
130 break;
131 case "IBLOCK_ADD":
132 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
133 break;
134 case "IBLOCK_EDIT":
135 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
136 break;
137 case "IBLOCK_DELETE":
138 $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => GetMessage("LOG_IBLOCK")));
139 break;
140 default:
141 $EventPrint = "";
142 break;
143 }
144
145 return array(
146 "eventType" => $EventPrint,
147 "eventName" => $DESCRIPTION['NAME'],
148 "eventURL" => $IblockURL,
149 "pageURL" => $resIblock
150 );
151 }
152
153 public static function GetFilterSQL($var)
154 {
155 if (is_array($var))
156 foreach($var as $key => $val)
157 if ($val == "IBLOCK")
158 {
159 $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_ADD");
160 $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_EDIT");
161 $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_DELETE");
162 }
163 else
164 $ar[] = array("MODULE_ID" => "iblock", "ITEM_ID" => $val);
165 return $ar;
166 }
167}
$arParams
Определения access_dialog.php:21
$ar_res
Определения options_user_settings_set.php:16
$arResult
Определения generate_coupon.php:16
static GetEventInfo($row, $arParams, $arUser, $arResult)
Определения iblock_event_list.php:57
static GetAuditTypes()
Определения iblock_event_list.php:45
static GetFilter()
Определения iblock_event_list.php:13
static GetFilterSQL($var)
Определения iblock_event_list.php:153
static MakeIBlockObject()
Определения iblock_event_list.php:7
</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
const SITE_DIR(!defined('LANG'))
Определения include.php:72
ExecuteModuleEventEx($arEvent, $arParams=[])
Определения tools.php:5214
AddEventHandler($FROM_MODULE_ID, $MESSAGE_ID, $CALLBACK, $SORT=100, $FULL_PATH=false)
Определения tools.php:5165
GetModuleEvents($MODULE_ID, $MESSAGE_ID, $bReturnArray=false)
Определения tools.php:5177
IncludeModuleLangFile($filepath, $lang=false, $bReturnArray=false)
Определения tools.php:3778
GetMessage($name, $aReplace=null)
Определения tools.php:3397
$DESCRIPTION
Определения menu_edit.php:224
$var
Определения payment.php:63
if( $daysToExpire >=0 &&$daysToExpire< 60 elseif)( $daysToExpire< 0)
Определения prolog_main_admin.php:393
$ar
Определения options.php:199
if(empty($signedUserToken)) $key
Определения quickway.php:257
$val
Определения options.php:1793
$arFilter
Определения user_search.php:106