function ConvertCurrency($valSum, $curFrom, $curTo, $valDate = "") { global $DB; if (strlen($valDate) <= 0) { $valDate = date("Y-m-d"); } list($dpYear, $dpMonth, $dpDay) = split("-", $valDate, 3); $dpDay += 1; $valDate = date("Y-m-d", mktime(0, 0, 0, $dpMonth, $dpDay, $dpYear)); $curFromRate = 0; $curFromRateCnt = 0; $strSql = "SELECT C.AMOUNT, C.AMOUNT_CNT, CR.RATE, CR.RATE_CNT " . "FROM b_catalog_currency C " . "\tLEFT JOIN b_catalog_currency_rate CR " . "\t\tON (C.CURRENCY = CR.CURRENCY AND CR.DATE_RATE < '" . $valDate . "') " . "WHERE C.CURRENCY = '" . $DB->ForSql($curFrom) . "' " . "ORDER BY DATE_RATE DESC"; $db_res = $DB->Query($strSql); if ($res = $db_res->Fetch()) { $curFromRate = DoubleVal($res["RATE"]); $curFromRateCnt = IntVal($res["RATE_CNT"]); if ($curFromRate <= 0) { $curFromRate = DoubleVal($res["AMOUNT"]); $curFromRateCnt = IntVal($res["AMOUNT_CNT"]); } } $curToRate = 0; $curToRateCnt = 0; $strSql = "SELECT C.AMOUNT, C.AMOUNT_CNT, CR.RATE, CR.RATE_CNT " . "FROM b_catalog_currency C " . "\tLEFT JOIN b_catalog_currency_rate CR " . "\t\tON (C.CURRENCY = CR.CURRENCY AND CR.DATE_RATE < '" . $valDate . "') " . "WHERE C.CURRENCY = '" . $DB->ForSql($curTo) . "' " . "ORDER BY DATE_RATE DESC"; $db_res = $DB->Query($strSql); if ($res = $db_res->Fetch()) { $curToRate = DoubleVal($res["RATE"]); $curToRateCnt = DoubleVal($res["RATE_CNT"]); if ($curToRate <= 0) { $curToRate = DoubleVal($res["AMOUNT"]); $curToRateCnt = IntVal($res["AMOUNT_CNT"]); } } return DoubleVal(DoubleVal($valSum) * $curFromRate * $curToRateCnt / $curToRate / $curFromRateCnt); }
/** @deprecated */ function PrepareCurrency4Where($val, $key, $operation, $negative, $field, &$arField, &$arFilter) { $val = DoubleVal($val); $baseSiteCurrency = ""; if (isset($arFilter["LID"]) && strlen($arFilter["LID"]) > 0) { $baseSiteCurrency = CSaleLang::GetLangCurrency($arFilter["LID"]); } elseif (isset($arFilter["CURRENCY"]) && strlen($arFilter["CURRENCY"]) > 0) { $baseSiteCurrency = $arFilter["CURRENCY"]; } if (strlen($baseSiteCurrency) <= 0) { return False; } $strSqlSearch = ""; $dbCurrency = CCurrency::GetList($by = "sort", $order = "asc"); while ($arCurrency = $dbCurrency->Fetch()) { $val1 = roundEx(CCurrencyRates::ConvertCurrency($val, $baseSiteCurrency, $arCurrency["CURRENCY"]), SALE_VALUE_PRECISION); if (strlen($strSqlSearch) > 0) { $strSqlSearch .= " OR "; } $strSqlSearch .= "(D.ORDER_CURRENCY = '" . $arCurrency["CURRENCY"] . "' AND "; if ($negative == "Y") { $strSqlSearch .= "NOT"; } $strSqlSearch .= "(" . $field . " " . $operation . " " . $val1 . " OR " . $field . " IS NULL OR " . $field . " = 0)"; $strSqlSearch .= ")"; } return "(" . $strSqlSearch . ")"; }
function CheckFields($ACTION, &$arFields, $ID = 0) { if ((is_set($arFields, "SITE_ID") || $ACTION == "ADD") && StrLen($arFields["SITE_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAT1_NO_SITE"), "EMPTY_SITE_ID"); return false; } if (is_set($arFields, "RATE1")) { $arFields["RATE1"] = str_replace(",", ".", $arFields["RATE1"]); $arFields["RATE1"] = DoubleVal($arFields["RATE1"]); } if (is_set($arFields, "RATE2")) { $arFields["RATE2"] = str_replace(",", ".", $arFields["RATE2"]); $arFields["RATE2"] = DoubleVal($arFields["RATE2"]); } if (is_set($arFields, "RATE3")) { $arFields["RATE3"] = str_replace(",", ".", $arFields["RATE3"]); $arFields["RATE3"] = DoubleVal($arFields["RATE3"]); } if (is_set($arFields, "RATE4")) { $arFields["RATE4"] = str_replace(",", ".", $arFields["RATE4"]); $arFields["RATE4"] = DoubleVal($arFields["RATE4"]); } if (is_set($arFields, "RATE5")) { $arFields["RATE5"] = str_replace(",", ".", $arFields["RATE5"]); $arFields["RATE5"] = DoubleVal($arFields["RATE5"]); } return True; }
public static function CheckFields($ACTION, &$arFields, $ID = 0) { if ((is_set($arFields, "AFFILIATE_ID") || $ACTION == "ADD") && IntVal($arFields["AFFILIATE_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAT2_NO_AFF"), "EMPTY_AFFILIATE_ID"); return false; } if ((is_set($arFields, "CURRENCY") || $ACTION == "ADD") && strlen($arFields["CURRENCY"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAT2_NO_CURRENCY"), "EMPTY_CURRENCY"); return false; } if ((is_set($arFields, "TRANSACT_DATE") || $ACTION == "ADD") && strlen($arFields["TRANSACT_DATE"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SCGAT2_NO_DATE"), "EMPTY_TRANSACT_DATE"); return false; } if (is_set($arFields, "AMOUNT") || $ACTION == "ADD") { $arFields["AMOUNT"] = str_replace(",", ".", $arFields["AMOUNT"]); $arFields["AMOUNT"] = DoubleVal($arFields["AMOUNT"]); } if ((is_set($arFields, "DEBIT") || $ACTION == "ADD") && $arFields["DEBIT"] != "Y") { $arFields["DEBIT"] = "N"; } if (is_set($arFields, "AFFILIATE_ID")) { $dbAddiliate = CSaleAffiliate::GetList(array(), array("ID" => $arFields["AFFILIATE_ID"]), false, false, array("ID")); if (!$dbAddiliate->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["AFFILIATE_ID"], GetMessage("SCGAT2_NO_AFF1")), "ERROR_NO_AFFILIATE_ID"); return false; } } return True; }
function CheckFields($ACTION, &$arFields, $ID = 0) { global $DB; if (is_set($arFields, "FILE_ID")) { if (is_array($arFields['FILE_ID'])) { if (strlen($arFields["FILE_ID"]["name"]) <= 0 && strlen($arFields["FILE_ID"]["del"]) <= 0) { unset($arFields["FILE_ID"]); } $arFile = $arFields["FILE_ID"]; } else { $arFields['FILE_ID'] = intval($arFields['FILE_ID']); if ($arFields['FILE_ID'] > 0 && ($arFile = CFile::GetFileArray($arFields['FILE_ID']))) { $res = CFile::CheckImageFile($arFile, 0, 0, 0); if (strlen($res) > 0) { $GLOBALS["APPLICATION"]->ThrowException($res, "ERROR_ATTACH_IMG"); return false; } } } if ($arFields["IMAGE_SIZE_CHECK"] != "N" && IntVal($arFields["IMAGE_SIZE"]) > 0 && IntVal($arFields["IMAGE_SIZE"]) > COption::GetOptionString("blog", "image_max_size", 5000000)) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("ERROR_ATTACH_IMG_SIZE", array("#SIZE#" => DoubleVal(COption::GetOptionString("blog", "image_max_size", 5000000) / 1000000))), "ERROR_ATTACH_IMG_SIZE"); return false; } unset($arFields["IMAGE_SIZE_CHECK"]); } return True; }
protected function process(ViewBag $viewbag) { $movie = $this->movie; $list = $this->list; $im = imagecreate($this->W, $this->H); $background_color = imagecolorallocate($im, 0xc0, 0xc0, 0xc0); imagefilledrectangle($im, 0, 0, $this->W - 1, $this->H - 1, $background_color); $black = imagecolorallocate($im, 0, 0, 0); imagerectangle($im, 0, 0, $this->W - 1, $this->H - 1, $black); $red = imagecolorallocate($im, 0xc0, 0, 0); $max = $movie->getMaxSeek(); $scale = DoubleVal($this->W) / DoubleVal($max); foreach ($list->getCutRegions() as $v) { $left = $v[0]; $right = $v[1]; if ($right == -1) { $right = $max; } $x1 = IntVal($left * $scale); $x2 = min($this->W - 1, IntVal($right * $scale)); imagefilledrectangle($im, $x1, 1, $x2, $this->H - 2, $red); } header("Content-Type: image/png"); header("Cache-Control: must-revalidate"); imagepng($im); exit; }
public static function CheckFields($ACTION, &$arFields, $ID = 0) { if ((is_set($arFields, "USER_ID") || $ACTION == "ADD") && IntVal($arFields["USER_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException("Empty user field", "EMPTY_USER_ID"); return false; } if ((is_set($arFields, "CURRENCY") || $ACTION == "ADD") && strlen($arFields["CURRENCY"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException("Empty currency field", "EMPTY_CURRENCY"); return false; } if ((is_set($arFields, "TRANSACT_DATE") || $ACTION == "ADD") && strlen($arFields["TRANSACT_DATE"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException("Empty transaction date field", "EMPTY_TRANSACT_DATE"); return false; } if (is_set($arFields, "AMOUNT") || $ACTION == "ADD") { $arFields["AMOUNT"] = str_replace(",", ".", $arFields["AMOUNT"]); $arFields["AMOUNT"] = DoubleVal($arFields["AMOUNT"]); } if ((is_set($arFields, "DEBIT") || $ACTION == "ADD") && $arFields["DEBIT"] != "Y") { $arFields["DEBIT"] = "N"; } if (is_set($arFields, "USER_ID")) { $dbUser = CUser::GetByID($arFields["USER_ID"]); if (!$dbUser->Fetch()) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["USER_ID"], GetMessage("SKGUT_NO_USER")), "ERROR_NO_USER_ID"); return false; } } return True; }
function CheckFields($ACTION, &$arFields) { global $DB; if ((is_set($arFields, "TAX_ID") || $ACTION == "ADD") && IntVal($arFields["TAX_ID"]) <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGTR_EMPTY_TAX_ID"), "ERROR_NO_TAX_ID"); return false; } if ((is_set($arFields, "PERSON_TYPE_ID") || $ACTION == "ADD") && IntVal($arFields["PERSON_TYPE_ID"]) <= 0) { $arFields["PERSON_TYPE_ID"] = false; } if (is_set($arFields, "VALUE") || $ACTION == "ADD") { $arFields["VALUE"] = str_replace(",", ".", $arFields["VALUE"]); $arFields["VALUE"] = DoubleVal($arFields["VALUE"]); } if ((is_set($arFields, "IS_PERCENT") || $ACTION == "ADD") && $arFields["IS_PERCENT"] != "N") { $arFields["IS_PERCENT"] = "Y"; } if ($arFields["IS_PERCENT"] == "Y") { $arFields["CURRENCY"] = false; } elseif ($arFields["IS_PERCENT"] == "N" && (!is_set($arFields, "CURRENCY") || strlen($arFields["CURRENCY"]) <= 0)) { return False; } elseif (!is_set($arFields, "IS_PERCENT") && (is_set($arFields, "CURRENCY") && $arFields["CURRENCY"] !== false)) { return False; } if (is_set($arFields, "TAX_ID")) { if (!($arTax = CSaleTax::GetByID($arFields["TAX_ID"]))) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["TAX_ID"], GetMessage("SKGTR_NO_TAX")), "ERROR_NO_TAX"); return false; } } if (is_set($arFields, "PERSON_TYPE_ID") && $arFields["PERSON_TYPE_ID"] !== false) { if (!($arPersonType = CSalePersonType::GetByID($arFields["PERSON_TYPE_ID"]))) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $arFields["PERSON_TYPE_ID"], GetMessage("SKGTR_NO_PERS_TYPE")), "ERROR_NO_PERSON_TYPE"); return false; } } if ((is_set($arFields, "IS_IN_PRICE") || $ACTION == "ADD") && $arFields["IS_IN_PRICE"] != "Y") { $arFields["IS_IN_PRICE"] = "N"; } if ((is_set($arFields, "ACTIVE") || $ACTION == "ADD") && $arFields["ACTIVE"] != "N") { $arFields["ACTIVE"] = "Y"; } if ((is_set($arFields, "APPLY_ORDER") || $ACTION == "ADD") && IntVal($arFields["APPLY_ORDER"]) <= 0) { $arFields["APPLY_ORDER"] = "100"; } return true; }
function AutoPayOrder($ORDER_ID) { $ORDER_ID = IntVal($ORDER_ID); $arOrder = CSaleOrder::GetByID($ORDER_ID); if (!$arOrder) { return false; } if ($arOrder["PS_STATUS"] != "Y") { return false; } if ($arOrder["PAYED"] != "N") { return false; } if ($arOrder["CURRENCY"] == $arOrder["PS_CURRENCY"] && DoubleVal($arOrder["PRICE"]) == DoubleVal($arOrder["PS_SUM"])) { if (CSaleOrder::PayOrder($order["ID"], "Y", True, False)) { return true; } } return false; }
function AutoPayOrder($_1756592745) { $_1756592745 = IntVal($_1756592745); $_1691926443 = CSaleOrder::$GLOBALS['_____964307792'][6]($_1756592745); if (!$_1691926443) { return false; } if ($_1691926443[___1555869721(428)] != ___1555869721(429)) { return false; } if ($_1691926443[___1555869721(430)] != ___1555869721(431)) { return false; } if ($_1691926443[___1555869721(432)] == $_1691926443[___1555869721(433)] && DoubleVal($_1691926443[___1555869721(434)]) == DoubleVal($_1691926443[___1555869721(435)])) { if (CSaleOrder::PayOrder($_77363853[___1555869721(436)], ___1555869721(437), True, False)) { return true; } } return false; }
protected function process(ViewBag $viewbag) { $thumbnailer = $this->movie->getThumbnailer(); $viewbag->Thumbnailer = $thumbnailer; // List of defined cutpoints $max = $this->movie->getMaxSeek(); $duration_sec = $this->movie->duration(); $viewbag->CutList = array(); foreach ($this->list->getCutRegions() as $v) { $left = $v[0]; $right = $v[1]; $duration_mark = ($right == -1 ? $max : $right) - $left; $secs = Floor(DoubleVal($duration_mark) / $max * $duration_sec); $c = new StdClass(); $c->Timestamp = sprintf("%02d:%02d:%02d ", floor($secs / 3600), $secs % 3600 / 60, $secs % 60); $c->Left = $left; $c->Right = $right == -1 ? $max : $right; $viewbag->CutList[] = $c; } $this->SetView($this->ajax ? "MovieAjax" : "Movie"); }
function roundDB($value, $len=18, $dec=4) { if($value>=0) $value = "0".$value; $value = roundEx(DoubleVal($value), $len); $value = sprintf("%01.".$dec."f", $value); if($len>0 && strlen($value)>$len-$dec) $value = trim(substr($value, 0, $len-$dec), "."); return $value; }
public static function PrepareSql(&$arFields, $arOrder, $arFilter, $arGroupBy, $arSelectFields) { global $DB; $strSqlSelect = ""; $strSqlFrom = ""; $strSqlWhere = ""; $strSqlGroupBy = ""; $arGroupByFunct = array("COUNT", "AVG", "MIN", "MAX", "SUM"); $arAlreadyJoined = array(); // GROUP BY --> if (is_array($arGroupBy) && count($arGroupBy) > 0) { $arSelectFields = $arGroupBy; foreach ($arGroupBy as $key => $val) { $val = strtoupper($val); $key = strtoupper($key); if (array_key_exists($val, $arFields) && !in_array($key, $arGroupByFunct)) { if (strlen($strSqlGroupBy) > 0) { $strSqlGroupBy .= ", "; } $strSqlGroupBy .= $arFields[$val]["FIELD"]; if (isset($arFields[$val]["FROM"]) && strlen($arFields[$val]["FROM"]) > 0 && !in_array($arFields[$val]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) { $strSqlFrom .= " "; } $strSqlFrom .= $arFields[$val]["FROM"]; $arAlreadyJoined[] = $arFields[$val]["FROM"]; } } } } // <-- GROUP BY // SELECT --> $arFieldsKeys = array_keys($arFields); if (is_array($arGroupBy) && count($arGroupBy) == 0) { $strSqlSelect = "COUNT(%%_DISTINCT_%% " . $arFields[$arFieldsKeys[0]]["FIELD"] . ") as CNT "; } else { if (isset($arSelectFields) && !is_array($arSelectFields) && is_string($arSelectFields) && strlen($arSelectFields) > 0 && array_key_exists($arSelectFields, $arFields)) { $arSelectFields = array($arSelectFields); } if (!isset($arSelectFields) || !is_array($arSelectFields) || count($arSelectFields) <= 0 || in_array("*", $arSelectFields)) { foreach ($arFields as $FIELD_ID => $arField) { if (isset($arField["WHERE_ONLY"]) && $arField["WHERE_ONLY"] == "Y") { continue; } if (strlen($strSqlSelect) > 0) { $strSqlSelect .= ", "; } if ($arField["TYPE"] == "datetime") { $strSqlSelect .= $DB->DateToCharFunction($arField["FIELD"], "FULL") . " as " . $FIELD_ID; } elseif ($arField["TYPE"] == "date") { $strSqlSelect .= $DB->DateToCharFunction($arField["FIELD"], "SHORT") . " as " . $FIELD_ID; } else { $strSqlSelect .= $arField["FIELD"] . " as " . $FIELD_ID; } if (isset($arField["FROM"]) && strlen($arField["FROM"]) > 0 && !in_array($arField["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) { $strSqlFrom .= " "; } $strSqlFrom .= $arField["FROM"]; $arAlreadyJoined[] = $arField["FROM"]; } } } else { foreach ($arSelectFields as $key => $val) { $val = strtoupper($val); $key = strtoupper($key); if (array_key_exists($val, $arFields)) { if (strlen($strSqlSelect) > 0) { $strSqlSelect .= ", "; } if (in_array($key, $arGroupByFunct)) { $strSqlSelect .= $key . "(" . $arFields[$val]["FIELD"] . ") as " . $val; } else { if ($arFields[$val]["TYPE"] == "datetime") { $strSqlSelect .= $DB->DateToCharFunction($arFields[$val]["FIELD"], "FULL") . " as " . $val; } elseif ($arFields[$val]["TYPE"] == "date") { $strSqlSelect .= $DB->DateToCharFunction($arFields[$val]["FIELD"], "SHORT") . " as " . $val; } else { $strSqlSelect .= $arFields[$val]["FIELD"] . " as " . $val; } } if (isset($arFields[$val]["FROM"]) && strlen($arFields[$val]["FROM"]) > 0 && !in_array($arFields[$val]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) { $strSqlFrom .= " "; } $strSqlFrom .= $arFields[$val]["FROM"]; $arAlreadyJoined[] = $arFields[$val]["FROM"]; } } } } if (strlen($strSqlGroupBy) > 0) { if (strlen($strSqlSelect) > 0) { $strSqlSelect .= ", "; } $strSqlSelect .= "COUNT(%%_DISTINCT_%% " . $arFields[$arFieldsKeys[0]]["FIELD"] . ") as CNT"; } else { $strSqlSelect = "%%_DISTINCT_%% " . $strSqlSelect; } } // <-- SELECT // WHERE --> $arSqlSearch = array(); if (is_array($arFilter)) { foreach ($arFilter as $key => $vals) { if (!is_array($vals)) { $vals = array($vals); } $key_res = CGroup::GetFilterOperation($key); $key = $key_res["FIELD"]; $strNegative = $key_res["NEGATIVE"]; $strOperation = $key_res["OPERATION"]; $strOrNull = $key_res["OR_NULL"]; if (array_key_exists($key, $arFields)) { $arSqlSearch_tmp = array(); foreach ($vals as $val) { if (isset($arFields[$key]["WHERE"])) { $arSqlSearch_tmp1 = call_user_func_array($arFields[$key]["WHERE"], array($val, $key, $strOperation, $strNegative, $arFields[$key]["FIELD"], $arFields, $arFilter)); if ($arSqlSearch_tmp1 !== false) { $arSqlSearch_tmp[] = $arSqlSearch_tmp1; } } else { if ($arFields[$key]["TYPE"] == "int") { if (intval($val) <= 0) { $arSqlSearch_tmp[] = ($strNegative == "Y" ? "NOT" : "") . "(" . $arFields[$key]["FIELD"] . " IS NULL OR " . $arFields[$key]["FIELD"] . " <= 0)"; } else { $arSqlSearch_tmp[] = ($strNegative == "Y" ? " " . $arFields[$key]["FIELD"] . " IS NULL OR NOT " : "") . "(" . $arFields[$key]["FIELD"] . " " . $strOperation . " " . intval($val) . " )"; } } elseif ($arFields[$key]["TYPE"] == "double") { $val = str_replace(",", ".", $val); if (DoubleVal($val) <= 0) { $arSqlSearch_tmp[] = ($strNegative == "Y" ? "NOT" : "") . "(" . $arFields[$key]["FIELD"] . " IS NULL OR " . $arFields[$key]["FIELD"] . " <= 0)"; } else { $arSqlSearch_tmp[] = ($strNegative == "Y" ? " " . $arFields[$key]["FIELD"] . " IS NULL OR NOT " : "") . "(" . $arFields[$key]["FIELD"] . " " . $strOperation . " " . DoubleVal($val) . " )"; } } elseif ($arFields[$key]["TYPE"] == "string" || $arFields[$key]["TYPE"] == "char") { if ($strOperation == "QUERY") { $arSqlSearch_tmp[] = GetFilterQuery($arFields[$key]["FIELD"], $val, "Y"); } else { if (strlen($val) <= 0) { $arSqlSearch_tmp[] = ($strNegative == "Y" ? "NOT" : "") . "(" . $arFields[$key]["FIELD"] . " IS NULL OR LENGTH(" . $arFields[$key]["FIELD"] . ")<=0)"; } else { $arSqlSearch_tmp[] = ($strNegative == "Y" ? " " . $arFields[$key]["FIELD"] . " IS NULL OR NOT " : "") . "(" . $arFields[$key]["FIELD"] . " " . $strOperation . " '" . $DB->ForSql($val) . "' )"; } } } elseif ($arFields[$key]["TYPE"] == "datetime") { if (strlen($val) <= 0) { $arSqlSearch_tmp[] = ($strNegative == "Y" ? "NOT" : "") . "(" . $arFields[$key]["FIELD"] . " IS NULL)"; } else { $arSqlSearch_tmp[] = ($strNegative == "Y" ? " " . $arFields[$key]["FIELD"] . " IS NULL OR NOT " : "") . "(" . $arFields[$key]["FIELD"] . " " . $strOperation . " " . $DB->CharToDateFunction($DB->ForSql($val), "FULL") . ")"; } } elseif ($arFields[$key]["TYPE"] == "date") { if (strlen($val) <= 0) { $arSqlSearch_tmp[] = ($strNegative == "Y" ? "NOT" : "") . "(" . $arFields[$key]["FIELD"] . " IS NULL)"; } else { $arSqlSearch_tmp[] = ($strNegative == "Y" ? " " . $arFields[$key]["FIELD"] . " IS NULL OR NOT " : "") . "(" . $arFields[$key]["FIELD"] . " " . $strOperation . " " . $DB->CharToDateFunction($DB->ForSql($val), "SHORT") . ")"; } } } } if (isset($arFields[$key]["FROM"]) && strlen($arFields[$key]["FROM"]) > 0 && !in_array($arFields[$key]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) { $strSqlFrom .= " "; } $strSqlFrom .= $arFields[$key]["FROM"]; $arAlreadyJoined[] = $arFields[$key]["FROM"]; } $strSqlSearch_tmp = ""; foreach ($arSqlSearch_tmp as $condition) { if ($strSqlSearch_tmp != "") { $strSqlSearch_tmp .= $strNegative == "Y" ? " AND " : " OR "; } $strSqlSearch_tmp .= "(" . $condition . ")"; } if ($strOrNull == "Y") { if ($strSqlSearch_tmp != "") { $strSqlSearch_tmp .= $strNegative == "Y" ? " AND " : " OR "; } $strSqlSearch_tmp .= "(" . $arFields[$key]["FIELD"] . " IS " . ($strNegative == "Y" ? "NOT " : "") . "NULL)"; } if ($strSqlSearch_tmp != "") { $arSqlSearch[] = "(" . $strSqlSearch_tmp . ")"; } } } } foreach ($arSqlSearch as $condition) { if ($strSqlWhere != "") { $strSqlWhere .= " AND "; } $strSqlWhere .= "(" . $condition . ")"; } // <-- WHERE // ORDER BY --> $arSqlOrder = array(); foreach ($arOrder as $by => $order) { $by = strtoupper($by); $order = strtoupper($order); if ($order != "ASC") { $order = "DESC"; } if (array_key_exists($by, $arFields)) { $arSqlOrder[] = " " . $arFields[$by]["FIELD"] . " " . $order . " "; if (isset($arFields[$by]["FROM"]) && strlen($arFields[$by]["FROM"]) > 0 && !in_array($arFields[$by]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) { $strSqlFrom .= " "; } $strSqlFrom .= $arFields[$by]["FROM"]; $arAlreadyJoined[] = $arFields[$by]["FROM"]; } } } $strSqlOrderBy = implode(", ", $arSqlOrder); // <-- ORDER BY return array("SELECT" => $strSqlSelect, "FROM" => $strSqlFrom, "WHERE" => $strSqlWhere, "GROUPBY" => $strSqlGroupBy, "ORDERBY" => $strSqlOrderBy); }
function CustomizeLHEForBlogComments() { ?> <script> LHEButtons['BlogImage'] ={ id : 'Image', // Standart image icon from editor-s CSS name : BX.message.Image, handler: function(pBut) { //pBut.pLEditor.OpenDialog({id : 'BlogImage', obj: false}); blogShowFile(); }, OnBeforeCreate: function(pLEditor, pBut) { // Disable in non BBCode mode in html pBut.disableOnCodeView = !pLEditor.bBBCode || pLEditor.arConfig.bConvertContentFromBBCodes; return pBut; }, parser: { name: 'blogimage', obj: { Parse: function(sName, sContent, pLEditor) { var i, cnt = arImages.length, j; if (!pLEditor.arBlogImages) pLEditor.arBlogImages = {}; for(i = 0; i < cnt; i++) { if (!pLEditor.arBlogImages[arImagesId[i]]) { pLEditor.arBlogImages[arImagesId[i]] = { src : arImages[i], pTitle: '' }; } } sContent = sContent.replace(/\[IMG ID=((?:\s|\S)*?)(?:\s*?WIDTH=(\d+)\s*?HEIGHT=(\d+))?\]/ig, function(str, id, width, height) { if (!pLEditor.arBlogImages[id]) return str; width = parseInt(width); height = parseInt(height); var strSize = "", imageSrc = pLEditor.arBlogImages[id].src, imageTitle = ""; if (width && height && pLEditor.bBBParseImageSize) strSize = " width=\"" + width + "\" height=\"" + height + "\""; return '<img id="' + pLEditor.SetBxTag(false, {tag: "blogimage", params: {value : id}}) + '" src="' + imageSrc + '" title="' + imageTitle + '" ' + strSize +'>'; }); return sContent; }, UnParse: function(bxTag, pNode, pLEditor) { if (bxTag.tag == 'blogimage') { var width = parseInt(pNode.arAttributes['width']), height = parseInt(pNode.arAttributes['height']), strSize = ""; if (width && height && pLEditor.bBBParseImageSize) strSize = ' WIDTH=' + width + ' HEIGHT=' + height; return '[IMG ID=' + bxTag.params.value + strSize + ']'; } return ""; } } } }; window.LHEDailogs['BlogImage'] = function(pObj) { var str = '<span class="errortext" id="lhed_blog_image_error" style="display:none;"></span>' + '<table width="100%"><tr>' + '<td class="lhe-dialog-label lhe-label-imp"><?php echo GetMessageJS('BLOG_IMAGE'); ?> :</td>' + '<td class="lhe-dialog-param">' + '<'+'form id="' + pObj.pLEditor.id + 'img_upload_form" action="<?php echo CUtil::JSEscape(POST_FORM_ACTION_URI); ?> " method="post" enctype="multipart/form-data" style="margin: 0!important; padding: 0!important;">' + '<?php echo freetrix_sessid_post(); ?> ' + '<input type="file" size="30" name="BLOG_UPLOAD_FILE" id="bx_lhed_blog_img_input" />' + '<input type="hidden" value="Y" name="blog_upload_image"/>' + '<input type="hidden" name="post" value="Y">' + '</form>'+ '</td>' + '</tr><tr id="' + pObj.pLEditor.id + 'lhed_blog_notice">' + '<td colSpan="2" style="padding: 0 0 20px 25px !important; font-size: 11px!important;"><?php echo GetMessageJS('BPC_IMAGE_SIZE_NOTICE', array('#SIZE#' => DoubleVal(COption::GetOptionString("blog", "image_max_size", 1000000) / 1000000))); ?> </td>' + '</tr></table>'; return { title: "<?php echo GetMessageJS('BLOG_P_IMAGE_UPLOAD'); ?> ", innerHTML : str, width: 500, OnLoad: function() { pObj.pForm = false; pObj.pInput = false; pObj.pInput = BX('bx_lhed_blog_img_input'); pObj.pForm = BX(pObj.pLEditor.id + 'img_upload_form'); pObj.pLEditor.focus(pObj.pInput); window.obLHEDialog.adjustSizeEx(); }, OnSave: function() { if (pObj.pInput && pObj.pForm && pObj.pInput.value != "") { BX.showWait('bx_lhed_blog_img_input'); BX('lhed_blog_image_error').style.display = 'none'; BX('lhed_blog_image_error').innerHTML = ''; BX.ajax.submit(pObj.pForm, function(){ BX.closeWait(); if (window.bxBlogImageId) { window.InsertBlogImage(window.bxBlogImageId, window.bxBlogImageIdWidth); window.obLHEDialog.Close(); window.bxBlogImageId = false; window.bxBlogImageIdWidth = false; } else if(window.bxBlogImageError) { BX('lhed_blog_image_error').innerHTML = window.bxBlogImageError; BX('lhed_blog_image_error').style.display = 'block'; window.obLHEDialog.adjustSizeEx(); } }); return false; } } }; }; window.InsertBlogImage = function(imageId, width) { pLEditor = window.oBlogComLHE; var strSize = ''; if (!pLEditor.arBlogImages[imageId]) { var imgId = window.arImagesId[imageId-1]; var src = window.arImages[imageId-1]; imageId = imgId; if(width > 0) { if(pLEditor.arConfig.width && pLEditor.arConfig.width.indexOf('%') <= 0) widthC = parseInt(pLEditor.arConfig.width)*0.8; else widthC = 500; if(width > widthC) strSize = ' width="80%"'; } pLEditor.arBlogImages[imageId] = { src : src, pTitle: '' }; } if (pLEditor.sEditorMode == 'code' && pLEditor.bBBCode) // BB Codes pLEditor.WrapWith("", "", "[IMG ID=" + imageId + "]"); else if(pLEditor.sEditorMode == 'html') // WYSIWYG { pLEditor.InsertHTML('<img id="' + pLEditor.SetBxTag(false, {tag: "blogImage", params: {value : imageId}}) + '" src="' + pLEditor.arBlogImages[imageId].src + '" title="' + (pLEditor.arBlogImages[imageId].pTitle.value || "") + '"' + strSize + '>'); setTimeout('pLEditor.AutoResize();', 500); } } // Rename image button and change Icon LHEButtons['Image'].id = 'ImageLink'; LHEButtons['Image'].src = '/freetrix/components/freetrix/blog/templates/.default/images/bbcode/font_image_upload.gif'; LHEButtons['Image'].name = '<?php echo GetMessageJS("BLOG_P_IMAGE_LINK"); ?> '; LHEButtons['BlogInputVideo'] = { id : 'BlogInputVideo', src : '/freetrix/components/freetrix/blog/templates/.default/images/bbcode/font_video.gif', name : '<?php echo GetMessageJS("FPF_VIDEO"); ?> ', title : '<?php echo GetMessageJS("FPF_VIDEO"); ?> ', handler: function(pBut) { pBut.pLEditor.OpenDialog({id : 'BlogVideo', obj: false}); }, parser: { name: 'blogvideo', obj: { Parse: function(sName, sContent, pLEditor) { sContent = sContent.replace(/\[VIDEO\s*?width=(\d+)\s*?height=(\d+)\s*\]((?:\s|\S)*?)\[\/VIDEO\]/ig, function(str, w, h, src) { var w = parseInt(w) || 400, h = parseInt(h) || 300, src = BX.util.trim(src); return '<img id="' + pLEditor.SetBxTag(false, {tag: "blogvideo", params: {value : src}}) + '" src="/freetrix/images/1.gif" class="bxed-video" width=' + w + ' height=' + h + ' title="' + BX.message.Video + ": " + src + '" />'; }); return sContent; }, UnParse: function(bxTag, pNode, pLEditor) { if (bxTag.tag == 'blogvideo') { return "[VIDEO WIDTH=" + pNode.arAttributes["width"] + " HEIGHT=" + pNode.arAttributes["height"] + "]" + bxTag.params.value + "[/VIDEO]"; } return ""; } } } }; window.LHEDailogs['BlogVideo'] = function(pObj) { var str = '<table width="100%"><tr>' + '<td class="lhe-dialog-label lhe-label-imp"><label for="' + pObj.pLEditor.id + 'lhed_blog_video_path"><b><?php echo GetMessageJS('BPC_VIDEO_P'); ?> :</b></label></td>' + '<td class="lhe-dialog-param">' + '<input id="' + pObj.pLEditor.id + 'lhed_blog_video_path" value="" size="30"/>' + '</td>' + '</tr><tr>' + '<td></td>' + '<td style="padding: 0!important; font-size: 11px!important;"><?php echo GetMessageJS('BPC_VIDEO_PATH_EXAMPLE'); ?> </td>' + '</tr><tr>' + '<td class="lhe-dialog-label lhe-label-imp"><label for="' + pObj.pLEditor.id + 'lhed_blog_video_width">' + BX.message.ImageSizing + ':</label></td>' + '<td class="lhe-dialog-param">' + '<input id="' + pObj.pLEditor.id + 'lhed_blog_video_width" value="" size="4"/>' + ' x ' + '<input id="' + pObj.pLEditor.id + 'lhed_blog_video_height" value="" size="4" />' + '</td>' + '</tr></table>'; return { title: "<?php echo GetMessageJS('FPF_VIDEO'); ?> ", innerHTML : str, width: 480, OnLoad: function() { pObj.pPath = BX(pObj.pLEditor.id + "lhed_blog_video_path"); pObj.pWidth = BX(pObj.pLEditor.id + "lhed_blog_video_width"); pObj.pHeight = BX(pObj.pLEditor.id + "lhed_blog_video_height"); pObj.pLEditor.focus(pObj.pPath); }, OnSave: function() { pLEditor = window.oBlogComLHE; var src = BX.util.trim(pObj.pPath.value), w = parseInt(pObj.pWidth.value) || 400, h = parseInt(pObj.pHeight.value) || 300; if (src == "") return; if (pLEditor.sEditorMode == 'code' && pLEditor.bBBCode) // BB Codes { pLEditor.WrapWith("", "", "[VIDEO WIDTH=" + w + " HEIGHT=" + h + "]" + src + "[/VIDEO]"); } else if(pLEditor.sEditorMode == 'html') // WYSIWYG { pLEditor.InsertHTML('<img id="' + pLEditor.SetBxTag(false, {tag: "blogvideo", params: {value : src}}) + '" src="/freetrix/images/1.gif" class="bxed-video" width=' + w + ' height=' + h + ' title="' + BX.message.Video + ": " + src + '" />'); setTimeout('pLEditor.AutoResize();', 500); } } }; }; LHEButtons['CreateLinkNC'] = { id : 'CreateLinkNC', src : '/freetrix/components/freetrix/blog/templates/.default/images/bbcode/font_link.gif', name : '<?php echo GetMessageJS("BPC_LINK"); ?> ', title : '<?php echo GetMessageJS("BPC_LINK"); ?> ', handler: function(pBut) { pBut.pLEditor.OpenDialog({id : 'CreateLinkNCDialog', obj: false}); } }; window.LHEDailogs['CreateLinkNCDialog'] = function(pObj) { var str = ""; if(document.getElementById('nocommentreason')) str = document.getElementById('nocommentreason').innerHTML; return { title: "<?php echo GetMessageJS('BPC_LINK'); ?> ", innerHTML : str, width: 480, OnLoad: function() {}, OnSave: function() {} }; }; // Submit form by ctrl+enter window.blogCommentCtrlEnterHandler = function(e) { submitComment(); }; </script> <? }
public static function FilterCreateEx($fname, $vals, $type, &$bFullJoin, $cOperationType = false, $bSkipEmpty = true) { global $DB; if (!is_array($vals)) { $vals = array($vals); } if (count($vals) < 1) { return ""; } if (is_bool($cOperationType)) { if ($cOperationType === true) { $cOperationType = "N"; } else { $cOperationType = "E"; } } if ($cOperationType == "G") { $strOperation = ">"; } elseif ($cOperationType == "GE") { $strOperation = ">="; } elseif ($cOperationType == "LE") { $strOperation = "<="; } elseif ($cOperationType == "L") { $strOperation = "<"; } else { $strOperation = "="; } $bFullJoin = false; $bWasLeftJoin = false; $res = array(); for ($i = 0; $i < count($vals); $i++) { $val = $vals[$i]; if (!$bSkipEmpty || strlen($val) > 0 || is_bool($val) && $val === false) { switch ($type) { case "string_equal": if ($cOperationType == "?") { if (strlen($val) > 0) { $res[] = GetFilterQuery($fname, $val, "N"); } } else { if (strlen($val) <= 0) { $res[] = ($cOperationType == "N" ? "NOT" : "") . "(" . $fname . " IS NULL OR " . $DB->Length($fname) . "<=0)"; } else { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . CLdapUtil::_Upper($fname) . $strOperation . CLdapUtil::_Upper("'" . $DB->ForSql($val) . "'") . ")"; } } break; case "string": if ($cOperationType == "?") { if (strlen($val) > 0) { $sr = GetFilterQuery($fname, $val, "Y", array(), "N"); if ($sr != "0") { $res[] = $sr; } } } else { if (strlen($val) <= 0) { $res[] = ($cOperationType == "N" ? "NOT" : "") . "(" . $fname . " IS NULL OR " . $DB->Length($fname) . "<=0)"; } else { if ($strOperation == "=") { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . ($DB->type == "ORACLE" ? CLdapUtil::_Upper($fname) . " LIKE " . CLdapUtil::_Upper("'" . $DB->ForSqlLike($val) . "'") . " ESCAPE '\\'" : $fname . " " . ($strOperation == "=" ? "LIKE" : $strOperation) . " '" . $DB->ForSqlLike($val) . "'") . ")"; } else { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . ($DB->type == "ORACLE" ? CLdapUtil::_Upper($fname) . " " . $strOperation . " " . CLdapUtil::_Upper("'" . $DB->ForSql($val) . "'") . " " : $fname . " " . $strOperation . " '" . $DB->ForSql($val) . "'") . ")"; } } } break; case "date": if (strlen($val) <= 0) { $res[] = ($cOperationType == "N" ? "NOT" : "") . "(" . $fname . " IS NULL)"; } else { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . $fname . " " . $strOperation . " " . $DB->CharToDateFunction($DB->ForSql($val), "FULL") . ")"; } break; case "number": if ($cOperationType == "?") { $res[] = GetFilterQuery($fname, $val); } else { if (strlen($val) <= 0) { $res[] = ($cOperationType == "N" ? "NOT" : "") . "(" . $fname . " IS NULL)"; } else { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . $fname . " " . $strOperation . " '" . DoubleVal($val) . "')"; } } break; case "number_above": if (strlen($val) <= 0) { $res[] = ($cOperationType == "N" ? "NOT" : "") . "(" . $fname . " IS NULL)"; } else { $res[] = ($cOperationType == "N" ? " " . $fname . " IS NULL OR NOT " : "") . "(" . $fname . " " . $strOperation . " '" . $DB->ForSql($val) . "')"; } break; } // we need this conditions to do INNER JOIN if (strlen($val) > 0 && $cOperationType != "N") { $bFullJoin = true; } else { $bWasLeftJoin = true; } } } $strResult = ""; for ($i = 0; $i < count($res); $i++) { if ($i > 0) { $strResult .= $cOperationType == "N" ? " AND " : " OR "; } $strResult .= "(" . $res[$i] . ")"; } if ($strResult != "") { $strResult = "(" . $strResult . ")"; } if ($bFullJoin && $bWasLeftJoin && $cOperationType != "N") { $bFullJoin = false; } return $strResult; }
function nodeHandler(CDataXML $value) { $value = $value->GetArray(); $value = $value[GetMessage("CC_BSC1_DOCUMENT")]; if ($value["#"][GetMessage("CC_BSC1_OPERATION")][0]["#"] == GetMessage("CC_BSC1_ORDER")) { $orderId = IntVal($value["#"][GetMessage("CC_BSC1_NUMBER")][0]["#"]); $arOrder = array(); $arItem = array(); $arOrder["AMOUNT"] = $value["#"][GetMessage("CC_BSC1_SUMM")][0]["#"]; $arOrder["AMOUNT"] = str_replace($SumFormat, ".", $arOrder["AMOUNT"]); $arOrder["COMMENT"] = $value["#"][GetMessage("CC_BSC1_COMMENT")][0]["#"]; foreach ($value["#"][GetMessage("CC_BSC1_REK_VALUES")][0]["#"][GetMessage("CC_BSC1_REK_VALUE")] as $val) { $arOrder["TRAITS"][$val["#"][GetMessage("CC_BSC1_NAME")][0]["#"]] = $val["#"][GetMessage("CC_BSC1_VALUE")][0]["#"]; } $taxValue = 0; $taxValueTmp = 0; $taxName = ""; if (is_array($value["#"][GetMessage("CC_BSC1_ITEMS")][0]["#"][GetMessage("CC_BSC1_ITEM")])) { foreach ($value["#"][GetMessage("CC_BSC1_ITEMS")][0]["#"][GetMessage("CC_BSC1_ITEM")] as $val) { $val = $val["#"]; $productID = $val[GetMessage("CC_BSC1_ID")][0]["#"]; $bGood = false; $discountPrice = ""; $priceAll = str_replace($SumFormat, ".", $val[GetMessage("CC_BSC1_SUMM")][0]["#"]); $priceone = str_replace($SumFormat, ".", $val[GetMessage("CC_BSC1_PRICE_PER_UNIT")][0]["#"]); $quantity = str_replace($QuantityFormat, ".", $val[GetMessage("CC_BSC1_QUANTITY")][0]["#"]); $price = $priceAll / $quantity; if ($priceone != $price) { $discountPrice = $priceone - $price; } //DISCOUNTS! $arItem[$productID] = array("NAME" => $val[GetMessage("CC_BSC1_NAME")][0]["#"], "PRICE" => $price, "QUANTITY" => $quantity, "DISCOUNT_PRICE" => $discountPrice); if (is_array($val[GetMessage("CC_BSC1_PROPS_ITEMS")][0]["#"][GetMessage("CC_BSC1_PROP_ITEM")])) { foreach ($val[GetMessage("CC_BSC1_PROPS_ITEMS")][0]["#"][GetMessage("CC_BSC1_PROP_ITEM")] as $val1) { $arItem[$productID]["ATTRIBUTES"][$val1["#"][GetMessage("CC_BSC1_NAME")][0]["#"]] = $val1["#"][GetMessage("CC_BSC1_VALUE")][0]["#"]; } } if (is_array($val[GetMessage("CC_BSC1_REK_VALUES")][0]["#"][GetMessage("CC_BSC1_REK_VALUE")])) { foreach ($val[GetMessage("CC_BSC1_REK_VALUES")][0]["#"][GetMessage("CC_BSC1_REK_VALUE")] as $val1) { if ($val1["#"][GetMessage("CC_BSC1_NAME")][0]["#"] == GetMessage("CC_BSC1_ITEM_TYPE")) { $arItem[$productID]["TYPE"] = $val1["#"][GetMessage("CC_BSC1_VALUE")][0]["#"]; } } } if (strlen($value["#"][GetMessage("CC_BSC1_TAXES")][0]["#"][GetMessage("CC_BSC1_TAX")][0]["#"][GetMessage("CC_BSC1_NAME")][0]["#"]) > 0) { $taxValueTmp = $val[GetMessage("CC_BSC1_TAXES")][0]["#"][GetMessage("CC_BSC1_TAX")][0]["#"][GetMessage("CC_BSC1_TAX_VALUE")][0]["#"]; $arItem[$productID]["VAT_RATE"] = $taxValueTmp / 100; if (IntVal($taxValueTmp) > IntVal($taxValue)) { $taxName = $val[GetMessage("CC_BSC1_TAXES")][0]["#"][GetMessage("CC_BSC1_TAX")][0]["#"][GetMessage("CC_BSC1_NAME")][0]["#"]; $taxValue = $taxValueTmp; } } } } if (IntVal($taxValue) > 0) { $price = str_replace($SumFormat, ".", $value["#"][GetMessage("CC_BSC1_TAXES")][0]["#"][GetMessage("CC_BSC1_TAX")][0]["#"][GetMessage("CC_BSC1_SUMM")][0]["#"]); $arOrder["TAX"] = array("NAME" => $taxName, "VALUE" => $taxValue, "IS_IN_PRICE" => $value["#"][GetMessage("CC_BSC1_TAXES")][0]["#"][GetMessage("CC_BSC1_TAX")][0]["#"][GetMessage("CC_BSC1_IN_PRICE")][0]["#"] == "true" ? "Y" : "N", "VALUE_MONEY" => $price); } $arOrder["items"] = $arItem; $v = $arOrder; if ($orderInfo = CSaleOrder::GetByID($orderId)) { if ($orderInfo["PAYED"] != "Y" && $orderInfo["ALLOW_DELIVERY"] != "Y" && $orderInfo["STATUS_ID"] != "F") { $dbOrderTax = CSaleOrderTax::GetList(array(), array("ORDER_ID" => $orderId), false, false, array("ID", "TAX_NAME", "VALUE", "VALUE_MONEY", "CODE", "IS_IN_PRICE")); $bTaxFound = false; if ($arOrderTax = $dbOrderTax->Fetch()) { $bTaxFound = true; if (IntVal($arOrderTax["VALUE_MONEY"]) != IntVal($v["TAX"]["VALUE_MONEY"]) || IntVal($arOrderTax["VALUE"]) != IntVal($v["TAX"]["VALUE"]) || $arOrderTax["IS_IN_PRICE"] != $v["TAX"]["IS_IN_PRICE"]) { if (IntVal($v["TAX"]["VALUE"]) > 0) { $arFields = array("TAX_NAME" => $v["TAX"]["NAME"], "ORDER_ID" => $orderId, "VALUE" => $v["TAX"]["VALUE"], "IS_PERCENT" => "Y", "IS_IN_PRICE" => $v["TAX"]["IS_IN_PRICE"], "VALUE_MONEY" => $v["TAX"]["VALUE_MONEY"], "CODE" => "VAT1C", "APPLY_ORDER" => "100"); CSaleOrderTax::Update($arOrderTax["ID"], $arFields); CSaleOrder::Update($orderId, array("TAX_VALUE" => $v["TAX"]["VALUE_MONEY"])); } else { CSaleOrderTax::Delete($arOrderTax["ID"]); CSaleOrder::Update($orderId, array("TAX_VALUE" => 0)); } } } if (!$bTaxFound) { if (IntVal($v["TAX"]["VALUE"]) > 0) { $arFields = array("TAX_NAME" => $v["TAX"]["NAME"], "ORDER_ID" => $orderId, "VALUE" => $v["TAX"]["VALUE"], "IS_PERCENT" => "Y", "IS_IN_PRICE" => $v["TAX"]["IS_IN_PRICE"], "VALUE_MONEY" => $v["TAX"]["VALUE_MONEY"]); CSaleOrderTax::Add($arFields); CSaleOrder::Update($orderId, array("TAX_VALUE" => $v["TAX"]["VALUE_MONEY"])); } } $dbBasket = CSaleBasket::GetList(array("NAME" => "ASC"), array("ORDER_ID" => $orderId)); $basketSum = 0; while ($arBasket = $dbBasket->Fetch()) { $arFields = array(); if (!empty($v["items"][$arBasket["PRODUCT_XML_ID"]])) { if ($arBasket["QUANTITY"] != $v["items"][$arBasket["PRODUCT_XML_ID"]]["QUANTITY"]) { $arFields["QUANTITY"] = $v["items"][$arBasket["PRODUCT_XML_ID"]]["QUANTITY"]; } if ($arBasket["PRICE"] != $v["items"][$arBasket["PRODUCT_XML_ID"]]["PRICE"]) { $arFields["PRICE"] = $v["items"][$arBasket["PRODUCT_XML_ID"]]["PRICE"]; } if ($arBasket["VAT_RATE"] != $v["items"][$arBasket["PRODUCT_XML_ID"]]["VAT_RATE"]) { $arFields["VAT_RATE"] = $v["items"][$arBasket["PRODUCT_XML_ID"]]["VAT_RATE"]; } if ($arBasket["DISCOUNT_PRICE"] != $v["items"][$arBasket["PRODUCT_XML_ID"]]["DISCOUNT_PRICE"]) { $arFields["DISCOUNT_PRICE"] = $v["items"][$arBasket["PRODUCT_XML_ID"]]["DISCOUNT_PRICE"]; } if (count($arFields) > 0) { CSaleBasket::Update($arBasket["ID"], $arFields); } $v["items"][$arBasket["PRODUCT_XML_ID"]]["CHECKED"] = "Y"; } else { CSaleBasket::Delete($arBasket["ID"]); } } foreach ($v["items"] as $itemID => $arItem) { if ($arItem["CHECKED"] != "Y") { if ($arItem["TYPE"] == GetMessage("CC_BSC1_ITEM")) { CModule::IncludeModule("iblock"); $dbIBlockElement = CIBlockElement::GetList(array(), array("XML_ID" => $itemID, "ACTIVE" => "Y", "CHECK_PERMISSIONS" => "Y"), false, false, array("ID", "IBLOCK_ID", "XML_ID", "NAME", "DETAIL_PAGE_URL")); if ($arIBlockElement = $dbIBlockElement->GetNext()) { $dbIBlock = CIBlock::GetList(array(), array("ID" => $arIBlockElement["IBLOCK_ID"])); if ($arIBlock = $dbIBlock->Fetch()) { $arProps[] = array("NAME" => "Catalog XML_ID", "CODE" => "CATALOG.XML_ID", "VALUE" => $arIBlock["XML_ID"]); } $arProps[] = array("NAME" => "Product XML_ID", "CODE" => "PRODUCT.XML_ID", "VALUE" => $arIBlockElement["XML_ID"]); $arProduct = CCatalogProduct::GetByID($arIBlockElement["ID"]); $arFields = array("ORDER_ID" => $orderId, "PRODUCT_ID" => $arIBlockElement["ID"], "PRICE" => $arItem["PRICE"], "CURRENCY" => $orderInfo["CURRENCY"], "WEIGHT" => $arProduct["WEIGHT"], "QUANTITY" => $arItem["QUANTITY"], "LID" => $orderInfo["LID"], "DELAY" => "N", "CAN_BUY" => "Y", "NAME" => $arIBlockElement["~NAME"], "CALLBACK_FUNC" => "CatalogBasketCallback", "MODULE" => "catalog", "NOTES" => $arProduct["CATALOG_GROUP_NAME"], "ORDER_CALLBACK_FUNC" => "CatalogBasketOrderCallback", "CANCEL_CALLBACK_FUNC" => "CatalogBasketCancelCallback", "PAY_CALLBACK_FUNC" => "CatalogPayOrderCallback", "DETAIL_PAGE_URL" => $arIBlockElement["DETAIL_PAGE_URL"], "CATALOG_XML_ID" => $arIBlock["XML_ID"], "PRODUCT_XML_ID" => $arIBlockElement["XML_ID"], "IGNORE_CALLBACK_FUNC" => "Y", "VAT_RATE" => $arItem["VAT_RATE"]); CSaleBasket::Add($arFields); } else { $this->strError .= "\n" . GetMessage("CC_BSC1_PRODUCT_NOT_FOUND") . $orderId . " - [" . $itemID . "] " . $arItem["NAME"]; } } elseif ($arItem["TYPE"] == GetMessage("CC_BSC1_SERVICE")) { if (IntVal($arItem["PRICE"]) != IntVal($orderInfo["PRICE_DELIVERY"])) { CSaleOrder::Update($orderId, array("PRICE_DELIVERY" => $arItem["PRICE"])); } } } } $arOrderFields = array(); if ($v["AMOUNT"] != $orderInfo["PRICE"]) { $arOrderFields = array("PRICE" => $v["AMOUNT"]); } if (DoubleVal($orderInfo["DISCOUNT_VALUE"]) > 0) { $arOrderFields["DISCOUNT_VALUE"] = 0; } $arOrderFields["UPDATED_1C"] = "Y"; if (!empty($arOrderFields)) { CSaleOrder::Update($orderId, $arOrderFields); } } else { $this->strError .= "\n" . GetMessage("CC_BSC1_FINAL_NOT_EDIT", array("#ID#" => $orderId)); } $arAditFields = array(); if ($v["TRAITS"][GetMessage("CC_BSC1_CANCELED")] == "true") { if ($orderInfo["CANCELED"] == "N") { CSaleOrder::CancelOrder($orderId, "Y", $v["COMMENT"]); } $arAditFields["UPDATED_1C"] = "Y"; } else { if ($orderInfo["CANCELED"] == "Y") { CSaleOrder::CancelOrder($orderId, "N", $v["COMMENT"]); } $arAditFields["UPDATED_1C"] = "Y"; if (strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_DATE")]) > 1) { if ($orderInfo["PAYED"] == "N") { CSaleOrder::PayOrder($orderId, "Y"); } $arAditFields["PAY_VOUCHER_DATE"] = CDatabase::FormatDate(str_replace("T", " ", $v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_DATE")]), "YYYY-MM-DD HH:MI:SS", CLang::GetDateFormat("FULL", LANG)); if (strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_NUM")]) > 0) { $arAditFields["PAY_VOUCHER_NUM"] = $v["TRAITS"][GetMessage("CC_BSC1_1C_PAYED_NUM")]; } $arAditFields["UPDATED_1C"] = "Y"; } if (strlen($v["TRAITS"][GetMessage("CC_BSC1_1C_DELIVERY_DATE")]) > 1) { if ($orderInfo["ALLOW_DELIVERY"] == "N") { CSaleOrder::DeliverOrder($orderId, "Y"); } $arAditFields["DATE_ALLOW_DELIVERY"] = CDatabase::FormatDate(str_replace("T", " ", $v["TRAITS"][GetMessage("CC_BSC1_1C_DELIVERY_DATE")]), "YYYY-MM-DD HH:MI:SS", CLang::GetDateFormat("FULL", LANG)); if (strlen($arParams["FINAL_STATUS_ON_DELIVERY"]) > 0 && $orderInfo["STATUS_ID"] != "F" && $orderInfo["STATUS_ID"] != $arParams["FINAL_STATUS_ON_DELIVERY"]) { CSaleOrder::StatusOrder($orderId, $arParams["FINAL_STATUS_ON_DELIVERY"]); } $arAditFields["UPDATED_1C"] = "Y"; } } if (count($arAditFields) > 0) { CSaleOrder::Update($orderId, $arAditFields); } } else { $this->strError .= "\n" . GetMessage("CC_BSC1_ORDER_NOT_FOUND", array("#ID#" => $orderId)); } } }
function ReCountFromBase(&$arFields, &$boolBase) { $arBaseGroup = CCatalogGroup::GetBaseGroup(); if (!empty($arBaseGroup)) { if ($arFields['CATALOG_GROUP_ID'] == $arBaseGroup['ID']) { $boolBase = true; } else { if (!empty($arFields['EXTRA_ID']) && intval($arFields['EXTRA_ID']) > 0) { $arExtra = CExtra::GetByID($arFields['EXTRA_ID']); if (!empty($arExtra)) { $arFilter = array('PRODUCT_ID' => $arFields['PRODUCT_ID'],'CATALOG_GROUP_ID' => $arBaseGroup['ID']); if (isset($arFields['QUANTITY_FROM'])) $arFilter['QUANTITY_FROM'] = $arFields['QUANTITY_FROM']; if (isset($arFields['QUANTITY_TO'])) $arFilter['QUANTITY_TO'] = $arFields['QUANTITY_TO']; $rsBasePrices = CPrice::GetListEx( array("QUANTITY_FROM" => "ASC", "QUANTITY_TO" => "ASC"), $arFilter, false, array('nTopCount' => 1), array('PRICE','CURRENCY') ); if ($arBasePrice = $rsBasePrices->Fetch()) { $arFields['CURRENCY'] = $arBasePrice['CURRENCY']; $arFields['PRICE'] = RoundEx($arBasePrice["PRICE"] * (1 + DoubleVal($arExtra["PERCENTAGE"])/100), CATALOG_VALUE_PRECISION); } else { $arFields['EXTRA_ID'] = 0; } } else { $arFields['EXTRA_ID'] = 0; } } } } }
function CancelOrder($ID, $val, $description = "") { global $DB, $USER; $ID = IntVal($ID); $val = $val != "Y" ? "N" : "Y"; $description = Trim($description); if ($ID <= 0) { $GLOBALS["APPLICATION"]->ThrowException(GetMessage("SKGO_NO_ORDER_ID1"), "NO_ORDER_ID"); return False; } $arOrder = CSaleOrder::GetByID($ID); if (!$arOrder) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $ID, GetMessage("SKGO_NO_ORDER")), "NO_ORDER"); return False; } if ($arOrder["CANCELED"] == $val) { $GLOBALS["APPLICATION"]->ThrowException(str_replace("#ID#", $ID, GetMessage("SKGO_DUB_CANCEL")), "ALREADY_FLAG"); return False; } foreach (GetModuleEvents("sale", "OnSaleBeforeCancelOrder", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID, $val)) === false) { return false; } } if ($val == "Y") { if ($arOrder["PAYED"] == "Y") { if (!CSaleOrder::PayOrder($ID, "N", True, True)) { return False; } } else { $arOrder["SUM_PAID"] = DoubleVal($arOrder["SUM_PAID"]); if ($arOrder["SUM_PAID"] > 0) { if (!CSaleUserAccount::UpdateAccount($arOrder["USER_ID"], $arOrder["SUM_PAID"], $arOrder["CURRENCY"], "ORDER_CANCEL_PART", $ID)) { return False; } } } if ($arOrder["ALLOW_DELIVERY"] == "Y") { if (!CSaleOrder::DeliverOrder($ID, "N")) { return False; } } } $arFields = array("CANCELED" => $val, "=DATE_CANCELED" => $DB->GetNowFunction(), "REASON_CANCELED" => strlen($description) > 0 ? $description : false, "EMP_CANCELED_ID" => IntVal($USER->GetID()) > 0 ? IntVal($USER->GetID()) : false); $res = CSaleOrder::Update($ID, $arFields); unset($GLOBALS["SALE_ORDER"]["SALE_ORDER_CACHE_" . $ID]); //this method is used only for catalogs without reservation and deduction support CSaleBasket::OrderCanceled($ID, $val == "Y" ? True : False); foreach (GetModuleEvents("sale", "OnSaleCancelOrder", true) as $arEvent) { ExecuteModuleEventEx($arEvent, array($ID, $val, $description)); } if ($val == "Y") { CTimeZone::Disable(); $arOrder = CSaleOrder::GetByID($ID); CTimeZone::Enable(); $userEmail = ""; $dbOrderProp = CSaleOrderPropsValue::GetList(array(), array("ORDER_ID" => $ID, "PROP_IS_EMAIL" => "Y")); if ($arOrderProp = $dbOrderProp->Fetch()) { $userEmail = $arOrderProp["VALUE"]; } if (strlen($userEmail) <= 0) { $dbUser = CUser::GetByID($arOrder["USER_ID"]); if ($arUser = $dbUser->Fetch()) { $userEmail = $arUser["EMAIL"]; } } $event = new CEvent(); $arFields = array("ORDER_ID" => $ID, "ORDER_DATE" => $arOrder["DATE_INSERT_FORMAT"], "EMAIL" => $userEmail, "ORDER_CANCEL_DESCRIPTION" => $description, "SALE_EMAIL" => COption::GetOptionString("sale", "order_email", "order@" . $_SERVER["SERVER_NAME"])); $eventName = "SALE_ORDER_CANCEL"; $bSend = true; foreach (GetModuleEvents("sale", "OnOrderCancelSendEmail", true) as $arEvent) { if (ExecuteModuleEventEx($arEvent, array($ID, &$eventName, &$arFields)) === false) { $bSend = false; } } if ($bSend) { $event = new CEvent(); $event->Send($eventName, $arOrder["LID"], $arFields, "N"); } if (CModule::IncludeModule("statistic")) { CStatEvent::AddByEvents("eStore", "order_cancel", $ID, "", $arOrder["STAT_GID"]); } } if ($val == "Y") { if ($arOrder["DEDUCTED"] == "Y") { $rs = CSaleOrder::DeductOrder($ID, "N"); if (!$rs) { return false; } } if ($arOrder["RESERVED"] == "Y") { if (!CSaleOrder::ReserveOrder($ID, "N")) { } return false; } } else { if (COption::GetOptionString("sale", "product_reserve_condition", "O") == "O" && $arOrder["RESERVED"] != "Y") { if (!CSaleOrder::ReserveOrder($ID, "Y")) { } return false; } } return $res; }
if ($arData["DailyExRates"]["#"]["Currency"][$j1]["#"]["CharCode"][0]["#"] == $CURRENCY) { $RATE_CNT = IntVal($arData["DailyExRates"]["#"]["Currency"][$j1]["#"]["Scale"][0]["#"]); $arCurrValue = str_replace(",", ".", $arData["DailyExRates"]["#"]["Currency"][$j1]["#"]["Rate"][0]["#"]); $RATE = DoubleVal($arCurrValue); break; } } } } else { //russia if (is_array($arData) && count($arData["ValCurs"]["#"]["Valute"]) > 0) { for ($j1 = 0, $intCount = count($arData["ValCurs"]["#"]["Valute"]); $j1 < $intCount; $j1++) { if ($arData["ValCurs"]["#"]["Valute"][$j1]["#"]["CharCode"][0]["#"] == $CURRENCY) { $RATE_CNT = IntVal($arData["ValCurs"]["#"]["Valute"][$j1]["#"]["Nominal"][0]["#"]); $arCurrValue = str_replace(",", ".", $arData["ValCurs"]["#"]["Valute"][$j1]["#"]["Value"][0]["#"]); $RATE = DoubleVal($arCurrValue); break; } } } } } } require_once $_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_js.php"; if (strlen($strError) > 0) { ?> BX('cyrrency_query_error_div').innerHTML = '<span class="required"><?php echo $strError; ?> </span>';<?php } else {
} } } foreach ($vats as $vatRate => $vatSum) { $arCells[++$n] = array(1 => null, null, null, null, null, sprintf("Impuesto (%s%%):", roundEx($vatRate * 100, SALE_VALUE_PRECISION)), SaleFormatCurrency($vatSum, $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)); } } else { $dbTaxList = CSaleOrderTax::GetList(array("APPLY_ORDER" => "ASC"), array("ORDER_ID" => $ORDER_ID)); while ($arTaxList = $dbTaxList->Fetch()) { $arCells[++$n] = array(1 => null, null, null, null, null, htmlspecialcharsbx(sprintf("%s%s%s:", $arTaxList["IS_IN_PRICE"] == "Y" ? "Incluido " : "", $arTaxList["TAX_NAME"], sprintf(' (%s%%)', roundEx($arTaxList["VALUE"], SALE_VALUE_PRECISION)))), SaleFormatCurrency($arTaxList["VALUE_MONEY"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)); } } if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"]) > 0) { $arCells[++$n] = array(1 => null, null, null, null, null, "Pago hecho:", SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SUM_PAID"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)); } if (DoubleVal($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"]) > 0) { $arCells[++$n] = array(1 => null, null, null, null, null, "Descuento:", SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["DISCOUNT_VALUE"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)); } $arCells[++$n] = array(1 => null, null, null, null, null, "Total:", SaleFormatCurrency($GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["SHOULD_PAY"], $GLOBALS["SALE_INPUT_PARAMS"]["ORDER"]["CURRENCY"], false)); } ?> <table class="it" width="100%"> <tr> <td><nobr>#</nobr></td> <td><nobr>Artículo / Descripción</nobr></td> <td><nobr>Cant</nobr></td> <td><nobr>Unidades</nobr></td> <td><nobr>Precio unitario</nobr></td> <?php if ($vat > 0) { ?>
<script type="application/javascript"> BX.message({ BLOG_P_IMAGE_LINK : '<?php echo GetMessageJS("BLOG_P_IMAGE_LINK"); ?> ', FPF_VIDEO : '<?php echo GetMessageJS("FPF_VIDEO"); ?> ', BLOG_IMAGE : '<?php echo GetMessageJS('BLOG_IMAGE'); ?> ', BPC_IMAGE_SIZE_NOTICE : '<?php echo GetMessageJS('BPC_IMAGE_SIZE_NOTICE', array('#SIZE#' => DoubleVal(COption::GetOptionString("blog", "image_max_size", 1000000) / 1000000))); ?> ', BLOG_P_IMAGE_UPLOAD : '<?php echo GetMessageJS('BLOG_P_IMAGE_UPLOAD'); ?> ', BPC_VIDEO_P : '<?php echo GetMessageJS('BPC_VIDEO_P'); ?> ', BPC_VIDEO_PATH_EXAMPLE : '<?php echo GetMessageJS('BPC_VIDEO_PATH_EXAMPLE'); ?> ', POST_FORM_ACTION_URI : '<?php
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; }
function fGetPayFromAccount($USER_ID, $CURRENCY) { $arResult = array("PAY_MESSAGE" => GetMessage("NEWO_PAY_FROM_ACCOUNT_NO")); $dbUserAccount = CSaleUserAccount::GetList( array(), array( "USER_ID" => $USER_ID, "CURRENCY" => $CURRENCY, ) ); if ($arUserAccount = $dbUserAccount->GetNext()) { if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) > 0) { $arResult["PAY_BUDGET"] = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $CURRENCY); $arResult["PAY_MESSAGE"] = str_replace("#MONEY#", $arResult["PAY_BUDGET"], GetMessage("NEWO_PAY_FROM_ACCOUNT_YES")); $arResult["CURRENT_BUDGET"] = $arUserAccount["CURRENT_BUDGET"]; } } return $arResult; }
</td> <td nowrap style="white-space:nowrap;"> <div><?php echo SaleFormatCurrency($arOrder["DISCOUNT_VALUE"], $arOrder["CURRENCY"]); ?> </div> </td> </tr> <?endif;?> <?if ($ORDER_TOTAL_WEIGHT > 0):?> <tr> <td class="title"><?echo GetMessage("NEWO_TOTAL_WEIGHT")?></td> <td nowrap style="white-space:nowrap;"> <?php echo roundEx(DoubleVal($ORDER_TOTAL_WEIGHT / $WEIGHT_KOEF), SALE_WEIGHT_PRECISION) . " " . $WEIGHT_UNIT; ?> </td> </tr> <?endif;?> <tr class="itog"> <td class="ileft"><div style="white-space:nowrap;"><?echo GetMessage("SOD_TOTAL_PRICE_TOTAL")?></div></td> <td class="iright" nowrap><div style="white-space:nowrap;"><?php echo SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"]); ?> </div></td> </tr> <?if (floatval($arOrder["SUM_PAID"]) > 0):?> <tr class="price"> <td class="title"><?echo GetMessage("SOD_TOTAL_PRICE_PAYED")?></td>
} $CARD_EXP_MONTH = IntVal($_REQUEST["CARD_EXP_MONTH"]); if ($CARD_EXP_MONTH < 1 || $CARD_EXP_MONTH > 12) { $errorMessage .= GetMessage("STPC_WRONG_MONTH") . ". "; } $CARD_EXP_YEAR = IntVal($_REQUEST["CARD_EXP_YEAR"]); if ($CARD_EXP_YEAR < 2007 || $CARD_EXP_YEAR > 2100) { $errorMessage .= GetMessage("STPC_WRONG_YEAR") . ". "; } $CARD_CODE = Trim($_REQUEST["CARD_CODE"]); } if (strlen($errorMessage) <= 0) { $SUM_MIN = str_replace(",", ".", $_REQUEST["SUM_MIN"]); $SUM_MIN = DoubleVal($SUM_MIN); $SUM_MAX = str_replace(",", ".", $_REQUEST["SUM_MAX"]); $SUM_MAX = DoubleVal($SUM_MAX); $ACTIVE = $_REQUEST["ACTIVE"] == "Y" ? "Y" : "N"; $SORT = IntVal($_REQUEST["SORT"]) > 0 ? IntVal($_REQUEST["SORT"]) : 100; $CURRENCY = Trim($_REQUEST["CURRENCY"]); $SUM_CURRENCY = Trim($_REQUEST["SUM_CURRENCY"]); if (($SUM_MIN > 0 || $SUM_MAX > 0) && strlen($SUM_CURRENCY) <= 0) { $errorMessage .= GetMessage("STPC_EMPTY_BCURRENCY") . ". "; } } if (strlen($errorMessage) <= 0) { $arFields = array("USER_ID" => IntVal($USER->GetID()), "ACTIVE" => $ACTIVE, "SORT" => $SORT, "PAY_SYSTEM_ACTION_ID" => $PAY_SYSTEM_ACTION_ID, "CURRENCY" => strlen($CURRENCY) > 0 ? $CURRENCY : False, "CARD_TYPE" => $CARD_TYPE, "CARD_NUM" => CSaleUserCards::CryptData($CARD_NUM, "E"), "CARD_EXP_MONTH" => $CARD_EXP_MONTH, "CARD_EXP_YEAR" => $CARD_EXP_YEAR, "CARD_CODE" => $CARD_CODE, "SUM_MIN" => $SUM_MIN > 0 ? $SUM_MIN : False, "SUM_MAX" => $SUM_MAX > 0 ? $SUM_MAX : False, "SUM_CURRENCY" => strlen($SUM_CURRENCY) > 0 ? $SUM_CURRENCY : False); if ($ID > 0) { $res = CSaleUserCards::Update($ID, $arFields); } else { $ID = CSaleUserCards::Add($arFields); $res = $ID > 0;
function PrepareUpdateBind($strTableName, $arFields, $strFileDir, $lang, &$arBinds) { $arBinds = array(); $strUpdate = ""; $arColumns = $this->GetTableFields($strTableName); foreach ($arColumns as $strColumnName => $arColumnInfo) { $type = $arColumnInfo["TYPE"]; if (isset($arFields[$strColumnName])) { $value = $arFields[$strColumnName]; if ($value === false) { $strUpdate .= ", `" . $strColumnName . "` = NULL"; } else { switch ($type) { case "int": $value = IntVal($value); break; case "real": $value = DoubleVal($value); break; case "datetime": if (strlen($value) <= 0) { $value = "NULL"; } else { $value = CDatabase::CharToDateFunction($value, "FULL", $lang); } break; case "date": if (strlen($value) <= 0) { $value = "NULL"; } else { $value = CDatabase::CharToDateFunction($value, "SHORT", $lang); } break; default: $value = "'" . $this->ForSql($value) . "'"; } $strUpdate .= ", `" . $strColumnName . "` = " . $value; } } elseif (is_set($arFields, "~" . $strColumnName)) { $strUpdate .= ", `" . $strColumnName . "` = " . $arFields["~" . $strColumnName]; } } if ($strUpdate != "") { $strUpdate = substr($strUpdate, 2); } return $strUpdate; }
protected static function PrepareSql(&$arFields, $arOrder, &$arFilter, $arGroupBy, $arSelectFields) { global $DB; $strSqlSelect = ""; $strSqlFrom = ""; $strSqlWhere = ""; $strSqlGroupBy = ""; $strSqlOrderBy = ""; $arGroupByFunct = array("COUNT", "AVG", "MIN", "MAX", "SUM"); $arAlreadyJoined = array(); // GROUP BY --> if (is_array($arGroupBy) && count($arGroupBy)>0) { $arSelectFields = $arGroupBy; foreach ($arGroupBy as $key => $val) { $val = strtoupper($val); $key = strtoupper($key); if (array_key_exists($val, $arFields) && !in_array($key, $arGroupByFunct)) { if (strlen($strSqlGroupBy) > 0) $strSqlGroupBy .= ", "; $strSqlGroupBy .= $arFields[$val]["FIELD"]; if (isset($arFields[$val]["FROM"]) && strlen($arFields[$val]["FROM"]) > 0 && !in_array($arFields[$val]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) $strSqlFrom .= " "; $strSqlFrom .= $arFields[$val]["FROM"]; $arAlreadyJoined[] = $arFields[$val]["FROM"]; } } } } // <-- GROUP BY // SELECT --> $arFieldsKeys = array_keys($arFields); if (is_array($arGroupBy) && count($arGroupBy)==0) { $strSqlSelect = "COUNT(%%_DISTINCT_%% ".$arFields[$arFieldsKeys[0]]["FIELD"].") as CNT "; } else { if (isset($arSelectFields) && !is_array($arSelectFields) && is_string($arSelectFields) && strlen($arSelectFields)>0 && array_key_exists($arSelectFields, $arFields)) $arSelectFields = array($arSelectFields); if (!isset($arSelectFields) || !is_array($arSelectFields) || count($arSelectFields)<=0 || in_array("*", $arSelectFields)) { $cntFieldsKeys = count($arFieldsKeys); for ($i = 0; $i < $cntFieldsKeys; $i++) { if (isset($arFields[$arFieldsKeys[$i]]["WHERE_ONLY"]) && $arFields[$arFieldsKeys[$i]]["WHERE_ONLY"] == "Y") { continue; } if (strlen($strSqlSelect) > 0) $strSqlSelect .= ", "; if ($arFields[$arFieldsKeys[$i]]["TYPE"] == "datetime") { if ((strtoupper($DB->type)=="ORACLE" || strtoupper($DB->type)=="MSSQL") && (array_key_exists($arFieldsKeys[$i], $arOrder))) $strSqlSelect .= $arFields[$arFieldsKeys[$i]]["FIELD"]." as ".$arFieldsKeys[$i]."_X1, "; $strSqlSelect .= $DB->DateToCharFunction($arFields[$arFieldsKeys[$i]]["FIELD"], "FULL")." as ".$arFieldsKeys[$i]; } elseif ($arFields[$arFieldsKeys[$i]]["TYPE"] == "date") { if ((strtoupper($DB->type)=="ORACLE" || strtoupper($DB->type)=="MSSQL") && (array_key_exists($arFieldsKeys[$i], $arOrder))) $strSqlSelect .= $arFields[$arFieldsKeys[$i]]["FIELD"]." as ".$arFieldsKeys[$i]."_X1, "; $strSqlSelect .= $DB->DateToCharFunction($arFields[$arFieldsKeys[$i]]["FIELD"], "SHORT")." as ".$arFieldsKeys[$i]; } else $strSqlSelect .= $arFields[$arFieldsKeys[$i]]["FIELD"]." as ".$arFieldsKeys[$i]; if (isset($arFields[$arFieldsKeys[$i]]["FROM"]) && strlen($arFields[$arFieldsKeys[$i]]["FROM"]) > 0 && !in_array($arFields[$arFieldsKeys[$i]]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) $strSqlFrom .= " "; $strSqlFrom .= $arFields[$arFieldsKeys[$i]]["FROM"]; $arAlreadyJoined[] = $arFields[$arFieldsKeys[$i]]["FROM"]; } } } else { foreach ($arSelectFields as $key => $val) { $val = strtoupper($val); $key = strtoupper($key); if (array_key_exists($val, $arFields)) { if (strlen($strSqlSelect) > 0) $strSqlSelect .= ", "; if (in_array($key, $arGroupByFunct)) { $strSqlSelect .= $key."(".$arFields[$val]["FIELD"].") as ".$val; } else { if ($arFields[$val]["TYPE"] == "datetime") { if ((strtoupper($DB->type)=="ORACLE" || strtoupper($DB->type)=="MSSQL") && (array_key_exists($val, $arOrder))) $strSqlSelect .= $arFields[$val]["FIELD"]." as ".$val."_X1, "; $strSqlSelect .= $DB->DateToCharFunction($arFields[$val]["FIELD"], "FULL")." as ".$val; } elseif ($arFields[$val]["TYPE"] == "date") { if ((strtoupper($DB->type)=="ORACLE" || strtoupper($DB->type)=="MSSQL") && (array_key_exists($val, $arOrder))) $strSqlSelect .= $arFields[$val]["FIELD"]." as ".$val."_X1, "; $strSqlSelect .= $DB->DateToCharFunction($arFields[$val]["FIELD"], "SHORT")." as ".$val; } else $strSqlSelect .= $arFields[$val]["FIELD"]." as ".$val; } if (isset($arFields[$val]["FROM"]) && strlen($arFields[$val]["FROM"]) > 0 && !in_array($arFields[$val]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) $strSqlFrom .= " "; $strSqlFrom .= $arFields[$val]["FROM"]; $arAlreadyJoined[] = $arFields[$val]["FROM"]; } } } } if (strlen($strSqlGroupBy) > 0) { if (strlen($strSqlSelect) > 0) $strSqlSelect .= ", "; $strSqlSelect .= "COUNT(%%_DISTINCT_%% ".$arFields[$arFieldsKeys[0]]["FIELD"].") as CNT"; } else $strSqlSelect = "%%_DISTINCT_%% ".$strSqlSelect; } // <-- SELECT // WHERE --> $arSqlSearch = array(); if (!is_array($arFilter)) $filter_keys = array(); else $filter_keys = array_keys($arFilter); $cntFilterKeys = count($filter_keys); for ($i = 0; $i < $cntFilterKeys; $i++) { $vals = $arFilter[$filter_keys[$i]]; if (!is_array($vals)) $vals = array($vals); else $vals = array_values($vals); $key = $filter_keys[$i]; $key_res = self::GetFilterOperation($key); $key = $key_res["FIELD"]; $strNegative = $key_res["NEGATIVE"]; $strOperation = $key_res["OPERATION"]; $strOrNull = $key_res["OR_NULL"]; if (array_key_exists($key, $arFields)) { $arSqlSearch_tmp = array(); $cntVals = count($vals); for ($j = 0; $j < $cntVals; $j++) { $val = $vals[$j]; if (isset($arFields[$key]["WHERE"])) { $arSqlSearch_tmp1 = call_user_func_array( $arFields[$key]["WHERE"], array($val, $key, $strOperation, $strNegative, $arFields[$key]["FIELD"], $arFields, $arFilter) ); if ($arSqlSearch_tmp1 !== false) $arSqlSearch_tmp[] = $arSqlSearch_tmp1; } else { if ($arFields[$key]["TYPE"] == "int") { if ((IntVal($val) == 0) && (strpos($strOperation, "=") !== False)) $arSqlSearch_tmp[] = "(".$arFields[$key]["FIELD"]." IS ".(($strNegative == "Y") ? "NOT " : "")."NULL) ".(($strNegative == "Y") ? "AND" : "OR")." ".(($strNegative == "Y") ? "NOT " : "")."(".$arFields[$key]["FIELD"]." ".$strOperation." 0)"; else $arSqlSearch_tmp[] = (($strNegative == "Y") ? " ".$arFields[$key]["FIELD"]." IS NULL OR NOT " : "")."(".$arFields[$key]["FIELD"]." ".$strOperation." ".IntVal($val)." )"; } elseif ($arFields[$key]["TYPE"] == "double") { $val = str_replace(",", ".", $val); if ((DoubleVal($val) == 0) && (strpos($strOperation, "=") !== False)) $arSqlSearch_tmp[] = "(".$arFields[$key]["FIELD"]." IS ".(($strNegative == "Y") ? "NOT " : "")."NULL) ".(($strNegative == "Y") ? "AND" : "OR")." ".(($strNegative == "Y") ? "NOT " : "")."(".$arFields[$key]["FIELD"]." ".$strOperation." 0)"; else $arSqlSearch_tmp[] = (($strNegative == "Y") ? " ".$arFields[$key]["FIELD"]." IS NULL OR NOT " : "")."(".$arFields[$key]["FIELD"]." ".$strOperation." ".DoubleVal($val)." )"; } elseif ($arFields[$key]["TYPE"] == "string" || $arFields[$key]["TYPE"] == "char") { if ($strOperation == "QUERY") { $arSqlSearch_tmp[] = GetFilterQuery($arFields[$key]["FIELD"], $val, "Y"); } else { if ((strlen($val) == 0) && (strpos($strOperation, "=") !== False)) $arSqlSearch_tmp[] = "(".$arFields[$key]["FIELD"]." IS ".(($strNegative == "Y") ? "NOT " : "")."NULL) ".(($strNegative == "Y") ? "AND NOT" : "OR")." (".$DB->Length($arFields[$key]["FIELD"])." <= 0) ".(($strNegative == "Y") ? "AND NOT" : "OR")." (".$arFields[$key]["FIELD"]." ".$strOperation." '".$DB->ForSql($val)."' )"; else $arSqlSearch_tmp[] = (($strNegative == "Y") ? " ".$arFields[$key]["FIELD"]." IS NULL OR NOT " : "")."(".$arFields[$key]["FIELD"]." ".$strOperation." '".$DB->ForSql($val)."' )"; } } elseif ($arFields[$key]["TYPE"] == "datetime") { if (strlen($val) <= 0) $arSqlSearch_tmp[] = ($strNegative=="Y"?"NOT":"")."(".$arFields[$key]["FIELD"]." IS NULL)"; else $arSqlSearch_tmp[] = ($strNegative=="Y"?" ".$arFields[$key]["FIELD"]." IS NULL OR NOT ":"")."(".$arFields[$key]["FIELD"]." ".$strOperation." ".$DB->CharToDateFunction($DB->ForSql($val), "FULL").")"; } elseif ($arFields[$key]["TYPE"] == "date") { if (strlen($val) <= 0) $arSqlSearch_tmp[] = ($strNegative=="Y"?"NOT":"")."(".$arFields[$key]["FIELD"]." IS NULL)"; else $arSqlSearch_tmp[] = ($strNegative=="Y"?" ".$arFields[$key]["FIELD"]." IS NULL OR NOT ":"")."(".$arFields[$key]["FIELD"]." ".$strOperation." ".$DB->CharToDateFunction($DB->ForSql($val), "SHORT").")"; } } } if (isset($arFields[$key]["FROM"]) && strlen($arFields[$key]["FROM"]) > 0 && !in_array($arFields[$key]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) $strSqlFrom .= " "; $strSqlFrom .= $arFields[$key]["FROM"]; $arAlreadyJoined[] = $arFields[$key]["FROM"]; } $strSqlSearch_tmp = ""; $cntSqlSearch_tmp = count($arSqlSearch_tmp); for ($j = 0; $j < $cntSqlSearch_tmp; $j++) { if ($j > 0) $strSqlSearch_tmp .= ($strNegative=="Y" ? " AND " : " OR "); $strSqlSearch_tmp .= "(".$arSqlSearch_tmp[$j].")"; } if ($strOrNull == "Y") { if (strlen($strSqlSearch_tmp) > 0) $strSqlSearch_tmp .= ($strNegative=="Y" ? " AND " : " OR "); $strSqlSearch_tmp .= "(".$arFields[$key]["FIELD"]." IS ".($strNegative=="Y" ? "NOT " : "")."NULL)"; if (strlen($strSqlSearch_tmp) > 0) $strSqlSearch_tmp .= ($strNegative=="Y" ? " AND " : " OR "); if ($arFields[$key]["TYPE"] == "int" || $arFields[$key]["TYPE"] == "double") $strSqlSearch_tmp .= "(".$arFields[$key]["FIELD"]." ".($strNegative=="Y" ? "<>" : "=")." 0)"; elseif ($arFields[$key]["TYPE"] == "string" || $arFields[$key]["TYPE"] == "char") $strSqlSearch_tmp .= "(".$arFields[$key]["FIELD"]." ".($strNegative=="Y" ? "<>" : "=")." '')"; else $strSqlSearch_tmp .= ($strNegative=="Y" ? " (1=1) " : " (1=0) "); } if ($strSqlSearch_tmp != "") $arSqlSearch[] = "(".$strSqlSearch_tmp.")"; } } $cntSqlSearch = count($arSqlSearch); for ($i = 0; $i < $cntSqlSearch; $i++) { if (strlen($strSqlWhere) > 0) $strSqlWhere .= " AND "; $strSqlWhere .= "(".$arSqlSearch[$i].")"; } // <-- WHERE // ORDER BY --> $arSqlOrder = Array(); foreach ($arOrder as $by => $order) { $by = strtoupper($by); $order = strtoupper($order); if ($order != "ASC") $order = "DESC"; else $order = "ASC"; if (array_key_exists($by, $arFields)) { $arSqlOrder[] = " ".$arFields[$by]["FIELD"]." ".$order." "; if (isset($arFields[$by]["FROM"]) && strlen($arFields[$by]["FROM"]) > 0 && !in_array($arFields[$by]["FROM"], $arAlreadyJoined)) { if (strlen($strSqlFrom) > 0) $strSqlFrom .= " "; $strSqlFrom .= $arFields[$by]["FROM"]; $arAlreadyJoined[] = $arFields[$by]["FROM"]; } } } DelDuplicateSort($arSqlOrder); $cntSqlOrder = count($arSqlOrder); for ($i=0; $i<$cntSqlOrder; $i++) { if (strlen($strSqlOrderBy) > 0) $strSqlOrderBy .= ", "; if(strtoupper($DB->type)=="ORACLE") { if(substr($arSqlOrder[$i], -3)=="ASC") $strSqlOrderBy .= $arSqlOrder[$i]." NULLS FIRST"; else $strSqlOrderBy .= $arSqlOrder[$i]." NULLS LAST"; } else $strSqlOrderBy .= $arSqlOrder[$i]; } // <-- ORDER BY return array( "SELECT" => $strSqlSelect, "FROM" => $strSqlFrom, "WHERE" => $strSqlWhere, "GROUPBY" => $strSqlGroupBy, "ORDERBY" => $strSqlOrderBy ); }
$arQuantities[$i] = DoubleVal($arBasket["QUANTITY"]); } $b_AMOUNT = DoubleVal($arBasket["PRICE"]); //определяем начальную цену $item_price = $b_AMOUNT; if (DoubleVal($arBasket["VAT_RATE"]) > 0) { $nds_val = $b_AMOUNT - DoubleVal($b_AMOUNT / (1 + $arBasket["VAT_RATE"])); $item_price = $b_AMOUNT - $nds_val; $taxRate = $arBasket["VAT_RATE"] * 100; } elseif (!$bUseVat) { $basket_tax = CSaleOrderTax::CountTaxes($b_AMOUNT * $arQuantities[$i], $arTaxList, $arOrder["CURRENCY"]); for ($mi = 0, $countTaxList = count($arTaxList); $mi < $countTaxList; $mi++) { if ($arTaxList[$mi]["IS_IN_PRICE"] == "Y") { $item_price -= $arTaxList[$mi]["TAX_VAL"]; } $nds_val += DoubleVal($arTaxList[$mi]["TAX_VAL"]); $taxRate += $arTaxList[$mi]["VALUE"]; } } ?> <tr> <td><?php echo $i + 1; ?> </td> <td> <?php echo htmlspecialcharsbx($arBasket["NAME"]); ?> <?php if (is_array($arBasket["PROPS"]) && $_GET["PROPS_ENABLE"] == "Y") {
$arFields["ID"] = $val["ID"]; $arFields["TITLE"] = $val["NAME"]; $arFields["DESCRIPTION"] = $val["DESCRIPTION"]; $arDeliveryResult[] = $arFields; } } } $arResult["DELIVERY"] = $arDeliveryResult; $arResult["DELIVERY_CHECHED_DESC"] = $deliveryCheckDesc; /* * paysystem */ $userAccount = ""; $dbUserAccount = CSaleUserAccount::GetList(array(), array("USER_ID" => $currentUserId, "CURRENCY" => $arResult["CURRENCY"], "LOCKED" => "N")); if ($arUserAccount = $dbUserAccount->GetNext()) { if (DoubleVal($arUserAccount["CURRENT_BUDGET"]) > 0) { $userAccount = SaleFormatCurrency($arUserAccount["CURRENT_BUDGET"], $arResult["CURRENCY"]); } } $arPaySystem = CSalePaySystem::DoLoadPaySystems($PERSON_TYPE); $arNewPaySystem = array(); $paysystemDesc = ""; $arNewPaySystem[0] = array("ID" => "", "NAME" => GetMessage("SBB_SELECT_PAYSYSTEM"), "CHECKED" => "Y"); foreach ($arPaySystem as $key => $val) { $arNewPaySystem[$key]["ID"] = $val["ID"]; $arNewPaySystem[$key]["NAME"] = $val["NAME"]; $arNewPaySystem[$key]["DESCRIPTION"] = $val["DESCRIPTION"]; $arNewPaySystem[$key]["ACTIVE"] = $val["ACTIVE"]; if ($_POST["PAYSYSTEM_ID"] == $key) { $arNewPaySystem[$key]["CHECKED"] = "Y"; $arNewPaySystem[0]["CHECKED"] = "N";
} $arResult["AFF_SITE"] = htmlspecialcharsbx($AFF_SITE); $AFF_DESCRIPTION = Trim($_REQUEST["AFF_DESCRIPTION"]); if (StrLen($AFF_DESCRIPTION) <= 0) { $errorMessage .= GetMessage("SPCR1_NO_DESCR") . ".<br />"; } $arResult["AFF_DESCRIPTION"] = htmlspecialcharsbx($AFF_DESCRIPTION); if (StrLen($errorMessage) <= 0) { $dbPlan = CSaleAffiliatePlan::GetList(array("MIN_PLAN_VALUE" => "ASC"), array("SITE_ID" => SITE_ID, "ACTIVE" => "Y"), false, false, array("ID", "MIN_PLAN_VALUE")); $arPlan = $dbPlan->Fetch(); if (!$arPlan) { $errorMessage .= GetMessage("SPCR1_NO_PLANS") . ".<br />"; } } if (StrLen($errorMessage) <= 0) { $arFields = array("SITE_ID" => SITE_ID, "USER_ID" => IntVal($GLOBALS["USER"]->GetID()), "PLAN_ID" => $arPlan["ID"], "ACTIVE" => DoubleVal($arPlan["MIN_PLAN_VALUE"]) > 0 ? "N" : "Y", "DATE_CREATE" => date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL")), time() + CTimeZone::GetOffset()), "PAID_SUM" => 0, "PENDING_SUM" => 0, "LAST_CALCULATE" => false, "FIX_PLAN" => "N", "AFF_SITE" => $AFF_SITE, "AFF_DESCRIPTION" => $AFF_DESCRIPTION); $affiliateID = CSaleAffiliate::GetAffiliate(); if ($affiliateID > 0) { $arFields["AFFILIATE_ID"] = $affiliateID; } else { $arFields["AFFILIATE_ID"] = false; } if (!CSaleAffiliate::Add($arFields)) { if ($ex = $GLOBALS["APPLICATION"]->GetException()) { $errorMessage .= $ex->GetString() . ".<br />"; } else { $errorMessage .= GetMessage("SPCR1_ERR_AFF") . ".<br />"; } } else { LocalRedirect($arParams["REDIRECT_PAGE"]); die;