• Модуль: advertising
  • Путь к файлу: ~/bitrix/modules/advertising/classes/general/advertising.php
  • Класс: CAdvBanner_all
  • Вызов: CAdvBanner_all::SetKeywords
static function SetKeywords($keywords, $TYPE_SID="", $LOGIC="DESIRED")
{
	global $arrADV_KEYWORDS;
	if ($LOGIC == '') return;
	if ($TYPE_SID == '') $TYPE_SID = "";
	$arrKeywords = array();
	if (is_array($keywords) && count($keywords)>0)
	{
		foreach($keywords as $word)
		{
			if (is_array($word))
			{
				$exact_match = $word["EXACT_MATCH"]=="Y" ? "Y" : "N";
				$value = $word["KEYWORD"];
			}
			else
			{
				$exact_match = "N";
				$value = $word;
			}
			$arrKeywords[$exact_match][] = trim($value);
		}
	}
	else
	{
		$arrWords = explode(",",$keywords);
		if (is_array($arrWords) && count($arrWords)>0)
		{
			foreach($arrWords as $word)
			{
				if (trim($word) <> '')
					$arrKeywords["N"][] = trim($word);
			}
		}
	}
	if(!is_set($arrADV_KEYWORDS, $TYPE_SID)) $arrADV_KEYWORDS[$TYPE_SID] = array();
	$arr = array("Y","N");
	foreach ($arr as $exact_match)
	{
		$arrWords = is_array($arrKeywords[$exact_match]) ? array_unique($arrKeywords[$exact_match]) : array();
		if (count($arrWords)>0)
		{
			$arrTemp = $arrADV_KEYWORDS[$TYPE_SID][$LOGIC][$exact_match];
			if (is_array($arrTemp) && count($arrTemp)>0)
			{
				$arrTemp = array_merge($arrWords, $arrTemp);
				$arrTemp = array_unique($arrTemp);
				$arrADV_KEYWORDS[$TYPE_SID][$LOGIC][$exact_match] = $arrTemp;
			}
			else $arrADV_KEYWORDS[$TYPE_SID][$LOGIC][$exact_match] = $arrWords;
		}
	}
}