- Модуль: 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);
}