コード例 #1
0
 function CheckFields($ACTION, &$arFields, $ID = 0)
 {
     if ((is_set($arFields, "PLAN_ID") || $ACTION == "ADD") && IntVal($arFields["PLAN_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_NO_PLAN"), "EMPTY_PLAN_ID");
         return false;
     }
     if ((is_set($arFields, "MODULE_ID") || $ACTION == "ADD") && StrLen($arFields["MODULE_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_NO_MODULE"), "EMPTY_MODULE_ID");
         return false;
     }
     if ((is_set($arFields, "SECTION_ID") || $ACTION == "ADD") && StrLen($arFields["SECTION_ID"]) <= 0) {
         $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_NO_SECTION"), "EMPTY_SECTION_ID");
         return false;
     }
     $ID = IntVal($ID);
     $arPlanSection = false;
     if ($ACTION != "ADD") {
         if ($ID <= 0) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_BAD_FUNC"), "FUNCTION_ERROR");
             return false;
         } else {
             $arPlanSection = CSaleAffiliatePlanSection::GetByID($ID);
             if (!$arPlanSection) {
                 $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $ID, GetMessage("SCGAPS1_NO_RECORD")), "NO_PLAN_SECTION");
                 return false;
             }
         }
     }
     if (is_set($arFields, "RATE")) {
         $arFields["RATE"] = str_replace(",", ".", $arFields["RATE"]);
         $arFields["RATE"] = DoubleVal($arFields["RATE"]);
     }
     if ((is_set($arFields, "RATE_TYPE") || $ACTION == "ADD") && $arFields["RATE_TYPE"] != "F") {
         $arFields["RATE_TYPE"] = "P";
     }
     if ($ACTION == "ADD") {
         if ($arFields["RATE_TYPE"] == "P") {
             $arFields["RATE_CURRENCY"] = false;
         }
         if ($arFields["RATE_TYPE"] == "F" && (!is_set($arFields, "RATE_CURRENCY") || StrLen($arFields["RATE_CURRENCY"]) <= 0)) {
             $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_NO_CURRENCY"), "EMPTY_RATE_CURRENCY");
             return false;
         }
     } else {
         if (!is_set($arFields, "RATE_TYPE")) {
             $arFields["RATE_TYPE"] = $arPlanSection["RATE_TYPE"];
         }
         if ($arFields["RATE_TYPE"] == "P") {
             $arFields["RATE_CURRENCY"] = false;
         } elseif ($arFields["RATE_TYPE"] == "F") {
             if (!is_set($arFields, "RATE_CURRENCY")) {
                 $arFields["RATE_CURRENCY"] = $arPlanSection["RATE_CURRENCY"];
             }
             if (!is_set($arFields, "RATE_CURRENCY") || StrLen($arFields["RATE_CURRENCY"]) <= 0) {
                 $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAPS1_NO_CURRENCY"), "EMPTY_RATE_CURRENCY");
                 return false;
             }
         }
     }
     return True;
 }