'; print_r($sRedirectUrl);echo ''; // echo '
'; print_r($arParams);echo ''; // echo '
'; print_r($_REQUEST);echo ''; // die('ddd'); // } LocalRedirect($sRedirectUrl); exit(); } } //prepare data for form $arResult["PROPERTY_REQUIRED"] = is_array($arParams["PROPERTY_CODES_REQUIRED"]) ? $arParams["PROPERTY_CODES_REQUIRED"] : array(); if ($arParams["ID"] > 0) { // $arElement is defined before in elements rights check $rsElementSections = CIBlockElement::GetElementGroups($arElement["ID"]); $arElement["IBLOCK_SECTION"] = array(); while ($arSection = $rsElementSections->GetNext()) { $arElement["IBLOCK_SECTION"][] = array("VALUE" => $arSection["ID"]); } $arResult["ELEMENT"] = array(); foreach($arElement as $key => $value) { $arResult["ELEMENT"]["~".$key] = $value; if(!is_array($value) && !is_object($value)) $arResult["ELEMENT"][$key] = htmlspecialcharsbx($value); else $arResult["ELEMENT"][$key] = $value; } //Restore HTML if needed if( $arParams["DETAIL_TEXT_USE_HTML_EDITOR"] && array_key_exists("DETAIL_TEXT", $arResult["ELEMENT"]) && strtolower($arResult["ELEMENT"]["DETAIL_TEXT_TYPE"]) == "html" ) $arResult["ELEMENT"]["DETAIL_TEXT"] = $arResult["ELEMENT"]["~DETAIL_TEXT"]; if( $arParams["PREVIEW_TEXT_USE_HTML_EDITOR"] && array_key_exists("PREVIEW_TEXT", $arResult["ELEMENT"]) && strtolower($arResult["ELEMENT"]["PREVIEW_TEXT_TYPE"]) == "html" ) $arResult["ELEMENT"]["PREVIEW_TEXT"] = $arResult["ELEMENT"]["~PREVIEW_TEXT"]; //$arResult["ELEMENT"] = $arElement; // load element properties $rsElementProperties = CIBlockElement::GetProperty($arParams["IBLOCK_ID"], $arElement["ID"], $by="sort", $order="asc"); $arResult["ELEMENT_PROPERTIES"] = array(); while ($arElementProperty = $rsElementProperties->Fetch()) { if(!array_key_exists($arElementProperty["ID"], $arResult["ELEMENT_PROPERTIES"])) $arResult["ELEMENT_PROPERTIES"][$arElementProperty["ID"]] = array(); if(is_array($arElementProperty["VALUE"])) { $htmlvalue = array(); foreach($arElementProperty["VALUE"] as $k => $v) { if(is_array($v)) { $htmlvalue[$k] = array(); foreach($v as $k1 => $v1) $htmlvalue[$k][$k1] = htmlspecialcharsbx($v1); } else { $htmlvalue[$k] = htmlspecialcharsbx($v); } } } else { $htmlvalue = htmlspecialcharsbx($arElementProperty["VALUE"]); } $arResult["ELEMENT_PROPERTIES"][$arElementProperty["ID"]][] = array( "ID" => htmlspecialcharsbx($arElementProperty["ID"]), "VALUE" => $htmlvalue, "~VALUE" => $arElementProperty["VALUE"], "VALUE_ID" => htmlspecialcharsbx($arElementProperty["PROPERTY_VALUE_ID"]), "VALUE_ENUM" => htmlspecialcharsbx($arElementProperty["VALUE_ENUM"]), ); } // process element property files $arResult["ELEMENT_FILES"] = array(); foreach ($arResult["PROPERTY_LIST"] as $propertyCODE) { $arProperty = $arResult["PROPERTY_LIST_FULL"][$propertyCODE]; if ($arProperty["PROPERTY_TYPE"] == "F") { $arValues = array(); if ($arResult["PROPERTY_LIST_FULL"][$propertyCODE]["IS_PROPERTY"]) { foreach ($arResult["ELEMENT_PROPERTIES"][$propertyCODE] as $arProperty) { $arValues[] = $arProperty["VALUE"]; } } else { $arValues[] = $arResult["ELEMENT"][$propertyCODE]; } foreach ($arValues as $value) { if ($arFile = CFile::GetFileArray($value)) { $arFile["IS_IMAGE"] = CFile::IsImage($arFile["FILE_NAME"], $arFile["CONTENT_TYPE"]); $arResult["ELEMENT_FILES"][$value] = $arFile; } } } } $bShowForm = true; } else { $bShowForm = true; } if ($bShowForm) { // prepare form data if some errors occured if (!empty($arResult["ERRORS"])) { foreach ($arUpdateValues as $key => $value) { if ($key == "IBLOCK_SECTION") { $arResult["ELEMENT"][$key] = array(); if(!is_array($value)) { $arResult["ELEMENT"][$key][] = array("VALUE" => htmlspecialcharsbx($value)); } else { foreach ($value as $vkey => $vvalue) { $arResult["ELEMENT"][$key][$vkey] = array("VALUE" => htmlspecialcharsbx($vvalue)); } } } elseif ($key == "PROPERTY_VALUES") { //Skip } elseif ($arResult["PROPERTY_LIST_FULL"][$key]["PROPERTY_TYPE"] == "F") { //Skip } elseif ($arResult["PROPERTY_LIST_FULL"][$key]["PROPERTY_TYPE"] == "HTML") { $arResult["ELEMENT"][$key] = $value; } else { $arResult["ELEMENT"][$key] = htmlspecialcharsbx($value); } } foreach ($arUpdatePropertyValues as $key => $value) { if ($arResult["PROPERTY_LIST_FULL"][$key]["PROPERTY_TYPE"] != "F") { $arResult["ELEMENT_PROPERTIES"][$key] = array(); if(!is_array($value)) { $value = array( array("VALUE" => $value), ); } foreach($value as $vv) { if(is_array($vv)) { if(array_key_exists("VALUE", $vv)) $arResult["ELEMENT_PROPERTIES"][$key][] = array( "~VALUE" => $vv["VALUE"], "VALUE" => !is_array($vv["VALUE"])? htmlspecialcharsbx($vv["VALUE"]): $vv["VALUE"], ); else $arResult["ELEMENT_PROPERTIES"][$key][] = array( "~VALUE" => $vv, "VALUE" => $vv, ); } else { $arResult["ELEMENT_PROPERTIES"][$key][] = array( "~VALUE" => $vv, "VALUE" => htmlspecialcharsbx($vv), ); } } } } } // prepare captcha if ($arParams["USE_CAPTCHA"] == "Y" && $arParams["ID"] <= 0) { $arResult["CAPTCHA_CODE"] = htmlspecialcharsbx($APPLICATION->CaptchaGetCode()); } $arResult["MESSAGE"] = ''; if ($_SERVER['REQUEST_METHOD'] == 'GET' && isset($_REQUEST["strIMessage"]) && is_string($_REQUEST["strIMessage"])) $arResult["MESSAGE"] = htmlspecialcharsbx($_REQUEST["strIMessage"]); $this->includeComponentTemplate(); } } if (!$bAllowAccess && !$bHideAuth) { //echo ShowError(GetMessage("IBLOCK_ADD_ACCESS_DENIED")); $APPLICATION->AuthForm(""); }