} if ($arParams["SET_TITLE"] == "Y") { $APPLICATION->SetTitle(GetMessage("CC_BSS_TITLE"), array('COMPONENT_NAME' => $this->GetName())); } $arResult["FORM_ACTION"] = $APPLICATION->GetCurPage(); $arResult["FORMAT"] = false; $arResult["RUB_ID"] = array(); if ($bVarsFromForm) { $arResult["FORMAT"] = $_POST["FORMAT"] == "html" ? "html" : "text"; $arResult["RUB_ID"] = $arNewRubrics; } elseif ($USER_ID) { $rsSubscription = $obSubscription->GetList(array(), array("USER_ID" => $USER_ID)); $arSubscription = $rsSubscription->Fetch(); if ($arSubscription) { $arResult["FORMAT"] = $arSubscription["FORMAT"]; $rsRubrics = CSubscription::GetRubricList($arSubscription["ID"]); while ($arRubric = $rsRubrics->Fetch()) { $arResult["RUB_ID"][$arRubric["ID"]] = $arRubric["ID"]; } } } $obCache = new CPHPCache(); $strCacheID = LANG . $arParams["SHOW_HIDDEN"] . $this->GetRelativePath(); if ($obCache->StartDataCache($arParams["CACHE_TIME"], $strCacheID, "/" . SITE_ID . $this->GetRelativePath())) { $arFilter = array("ACTIVE" => "Y", "LID" => SITE_ID); if ($arParams["SHOW_HIDDEN"] == "N") { $arFilter["VISIBLE"] = "Y"; } $rsRubrics = CRubric::GetList(array("SORT" => "ASC", "NAME" => "ASC"), $arFilter); $arRubrics = array(); while ($arRubric = $rsRubrics->GetNext()) {
function GetRubricArray($ID) { $ID = intval($ID); $aSubscrRub = array(); if ($ID > 0) { $subscr_rub = CSubscription::GetRubricList($ID); while ($subscr_rub_arr = $subscr_rub->Fetch()) { $aSubscrRub[] = $subscr_rub_arr["ID"]; } } return $aSubscrRub; }
if ($arRubric = $rsRubric->Fetch()) { if ($arRubric["VISIBLE"] == "N") { $bAllowSubscription = false; } } } if ($bAllowSubscription === false) { $arWarning[] = GetMessage("subscr_wrong_rubric"); } } if (count($arWarning) <= 0 && $bDoSubscribe) { //Check if subscription already have hidden rubrics and they was not displayed. //In this case we will add those categories to the list in order not to lost. if ($arParams["SHOW_HIDDEN"] == "N" && $ID > 0) { $arNewRubrics = $_REQUEST["RUB_ID"]; $rsRubric = CSubscription::GetRubricList($ID); while ($ar = $rsRubric->Fetch()) { if ($ar["VISIBLE"] == "N") { $arNewRubrics[] = $ar["ID"]; } } } else { $arNewRubrics = $_REQUEST["RUB_ID"]; } $arFields = array("USER_ID" => $USER->IsAuthorized() ? $USER->GetID() : false, "FORMAT" => $_REQUEST["FORMAT"] != "html" ? "text" : "html", "EMAIL" => $_REQUEST["EMAIL"], "RUB_ID" => $arNewRubrics); if ($_REQUEST["CONFIRM_CODE"] != "" && $ID > 0) { $arFields["CONFIRM_CODE"] = $_REQUEST["CONFIRM_CODE"]; } $res = false; if ($ID > 0) { //allow edit only after authorization