• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/classes/general/zip.php
  • Класс: CZip
  • Вызов: CZip::_checkParams
private function _checkParams(&$arParams, $arDefaultValues)
{
	if (!is_array($arParams))
	{
		$this->_errorLog("ERR_PARAM", GetMessage("MAIN_ZIP_ERR_PARAM"));
		return $this->arErrors;
	}

	//all params should be valid
	foreach ($arParams as $key => $dummy)
	{
		if (!isset($arDefaultValues[$key]))
		{
			$this->_errorLog("ERR_PARAM_KEY", str_replace("#KEY#", $key, GetMessage("MAIN_ZIP_ERR_PARAM_KEY")));
			return $this->arErrors;
		}
	}

	//set default values
	foreach ($arDefaultValues as $key => $value)
	{
		if (!isset($arParams[$key]))
		{
			$arParams[$key] = $value;
		}
	}

	//check specific parameters
	$arCallbacks = ['callback_pre_add', 'callback_post_add', 'callback_pre_extract', 'callback_post_extract'];

	for ($i = 0; $i < sizeof($arCallbacks); $i++)
	{
		$key = $arCallbacks[$i];

		if ((isset($arParams[$key])) && ($arParams[$key] != ''))
		{
			if (!function_exists($arParams[$key]))
			{
				$this->_errorLog("ERR_PARAM_CALLBACK", str_replace(["#CALLBACK#", "#PARAM_NAME#"], [$arParams[$key], $key], GetMessage("MAIN_ZIP_ERR_PARAM_CALLBACK")));
				return $this->arErrors;
			}
		}
	}

	return (1);
}