%PDF- %PDF-
Direktori : /home/bitrix/www/bitrix/modules/iblock/classes/general/ |
Current File : //home/bitrix/www/bitrix/modules/iblock/classes/general/iblock_event_list.php |
<? IncludeModuleLangFile(__FILE__); class CEventIBlock { function MakeIBlockObject() { $obj = new CEventIBlock; return $obj; } function GetFilter() { $arFilter = array(); $res = CIBlock::GetList( Array(), Array( 'ACTIVE'=>'Y', ) ); while($ar_res = $res->Fetch()) { $arIblock = CIBlock::GetArrayByID($ar_res['ID']); if ( $arIblock["FIELDS"]["LOG_SECTION_ADD"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_SECTION_EDIT"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_SECTION_DELETE"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_ADD"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_EDIT"]["IS_REQUIRED"] == "Y" || $arIblock["FIELDS"]["LOG_ELEMENT_DELETE"]["IS_REQUIRED"] == "Y" ) { $arFilter[$ar_res["ID"]] = $ar_res["NAME"]." (".$ar_res["LID"].")"; } } if (COption::GetOptionString("iblock", "event_log_iblock", "N") === "Y") $arFilter["IBLOCK"] = GetMessage("LOG_IBLOCK_FILTER"); return $arFilter; } function GetAuditTypes() { AddEventHandler("main", "GetAuditTypesIblock", array("CAllIBlock", "GetAuditTypes")); $db_events = GetModuleEvents("main", "GetAuditTypesIblock"); while($arEvent = $db_events->Fetch()) { $AuditTypes = ExecuteModuleEventEx($arEvent); } return $AuditTypes; } function GetEventInfo($row, $arParams, $arUser, $arResult) { $DESCRIPTION = unserialize($row['DESCRIPTION']); $IblockURL = ""; if (strpos($row['AUDIT_TYPE_ID'], "SECTION") !== false) { if (isset($DESCRIPTION["ID"])) { $rsSection = CIBlockSection::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false, array("SECTION_PAGE_URL")); if ($arSection = $rsSection->GetNext()) $IblockURL = $arSection["SECTION_PAGE_URL"]; } } elseif (strpos($row['AUDIT_TYPE_ID'], "ELEMENT") !== false) { if (isset($DESCRIPTION["ID"])) { $rsElement = CIBlockElement::GetList(array(), array("=ID"=>$DESCRIPTION["ID"]), false, false, array("DETAIL_PAGE_URL")); if ($arElement = $rsElement->GetNext()) $IblockURL = $arElement["DETAIL_PAGE_URL"]; } } else { $rsElement = CIBlock::GetList(array(), array("=ID"=>$row["ITEM_ID"]), false); if ($arElement = $rsElement->GetNext()) $IblockURL = SITE_DIR."bitrix/admin/iblock_edit.php?ID=".$row["ITEM_ID"]."&type=".$arElement["IBLOCK_TYPE_ID"]; } if($IblockURL) { $IblockURL = str_replace( "#USER_ID#", urlencode($DESCRIPTION["USER_ID"]), $IblockURL ); } if (isset($DESCRIPTION["IBLOCK_PAGE_URL"])) { $DescriptionURL = str_replace( "#USER_ID#", urlencode($DESCRIPTION["USER_ID"]), $DESCRIPTION["IBLOCK_PAGE_URL"] ); $resIblock = '<a href="'.$DescriptionURL.'">'.$arResult[$row['ITEM_ID']].'</a>'; } else { $resIblock = $arResult[$row['ITEM_ID']]; } switch($row['AUDIT_TYPE_ID']) { case "IBLOCK_SECTION_ADD": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['SECTION_NAME'])); break; case "IBLOCK_SECTION_EDIT": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['SECTION_NAME'])); break; case "IBLOCK_SECTION_DELETE": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['SECTION_NAME'])); break; case "IBLOCK_ELEMENT_ADD": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME'])); break; case "IBLOCK_ELEMENT_EDIT": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME'])); break; case "IBLOCK_ELEMENT_DELETE": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => $DESCRIPTION['ELEMENT_NAME'])); break; case "IBLOCK_ADD": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_ADD", array("#ITEM#" => GetMessage("LOG_IBLOCK"))); break; case "IBLOCK_EDIT": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_EDIT", array("#ITEM#" => GetMessage("LOG_IBLOCK"))); break; case "IBLOCK_DELETE": $EventPrint = GetMessage("LOG_IBLOCK_ITEM_DELETE", array("#ITEM#" => GetMessage("LOG_IBLOCK"))); break; default: $EventPrint = ""; break; } return array( "eventType" => $EventPrint, "eventName" => $DESCRIPTION['NAME'], "eventURL" => $IblockURL, "pageURL" => $resIblock ); } function GetFilterSQL($var) { if (is_array($var)) foreach($var as $key => $val) if ($val == "IBLOCK") { $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_ADD"); $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_EDIT"); $ar[] = array("AUDIT_TYPE_ID" => "IBLOCK_DELETE"); } else $ar[] = array("MODULE_ID" => "iblock", "ITEM_ID" => $val); return $ar; } } ?>