• Модуль: socialnetwork
  • Путь к файлу: ~/bitrix/modules/socialnetwork/classes/general/rest.php
  • Класс: CSocNetLogRestService
  • Вызов: CSocNetLogRestService::checkGroupFilter
static function checkGroupFilter($arFilter)
{
	if (!is_array($arFilter))
	{
		$arFilter = array();
	}
	else
	{
		foreach ($arFilter as $key => $value)
		{
			if (preg_match('/^([^a-zA-Z]*)(.*)/', $key, $matches))
			{
				$operation = $matches[1];
				$field = $matches[2];

				if (!in_array($operation, self::$arAllowedOperations, true))
				{
					unset($arFilter[$key]);
				}
				else
				{
					switch($field)
					{
						case 'DATE_CREATE':
						case 'DATE_ACTIVITY':
						case 'DATE_UPDATE':
							$arFilter[$key] = CRestUtil::unConvertDateTime($value);
							break;
						case 'IS_EXTRANET':
							if ($extranetSiteId = self::getExtranetSiteId())
							{
								if ($value === 'Y')
								{
									$arFilter['=SITE_ID'] = $extranetSiteId;
								}
								elseif ($value === 'N')
								{
									$arFilter['!=SITE_ID'] = $extranetSiteId;
								}
							}
							unset($arFilter[$key]);
							break;
						case 'CHECK_PERMISSIONS':
							unset($arFilter[$key]);
							break;
						default:
							break;
					}
				}
			}
		}
	}

	return $arFilter;
}