| Current Path : /var/www/homesaver/www/bitrix/modules/ram.calc/tools/ |
| Current File : /var/www/homesaver/www/bitrix/modules/ram.calc/tools/calc.php |
<?
define("NOT_CHECK_PERMISSIONS", true);
define("NO_KEEP_STATISTIC", true);
require_once($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$module_id = "ram.calc";
IncludeModuleLangFile(__FILE__);
$ACTION = htmlspecialcharsbx($_REQUEST["ACTION"]);
\Bitrix\Main\Loader::includeModule($module_id);
$arData = $_REQUEST["DATA"];
parse_str($arData["FORM"], $arData["FORM"]);
function decodeArray($array, $inCharset = "utf-8", $outCharset = "windows-1251")
{
foreach ($array as $key => $value)
{
if (is_array($value)) $array[$key] = decodeArray($value);
else $array[$key] = iconv($inCharset, $outCharset, $value);
}
return $array;
}
if (LANG_CHARSET === "windows-1251")
{
$arData = decodeArray($arData, "utf-8", "windows-1251");
}
switch ($ACTION)
{
case "DELETE_PROPERTY_DATA_IMAGE":
{
if (intval($arData["ID"]) > 0) CFile::Delete(intval($arData["ID"]));
break;
}
case "UPLOAD_PROPERTY_DATA_IMAGE":
{
$arFile = $_FILES["file"];
$arFile["MODULE_ID"] = "ram.calc";
if (!CFile::CheckImageFile($arFile))
{
if ($fileID = CFile::SaveFile($arFile, "ram.calc")) echo($fileID);
else echo("error");
}
else echo("error");
break;
}
case "UPDATE_ADMIN_FIELD_IBLOCK_EXAMPLE":
{
$arField["VALUE"] = intval($arData["SERVICE"]["PROPERTIES"]["SOURCE_IBLOCK_EXAMPLE"]);
if ($arField["VALUE"])
{
$arElementName = \CRamCalc::IblockElementField(Array("ID" => $arField["VALUE"], "SELECT" => "NAME"));
echo("[".$arField["VALUE"]."] ".$arElementName);
}
break;
}
case "UPDATE_ADMIN_FIELD":
{
if (isset($arData["ADD_VALUE"])) $arData["ADD_VALUE"] = true;
else $arData["ADD_VALUE"] = false;
if ($arData["ID"] === "PROPERTY_DATA")
{
if (!empty($arData["PROPERTY"]["DATA"]["VALUES"]))
{
foreach ($arData["PROPERTY"]["DATA"]["VALUES"] as $k => $v)
{
if (!is_array($v)) unset($arData["PROPERTY"]["DATA"]["VALUES"][$k]);
}
}
\CRamCalc::AdminPropertyData(Array("INDEX" => intval($arData["INDEX"]), "ADD_VALUE" => $arData["ADD_VALUE"], "PROPERTY" => $arData["PROPERTY"]));
}
else if ($arData["ID"] === "PROPERTY_ITEM")
{
$arIblocks = \CRamCalc::IblockList();
$arHighloads = \CRamCalc::HighloadList();
\CRamCalc::AdminProperty
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"PROPERTY" => $arData["PROPERTY"],
"SERVICE" => $arData["SERVICE"],
"IBLOCKS" => $arIblocks,
"HIGHLOADS" => $arHighloads,
)
);
}
else
{
\CRamCalc::AdminFieldUpdate($arData);
}
break;
}
case "ADD_PROPERTY":
{
$arIblocks = \CRamCalc::IblockList();
$arHighloads = \CRamCalc::HighloadList();
\CRamCalc::AdminProperty
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"PROPERTY" => Array("PROPERTIES" => Array("CODE" => intval($arData["CODE"]))),
"SERVICE" => $arData["SERVICE"],
"IBLOCKS" => $arIblocks,
"HIGHLOADS" => $arHighloads,
)
);
break;
}
case "COPY_PROPERTY":
{
$arIblocks = \CRamCalc::IblockList();
$arHighloads = \CRamCalc::HighloadList();
unset($arData["PROPERTY"]["ID"]);
unset($arData["PROPERTY"]["PROPERTIES"]["SORT"]);
$arData["PROPERTY"]["PROPERTIES"]["NAME"] .= " ".GetMessage("RAM_CALC_COPY");
$arData["PROPERTY"]["PROPERTIES"]["CODE"] = intval($arData["CODE"]);
\CRamCalc::AdminProperty
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"PROPERTY" => $arData["PROPERTY"],
"SERVICE" => $arData["SERVICE"],
"IBLOCKS" => $arIblocks,
"HIGHLOADS" => $arHighloads,
)
);
break;
}
case "COPY_CALCULATION":
{
$arData["CALCULATION"]["NAME"] .= " ".GetMessage("RAM_CALC_COPY");
$arData["CALCULATION"]["COPY"] = true;
$arData["CALCULATION"]["CODE"] = intval($arData["CODE"]);
\CRamCalc::AdminCalculation
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"CALCULATION" => $arData["CALCULATION"],
)
);
break;
}
case "ADD_CALCULATION":
{
\CRamCalc::AdminCalculation
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"CALCULATION" => Array("CODE" => intval($arData["CODE"])),
)
);
break;
}
case "COPY_CONDITION":
{
$arData["CONDITION"]["NAME"] .= " ".GetMessage("RAM_CALC_COPY");
$arData["CONDITION"]["COPY"] = true;
\CRamCalc::AdminCondition
(
Array
(
"INDEX" => intval($arData["INDEX"]),
"CONDITION" => $arData["CONDITION"],
)
);
break;
}
case "ADD_CONDITION":
{
\CRamCalc::AdminCondition
(
Array
(
"INDEX" => intval($arData["INDEX"]),
)
);
break;
}
}
?>