• Модуль: security
  • Путь к файлу: ~/bitrix/modules/security/classes/general/filter_mask.php
  • Класс: CSecurityFilterMask
  • Вызов: CSecurityFilterMask::Update
static function Update($arMasks)
{
	global $DB, $CACHE_MANAGER;

	if(is_array($arMasks))
	{
		$res = $DB->Query("DELETE FROM b_sec_filter_mask", false, "File: ".__FILE__."
Line: ".__LINE__); if($res) { $arLikeSearch = array("?", "*", "."); $arLikeReplace = array("_", "%", "\."); $arPregSearch = array("\", ".", "?", "*", "'"); $arPregReplace = array("/", ".", ".", ".*?", "'"); $added = array(); $i = 10; foreach($arMasks as $arMask) { $site_id = trim($arMask["SITE_ID"]); if($site_id == "NOT_REF") $site_id = ""; $mask = trim($arMask["MASK"]); if($mask && !array_key_exists($mask, $added)) { $arMask = array( "SORT" => $i, "FILTER_MASK" => $mask, "LIKE_MASK" => str_replace($arLikeSearch, $arLikeReplace, $mask), "PREG_MASK" => str_replace($arPregSearch, $arPregReplace, $mask), ); if($site_id) $arMask["SITE_ID"] = $site_id; $DB->Add("b_sec_filter_mask", $arMask); $i += 10; $added[$mask] = true; } } if(CACHED_b_sec_filter_mask !== false) $CACHE_MANAGER->CleanDir("b_sec_filter_mask"); } } return true; }