GetGroupRight("sale"); $arStatusList = False; $arFilter = array("LID" => LANG, "ID" => "N"); $arGroupByTmpSt = false; if ($saleModulePermissions < "W") { $arFilter["GROUP_ID"] = $GLOBALS["USER"]->GetUserGroupArray(); $arFilter["PERM_UPDATE"] = "Y"; $arGroupByTmpSt = array("ID", "NAME", "MAX" => "PERM_UPDATE"); } $dbStatusList = CSaleStatus::GetList( array(), $arFilter, $arGroupByTmpSt, false, array("ID", "NAME") ); $arStatusList = $dbStatusList->Fetch(); $saleModulePermissions = $APPLICATION->GetGroupRight("sale"); if ($saleModulePermissions == "D" OR ($saleModulePermissions < "W" AND $arStatusList["PERM_UPDATE"] != "Y")) $APPLICATION->AuthForm(GetMessage("ACCESS_DENIED")); if(!CBXFeatures::IsFeatureEnabled('SaleAccounts')) { require($DOCUMENT_ROOT."/bitrix/modules/main/include/prolog_admin_after.php"); ShowError(GetMessage("SALE_FEATURE_NOT_ALLOW")); require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_admin.php"); die(); } $ID = IntVal($_GET["USER_ID"]); //reorder if(isset($_REQUEST["reorder"]) && IntVal($_REQUEST["reorder"]) > 0) { $ORDER_ID = IntVal($_REQUEST["reorder"]); $lid = trim($_REQUEST["lid"]); $arID = array(); $urlProduct = ""; $dbBasketList = \Bitrix\Sale\Internals\BasketTable::getList(array( 'order' => array("PRODUCT_ID" => "ASC"), 'filter' => array( "LID" => $lid, "ORDER_ID" => $ORDER_ID ), 'select' => array('PRODUCT_ID', 'ID', 'QUANTITY') )); while ($arBasket = $dbBasketList->fetch()) $urlProduct .= "&product[".$arBasket["PRODUCT_ID"]."]=".$arBasket["QUANTITY"]; LocalRedirect("/bitrix/admin/sale_order_create.php?USER_ID=".CUtil::JSEscape($ID)."&lang=".LANG."&SITE_ID=".CUtil::JSEscape($lid).CUtil::JSEscape($urlProduct)); } //USER INFO $userFIO = ""; $dbUser = CUser::GetByID($ID); if($arUser = $dbUser->ExtractFields("u_")) { $userFIO = $u_NAME; if (strlen($u_LAST_NAME) > 0) { if (strlen($userFIO) > 0) $userFIO .= " "; $userFIO .= $u_LAST_NAME; } if (strlen($u_SECOND_NAME) > 0) { if (strlen($userFIO) > 0) $userFIO .= " "; $userFIO .= $u_SECOND_NAME; } } $userAdres = ""; $strUserGroup = ""; if(!empty($arUser)) { //user group $arUserGroups = CUser::GetUserGroup($ID); $dbGroups = CGroup::GetList(($b = "c_sort"), ($o = "asc"), array("ANONYMOUS" => "N")); while ($arGroups = $dbGroups->Fetch()) { if (in_array($arGroups["ID"], $arUserGroups)) $strUserGroup .= htmlspecialcharsbx($arGroups["NAME"])."
"; } //user adres if (strlen($u_PERSONAL_STATE) > 0) $userAdres .= $u_PERSONAL_STATE; if (strlen($u_PERSONAL_CITY) > 0) { if (strlen($userAdres) > 0) $userAdres .= ", "; $userAdres .= $u_PERSONAL_CITY; } if (strlen($u_PERSONAL_STREET) > 0) { if (strlen($userAdres) > 0) $userAdres .= ", "; $userAdres .= $u_PERSONAL_STREET; } //ALL SITES $arSites = array(); $rsSites = CSite::GetList($oby="id", $oorder="asc", array()); while ($arSite = $rsSites->Fetch()) $arSites[$arSite["ID"]] = $arSite; } $viewedMessage = ''; $basketMessage = ''; $viewedError = ''; $basketError = ''; //ACTIONS //viewed if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'viewed_apply' && IntVal($_REQUEST["viewed_id"]) > 0 && strlen($_REQUEST["viewed_lid"]) > 0 && $saleModulePermissions >= "W") { $PRODUCT_ID = IntVal($_REQUEST["viewed_id"]); $LID = trim($_REQUEST["viewed_lid"]); if (CModule::IncludeModule("catalog")) { /** @var $productProvider IBXSaleProductProvider */ if ($productProvider = CSaleBasket::GetProductProvider(array("MODULE" => "catalog", "PRODUCT_PROVIDER_CLASS" => "CCatalogProductProvider"))) { $arViews = $productProvider::GetProductData(array( "PRODUCT_ID" => $PRODUCT_ID, "QUANTITY" => 1, "RENEWAL" => "N", "SITE_ID" => $LID )); } else { $arViews = CSaleBasket::ExecuteCallbackFunction( 'CatalogBasketCallback', 'catalog', $PRODUCT_ID, 1, $LID ); } if (count($arViews) <= 0) { $viewedError = GetMessage('BUYER_VIEWED_ERROR_PRODUCT_FAIL'); $viewedMessage = ""; } else { $dbProduct = CIBlockElement::GetList(array(), array("ID" => $PRODUCT_ID), false, false, array('ID', 'NAME', "XML_ID", "IBLOCK_EXTERNAL_ID")); $arProduct = $dbProduct->Fetch(); $arViews['NAME'] = $arProduct["NAME"]; $arViews['PRODUCT_ID'] = $arProduct["ID"]; $arViews['MODULE'] = "catalog"; $arViews["LID"] = $LID; } } else { $dbViewsList = CSaleViewedProduct::GetList( array(), array("FUSER_ID" => $arFuserItems["ID"], "PRODUCT_ID" => $PRODUCT_ID), false, false ); $arViews = $dbViewsList->Fetch(); } if (strlen($viewedError) <= 0) { $arFields = array("PROPS" => array()); $arParentSku = CCatalogSku::GetProductInfo($PRODUCT_ID); if ($arParentSku && count($arParentSku) > 0) { $arPropsSku = array(); $dbProduct = CIBlockElement::GetList(array(), array("ID" => $PRODUCT_ID), false, false, array('IBLOCK_ID')); $arProduct = $dbProduct->Fetch(); $dbOfferProperties = CIBlock::GetProperties($arProduct["IBLOCK_ID"], array(), array("!XML_ID" => "CML2_LINK")); while($arOfferProperties = $dbOfferProperties->Fetch()) $arPropsSku[] = $arOfferProperties["CODE"]; $arFields["PROPS"] = CIBlockPriceTools::GetOfferProperties( $PRODUCT_ID, $arParentSku["IBLOCK_ID"], $arPropsSku ); } $arFields["USER_ID"] = $ID; $arFields["PRODUCT_ID"] = $PRODUCT_ID; $arFields["PRICE"] = $arViews["PRICE"]; $arFields["CURRENCY"] = $arViews["CURRENCY"]; $arFields["QUANTITY"] = 1; $arFields["LID"] = $arViews["LID"]; $arFields["DETAIL_PAGE_URL"] = $arViews["DETAIL_PAGE_URL"]; $arFields["NAME"] = $arViews["NAME"]; $arFields["CAN_BUY"] = "Y"; $arFields["TYPE"] = $arViews["TYPE"]; $arFields["MODULE"] = $arViews["MODULE"]; if ($arViews["MODULE"] == "catalog") { $arFields["CALLBACK_FUNC"] = "CatalogBasketCallback"; $arFields["ORDER_CALLBACK_FUNC"] = "CatalogBasketOrderCallback"; $arFields["CANCEL_CALLBACK_FUNC"] = "CatalogBasketCancelCallback"; $arFields["PAY_CALLBACK_FUNC"] = "CatalogPayOrderCallback"; $arFields["PRODUCT_PROVIDER_CLASS"] = "CCatalogProductProvider"; } if(strlen($arProduct["IBLOCK_EXTERNAL_ID"]) > 0) { $arFields["CATALOG_XML_ID"] = $arProduct["IBLOCK_EXTERNAL_ID"]; $arFields["PROPS"][] = Array( "NAME" => "Catalog XML_ID", "CODE" => "CATALOG.XML_ID", "VALUE" => $arProduct["IBLOCK_EXTERNAL_ID"], ); } if(intVal($arProduct["XML_ID"]) > 0) { $arFields["PRODUCT_XML_ID"] = $arProduct["XML_ID"]; $arFields["PROPS"][] = Array( "NAME" => "Product XML_ID", "CODE" => "PRODUCT.XML_ID", "VALUE" => $arProduct["XML_ID"], ); } $arFuserItems = CSaleUser::GetList(array("USER_ID" => $ID)); if (count($arFuserItems) > 0) $arFields["FUSER_ID"] = $arFuserItems["ID"]; if (!CSaleBasket::Add($arFields)) { $viewedError = GetMessage('BUYER_VIEWED_ADD_ERROR'); $viewedMessage = ""; } else $viewedMessage = GetMessage('BUYER_VIEWED_MESS_BASKET'); } } //basket if (isset($_REQUEST['apply']) && isset($_REQUEST['action']) && $saleModulePermissions >= "W" && check_bitrix_sessid()) { $arID = array(); $arFields = array(); if($arFuserItems = CSaleUser::GetList(array("USER_ID" => $ID))) { $arFields["FUSER_ID"] = $arFuserItems["ID"]; if (!isset($_REQUEST["action_target"]) || $_REQUEST["action_target"] != "selected") { if(isset($_REQUEST['PRODUCT_ID']) && count($_REQUEST['PRODUCT_ID']) > 0) { if(!is_array($_REQUEST['PRODUCT_ID'])) $arID = array($_REQUEST['PRODUCT_ID']); else $arID = $_REQUEST['PRODUCT_ID']; } //delete default ID foreach($arID as $lid => $arProduct) { foreach ($arProduct as $key => $val) { if (!in_array($val, $_POST["ID"])) unset($arID[$lid][$key]); } } } else { $arBasketActionFilter = array("FUSER_ID" => $arFields["FUSER_ID"], "ORDER_ID" => "NULL", "CAN_BUY" => "Y"); if (strlen($filter_basket_lid)>0) $arBasketActionFilter["LID"] = trim($filter_basket_lid); $dbBasketEl = \Bitrix\Sale\Internals\BasketTable::getList(array( 'filter' => $arBasketActionFilter, 'select' => array('ID', 'PRODUCT_ID', 'LID') )); while($arBasketEl = $dbBasketEl->Fetch()) $arID[$arBasketEl["LID"]][] = $arBasketEl["PRODUCT_ID"]; } $LID = ""; foreach($arID as $key => $val) { if ($LID == "") $LID = $key; if ($LID != $key) { if (isset($_REQUEST['basket_apply'])) $basketError = GetMessage('BUYER_VIEWED_BASKET_ERROR_TO_ORDER'); break; } } if ($basketError == '' && $basketError == '') { switch ($_REQUEST['action']) { case "order_basket": if (count($arID[$LID]) > 0) { $urlProduct = ""; $arIDProd = array(); foreach ($arID[$LID] as $PRODUCT_ID) { $arIDProd[] = $PRODUCT_ID; } $dbBasketEl = \Bitrix\Sale\Internals\BasketTable::getList(array( 'filter' => array( "LID" => $LID, "FUSER_ID" => $arFields["FUSER_ID"], "PRODUCT_ID" => $arIDProd, "ORDER_ID" => "NULL" ), 'select' => array('CAN_BUY', "SUBSCRIBE", "DELAY", "PRODUCT_ID", "QUANTITY") )); while($arBasketEl = $dbBasketEl->fetch()) { $urlProduct .= "&product[".$arBasketEl["PRODUCT_ID"]."]=".$arBasketEl["QUANTITY"]; if ($arBasketEl["CAN_BUY"] != "Y" || $arBasketEl["DELAY"] == "Y" || $arBasketEl["SUBSCRIBE"] == "Y") { $basketError = GetMessage('BUYER_BASKET_ORDER_ERROR'); break; } } if (strlen($basketError) <= 0) { echo ""; exit; } } else { if(isset($_REQUEST['basket_apply']) && isset($_REQUEST['BASKET_ID'])) $basketError = GetMessage('BUYER_BASKET_MESS_NULL'); } break; case "delay_y": case "delay_n": $arFields["DELAY"] = (($_REQUEST['action']=="delay_y") ? "Y" : "N"); if (is_array($arID[$LID])) { foreach ($arID[$LID] as $PRODUCT_ID) { $dbBasketEl = \Bitrix\Sale\Internals\BasketTable::getList(array( 'filter' => array( "LID" => $LID, "FUSER_ID" => $arFields["FUSER_ID"], "PRODUCT_ID" => $PRODUCT_ID, "ORDER_ID" => "NULL" ), 'select' => array('ID') )); $arBasketEl = $dbBasketEl->fetch(); if (!CSaleBasket::Update($arBasketEl["ID"], $arFields)) $basketError = GetMessage('BUYER_BASKET_ADD_ERROR'); }//end foreach } break; case "delete_basket": if (is_array($arID[$LID])) { foreach ($arID[$LID] as $PRODUCT_ID) { $dbBasketEl = \Bitrix\Sale\Internals\BasketTable::getList(array( 'filter' => array( "LID" => $LID, "FUSER_ID" => $arFields["FUSER_ID"], "PRODUCT_ID" => $PRODUCT_ID, "ORDER_ID" => "NULL" ), 'select' => array('ID') )); $arBasketEl = $dbBasketEl->fetch(); CSaleBasket::Delete($arBasketEl["ID"]); } } break; } } } } $pageTitle = ""; if(!empty($arUser)) $pageTitle = " \"(".htmlspecialcharsBack($u_LOGIN).") ".htmlspecialcharsBack($userFIO)."\""; $APPLICATION->SetTitle(GetMessage("BUYER_TITLE").$pageTitle); if(!empty($arUser)) { $dbStatus = CSaleStatus::GetList(array(), array(), false, false, array('ID', 'NAME', 'LID')); $arStatusOrder = array(); while ($arStatus = $dbStatus->Fetch()) $arStatusOrder[$arStatus["ID"]] = $arStatus; //MAIN INFORMATION $sTableID_tab1 = "tbl_sale_buyers_profile_tab1"; $oSort_tab1 = new CAdminSorting($sTableID_tab1); $lAdmin_tab1 = new CAdminList($sTableID_tab1, $oSort_tab1); $arFilter = array("USER_ID" => $ID); $dbOrderList = CSaleOrder::GetList( array('DATE_INSERT' => 'DESC'), $arFilter, false, array("nTopCount" => 10), array('ID', 'DATE_INSERT', 'PAYED', 'DATE_PAYED', 'CANCELED', 'DATE_CANCELED', 'PRICE', 'CURRENCY', "STATUS_ID", "DATE_STATUS", "LID") ); $dbOrderList = new CAdminResult($dbOrderList, $sTableID_tab1); $dbOrderList->NavStart(); $lAdmin_tab1->NavText($dbOrderList->GetNavPrint(GetMessage('BUYER_ORDER_LIST'))); $mainOrderHeader = array( array("id"=>"ID", "content"=>ID, "sort"=>"", "default"=>true), array("id"=>"STATUS_ID","content"=>GetMessage("BUYER_LAST_H_STATUS"), "sort"=>"", "default"=>true), array("id"=>"PAYED", "content"=>GetMessage("BUYER_LAST_H_PAYED"), "sort"=>"", "default"=>true), array("id"=>"CANCELED", "content"=>GetMessage("BUYER_LAST_H_CANCEL"), "sort"=>"", "default"=>true), array("id"=>"PRODUCT", "content"=>GetMessage("BUYER_LAST_H_PRODUCT"), "sort"=>"", "default"=>true), array("id"=>"PRICE", "content"=>GetMessage("BUYER_LAST_H_PRICE"), "sort"=>"", "default"=>true), array("id"=>"DATE_INSERT", "content"=>GetMessage("BUYER_LAST_H_DATE"), "sort"=>"", "default"=>true), ); if (count($arSites) > 1) $mainOrderHeader[] = array("id"=>"LID", "content"=>GetMessage("BUYER_BH_LID"), "sort"=>"LID", "default"=>true); $lAdmin_tab1->AddHeaders($mainOrderHeader); while ($arOrderMain = $dbOrderList->Fetch()) { $row =& $lAdmin_tab1->AddRow($arOrderMain["ID"], $arOrderMain, '', ''); $orderLink = "".$arOrderMain["ID"].""; $row->AddField("ID", $orderLink); $basketCount = 0; $dbBasketCount = \Bitrix\Sale\Internals\BasketTable::getList(array( 'filter' => array( "ORDER_ID" => $arOrderMain["ID"] ), )); while ($arBasket = $dbBasketCount->fetch()) { if (!CSaleBasketHelper::isSetItem($arBasket)) $basketCount++; } $status = "[".$arOrderMain["STATUS_ID"]."] ".htmlspecialcharsbx($arStatusOrder[$arOrderMain["STATUS_ID"]]["NAME"])."
".$arOrderMain["DATE_STATUS"]; $row->AddField("STATUS_ID", $status); $payed = (($arOrderMain["PAYED"] == "Y") ? GetMessage("BUYERS_PAY_YES") : GetMessage("BUYERS_PAY_NO")); if (strlen($arOrderMain["DATE_PAYED"]) > 0) $payed .= "
".$arOrderMain["DATE_PAYED"]; $row->AddField("PAYED", $payed); $cancel = (($arOrderMain["CANCELED"] == "Y") ? GetMessage("BUYER_LAST_YES") : GetMessage("BUYER_LAST_NO")); if (strlen($arOrderMain["DATE_CANCELED"]) > 0) $cancel .= "
".$arOrderMain["DATE_CANCELED"]; $row->AddField("CANCELED", $cancel); $row->AddField("PRODUCT", $basketCount); $row->AddField("PRICE", SaleFormatCurrency($arOrderMain["PRICE"], $arOrderMain["CURRENCY"])); if (count($arSites) > 1) $row->AddField("LID", "[".$arOrderMain["LID"]."] ".htmlspecialcharsbx($arSites[$arOrderMain["LID"]]["NAME"]).""); } if($_REQUEST["table_id"]==$sTableID_tab1) $lAdmin_tab1->CheckListMode(); //END MAIN INFO //BUYERS PROFILE $sTableID_tab2 = "tbl_sale_buyers_profile_tab2"; $oSort_tab2 = new CAdminSorting($sTableID_tab2); $lAdmin_tab2 = new CAdminList($sTableID_tab2, $oSort_tab2); $arPErsonTypes = array(); $db_ptype = CSalePersonType::GetList(($by1="SORT"), ($order1="ASC")); while ($ptype = $db_ptype->Fetch()) $arPErsonTypes[$ptype["ID"]] = $ptype; if (!isset($_REQUEST["by"])) $arProfSort = array("PERSON_TYPE_ID" => "ASC", "DATE_UPDATE" => "DESC"); else $arProfSort[$by] = $order; $dbProfileList = CSaleOrderUserProps::GetList( $arProfSort, array("USER_ID" => $ID), false, false, array("ID", "NAME", "PERSON_TYPE_ID", "DATE_UPDATE") ); $dbProfileList = new CAdminResult($dbProfileList, $sTableID_tab2); $dbProfileList->NavStart(); $lAdmin_tab2->NavText($dbProfileList->GetNavPrint(GetMessage('BUYER_PERSON_LIST'))); $personHeader = array( array("id"=>"NAME", "content"=>GetMessage("BUYER_P_NAME"), "sort"=>"NAME", "default"=>true), array("id"=>"PERSON_TYPE_ID","content"=>GetMessage("BUYER_P_PERSONTYPE"), "sort"=>"PERSON_TYPE_ID", "default"=>true), array("id"=>"DATE_UPDATE", "content"=>GetMessage("BUYER_P_DATE_UPDATE"), "sort"=>"DATE_UPDATE", "default"=>true), ); $lAdmin_tab2->AddHeaders($personHeader); while ($arProfList = $dbProfileList->GetNext()) { $row =& $lAdmin_tab2->AddRow($arProfList["ID"], $arProfList, "sale_buyers_profile_edit.php?id=".$arProfList["ID"]."&lang=".LANG, GetMessage("BUYER_P_PROFILE_EDIT")); $row->AddField("NAME", "[".$arProfList["ID"]."] ".$arProfList["NAME"].""); $row->AddField("PERSON_TYPE_ID", htmlspecialcharsbx($arPErsonTypes[$arProfList["PERSON_TYPE_ID"]]["NAME"])); if (count($arSites) > 1) $row->AddField("LID", "[".$arProfList["LID"]."] ".htmlspecialcharsbx($arSites[$arProfList["LID"]]["NAME"]).""); } if($_REQUEST["table_id"]==$sTableID_tab2) $lAdmin_tab2->CheckListMode(); //END BUYERS PROFILE //BUYERS ORDERS $sTableID_tab3 = "tbl_sale_buyers_profile_tab3"; $oSort_tab3 = new CAdminSorting($sTableID_tab3); $lAdmin_tab3 = new CAdminList($sTableID_tab3, $oSort_tab3); //FILTER ORDER $arFilterFields = array( "filter_order_lid", "filter_order_status", "filter_order_payed", "filter_order_price", "filter_date_order_from", "filter_date_order_to", "filter_summa_to", "filter_summa_from", "filter_order_prod_name", ); $lAdmin_tab3->InitFilter($arFilterFields); if (!isset($_REQUEST["by"])) $arOrderSort = array("DATE_INSERT" => "DESC"); else $arOrderSort[$by] = $order; if ($by == "PAYED") $arOrderSort["DATE_PAYED"] = $order; $arOrderFilter = array("USER_ID" => $ID); if (strlen($filter_order_lid)>0) $arOrderFilter["LID"] = trim($filter_order_lid); if (isset($filter_order_status) && !is_array($filter_order_status) && strlen($filter_order_status) > 0) $filter_order_status = array($filter_order_status); if (isset($filter_order_status) && is_array($filter_order_status) && count($filter_order_status) > 0) { $filterOrderCount = count($filter_order_status); for ($i = 0; $i < $filterOrderCount; $i++) { $filter_order_status[$i] = Trim($filter_order_status[$i]); if (strlen($filter_order_status[$i]) > 0) $arOrderFilter["STATUS_ID"][] = $filter_order_status[$i]; } } if (strlen($filter_order_payed)>0) $arOrderFilter["PAYED"] = Trim($filter_order_payed); if (strlen($filter_order_delivery)>0) $arOrderFilter["ALLOW_DELIVERY"] = Trim($filter_order_delivery); if (strlen($filter_date_order_from)>0) { $dateFrom = MkDateTime(FmtDate($filter_date_order_from,"D.M.Y"),"d.m.Y"); if ($dateFrom) $arOrderFilter["DATE_FROM"] = Trim($filter_date_order_from); } if (strlen($filter_date_order_to) > 0) { if ($arDate = ParseDateTime($filter_date_order_to, CSite::GetDateFormat("FULL", SITE_ID))) { if (StrLen($filter_date_order_to) < 11) { $arDate["HH"] = 23; $arDate["MI"] = 59; $arDate["SS"] = 59; } $filter_date_order_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"])); $arOrderFilter["DATE_TO"] = $filter_date_order_to; } else $filter_date_order_to = ""; } if(strlen(trim($filter_date_order_from_DAYS_TO_BACK))>0) { $dateBack = IntVal($filter_date_order_from_DAYS_TO_BACK); $arOrderFilter["DATE_FROM"] = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-".$dateBack), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "SHORT"); } if (strlen($filter_order_date_up_from)>0) { $dateFrom = MkDateTime(FmtDate($filter_order_date_up_from,"D.M.Y"),"d.m.Y"); if ($dateFrom) $arOrderFilter["DATE_UPDATE_FROM"] = trim($filter_order_date_up_from); } if (strlen($filter_order_date_up_to) > 0) { if ($arDate = ParseDateTime($filter_order_date_up_to, CSite::GetDateFormat("FULL", SITE_ID))) { if (StrLen($filter_order_date_up_to) < 11) { $arDate["HH"] = 23; $arDate["MI"] = 59; $arDate["SS"] = 59; } $filter_order_date_up_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"])); $arOrderFilter["DATE_UPDATE_TO"] = $filter_order_date_up_to; } else $filter_order_date_up_to = ""; } if (strlen($filter_summa_from) > 0) { $arOrderFilter[">=PRICE"] = FloatVal($filter_summa_from); } if (strlen($filter_summa_to) > 0) { $arOrderFilter["<=PRICE"] = FloatVal($filter_summa_to); } if (strlen($filter_order_prod_name) > 0) { $arOrderFilter["%BASKET_NAME"] = $filter_order_prod_name; } $getListParams = array( 'filter' => $arOrderFilter, 'order' => $arOrderSort, 'select' => array( "ID", "LID", "STATUS_ID", "DATE_STATUS", "PAYED", "DATE_PAYED", "PRICE", "DATE_UPDATE", "DATE_INSERT", "CURRENCY", // "ALLOW_DELIVERY", // "DATE_ALLOW_DELIVERY" ) ); $usePageNavigation = true; $navyParams = CDBResult::GetNavParams(CAdminResult::GetNavSize($sTableID)); if ($navyParams['SHOW_ALL']) { $usePageNavigation = false; } else { $navyParams['PAGEN'] = (int)$navyParams['PAGEN']; $navyParams['SIZEN'] = (int)$navyParams['SIZEN']; } if ($usePageNavigation) { $getListParams['limit'] = $navyParams['SIZEN']; $getListParams['offset'] = $navyParams['SIZEN']*($navyParams['PAGEN']-1); } $totalPages = 0; if ($usePageNavigation) { $countQuery = new \Bitrix\Main\Entity\Query(\Bitrix\Sale\Internals\OrderTable::getEntity()); $countQuery->addSelect(new \Bitrix\Main\Entity\ExpressionField('CNT', 'COUNT(1)')); $countQuery->setFilter($getListParams['filter']); $totalCount = $countQuery->setLimit(null)->setOffset(null)->exec()->fetch(); unset($countQuery); $totalCount = (int)$totalCount['CNT']; if ($totalCount > 0) { $totalPages = ceil($totalCount/$navyParams['SIZEN']); if ($navyParams['PAGEN'] > $totalPages) $navyParams['PAGEN'] = $totalPages; $getListParams['limit'] = $navyParams['SIZEN']; $getListParams['offset'] = $navyParams['SIZEN']*($navyParams['PAGEN']-1); } else { $navyParams['PAGEN'] = 1; $getListParams['limit'] = $navyParams['SIZEN']; $getListParams['offset'] = 0; } } $dbOrderList = new CAdminResult(\Bitrix\Sale\Internals\OrderTable::getList($getListParams), $sTableID_tab3); if ($usePageNavigation) { $dbOrderList->NavStart($getListParams['limit'], $navyParams['SHOW_ALL'], $navyParams['PAGEN']); $dbOrderList->NavRecordCount = $totalCount; $dbOrderList->NavPageCount = $totalPages; $dbOrderList->NavPageNomer = $navyParams['PAGEN']; } else { $dbOrderList->NavStart(); } // $dbOrderList->NavStart(); $lAdmin_tab3->NavText($dbOrderList->GetNavPrint(GetMessage('BUYER_ORDER_LIST'))); $orderHeader = array( array("id"=>"ID", "content"=>"ID", "sort"=>"ID", "default"=>true), array("id"=>"STATUS_ID","content"=>GetMessage("BUYERS_H_STATUS"), "sort"=>"STATUS_ID", "default"=>true), array("id"=>"PAYED", "content"=>GetMessage("BUYERS_H_PAID"), "sort"=>"PAYED", "default"=>true), array("id"=>"ALLOW_DELIVERY", "content"=>GetMessage("BUYER_LAST_H_ALLOW_DELIVERY"), "sort"=>"", "default"=>true), array("id"=>"PRODUCT", "content"=>GetMessage("BUYERS_H_ALL_PRODUCT"), "sort"=>"", "default"=>true), array("id"=>"PRICE", "content"=>GetMessage("BUYERS_H_SUM"), "sort"=>"PRICE", "default"=>true), array("id"=>"DATE_INSERT", "content"=>GetMessage("BUYERS_H_DATE_INSERT"), "sort"=>"DATE_INSERT", "default"=>true), ); if (count($arSites) > 1) $orderHeader[] = array("id"=>"LID", "content"=>GetMessage("BUYERS_H_SITE"), "sort"=>"LID", "default"=>true); $lAdmin_tab3->AddHeaders($orderHeader); while ($arOrder = $dbOrderList->Fetch()) { $row =& $lAdmin_tab3->AddRow($arOrder["ID"], $arOrder, "sale_order_detail.php?ID=".$arOrder["ID"]."&lang=".LANG, GetMessage("BUYERS_ORDER_EDIT")); $orderLink = "".$arOrder["ID"].""; $row->AddField("ID", $orderLink); $status_id = "".GetMessage('BUYERS_PREF').$arOrder["ID"].""; $status_id .= ""; $row->AddField("STATUS_ID", $status_id); $payed = ""; $res = \Bitrix\Sale\Internals\PaymentTable::getList(array( 'order' => array('ID' => 'ASC'), 'filter' => array( 'ORDER_ID' => $arOrder['ID'] ) )); while($payment = $res->fetch()) { if (strval($payed) != "") $payed .= "
"; $payed .= "[".$payment["ID"]."], ". htmlspecialcharsbx($payment["PAY_SYSTEM_NAME"]).", ". ($payment["PAID"] == "Y" ? \Bitrix\Main\Localization\Loc::getMessage("SOB_PAYMENTS_PAID") : \Bitrix\Main\Localization\Loc::getMessage("SOB_PAYMENTS_UNPAID")).", ". (strlen($payment["PS_STATUS"]) > 0 ? \Bitrix\Main\Localization\Loc::getMessage("SOB_PAYMENTS_STATUS").": ".htmlspecialcharsbx($payment["PS_STATUS"]).", " : ""). ''.htmlspecialcharsex(SaleFormatCurrency($payment["SUM"], $payment["CURRENCY"])).''; } $row->AddField("PAYED", $payed); $shipmentStatuses = array(); $dbRes = \Bitrix\Sale\Internals\StatusTable::getList(array( 'select' => array('ID', 'NAME' => 'Bitrix\Sale\Internals\StatusLangTable:STATUS.NAME'), 'filter' => array( '=Bitrix\Sale\Internals\StatusLangTable:STATUS.LID' => LANGUAGE_ID, '=TYPE' => 'D' ), )); while ($shipmentStatus = $dbRes->fetch()) $shipmentStatuses[$shipmentStatus["ID"]] = $shipmentStatus["NAME"] . " [" . $shipmentStatus["ID"] . "]"; $allowDelivery = ""; $res = \Bitrix\Sale\Internals\ShipmentTable::getList(array( 'order' => array('ID' => 'ASC'), 'filter' => array('ORDER_ID' => $arOrder['ID'], '!=SYSTEM' => 'Y') )); while($shipment = $res->fetch()) { $shipment["ID_LINKED"] = '['.$shipment["ID"].']'; if (strval($allowDelivery) != "") $allowDelivery .= "
"; $allowDelivery .= "[".$shipment["ID"]."], ". htmlspecialcharsbx($shipment["DELIVERY_NAME"]).", ". ''.htmlspecialcharsEx(SaleFormatCurrency($shipment["PRICE_DELIVERY"], $shipment["CURRENCY"])).", ". ($shipment["ALLOW_DELIVERY"] == "Y" ? \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_ALLOW_DELIVERY") : \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_NOT_ALLOW_DELIVERY")).", ". ($shipment["CANCELED"] == "Y" ? \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_CANCELED").", " : ""). ($shipment["DEDUCTED"] == "Y" ? \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_DEDUCTED").", " : ""). ($shipment["MARKED"] == "Y" ? \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_MARKED").", " : ""). (strlen($shipment["TRACKING_NUMBER"]) > 0 ? htmlspecialcharsbx($shipment["TRACKING_NUMBER"]).", " : ""); if(strlen($shipment["STATUS_ID"]) > 0) $allowDelivery .= $shipmentStatuses[$shipment["STATUS_ID"]] ? htmlspecialcharsbx($shipmentStatuses[$shipment["STATUS_ID"]]) : \Bitrix\Main\Localization\Loc::getMessage("SOB_SHIPMENTS_STATUS").": ".$shipment["STATUS_ID"]; } $row->AddField("ALLOW_DELIVERY", $allowDelivery); $status = "[".$arOrder["STATUS_ID"]."] ".htmlspecialcharsbx($arStatusOrder[$arOrder["STATUS_ID"]]["NAME"])."
".$arOrder["DATE_STATUS"]; $row->AddField("STATUS_ID", $status); $orderProduct = ""; $arBasketItems = array(); $dbItemsList = \Bitrix\Sale\Internals\BasketTable::getList(array( 'order' => array("ID" => "ASC", "SET_PARENT_ID" => "DESC", "TYPE" => "DESC"), 'filter' => array("ORDER_ID" => $arOrder["ID"]) )); while ($arItem = $dbItemsList->fetch()) $arBasketItems[] = $arItem; $arBasketItems = getMeasures($arBasketItems); foreach ($arBasketItems as $arBasketOrder) { $measure = isset($arBasketOrder["MEASURE_TEXT"]) ? $arBasketOrder["MEASURE_TEXT"] : GetMessage("BUYERS_UNIT"); $class = ""; $hidden = ""; if (CSaleBasketHelper::isSetItem($arBasketOrder)) { $class = "class=\"set_item_".$arBasketOrder["SET_PARENT_ID"]."\""; $hidden = "style=\"display:none\""; } $orderProduct .= "
".htmlspecialcharsbx($arBasketOrder["NAME"])." - ".$arBasketOrder["QUANTITY"]." ".$measure."
"; $dbProp = CSaleBasket::GetPropsList(Array("SORT" => "ASC", "ID" => "ASC"), Array("BASKET_ID" => $arBasketOrder["ID"], "!CODE" => array("CATALOG.XML_ID", "PRODUCT.XML_ID"))); while($arProp = $dbProp -> GetNext()) { $orderProduct .= "
".$arProp["NAME"].": ".$arProp["VALUE"]."
"; } if (CSaleBasketHelper::isSetParent($arBasketOrder)) $orderProduct .= "".GetMessage("BUYER_F_SHOW_SET").""; $orderProduct .= "
"; } $row->AddField("PRODUCT", $orderProduct); $row->AddField("PRICE", SaleFormatCurrency($arOrder["PRICE"], $arOrder["CURRENCY"])); if (count($arSites) > 1) $row->AddField("LID", "[".$arOrder["LID"]."] ".htmlspecialcharsbx($arSites[$arOrder["LID"]]["NAME"]).""); $arActions = array(); $arActions[] = array("ICON"=>"view", "TEXT"=>GetMessage("BUYERS_ORDER_EDIT"),"ACTION"=>$lAdmin_tab3->ActionRedirect("sale_order_detail.php?ID=".$arOrder["ID"]."&lang=".LANG), "DEFAULT"=>true); $arActions[] = array("ICON"=>"edit", "TEXT"=>GetMessage("BUYER_PD_REORDER"),"ACTION"=>$lAdmin_tab3->ActionRedirect("/bitrix/admin/sale_buyers_profile.php?USER_ID=".$ID."&lang=".LANG."&reorder=".$arOrder["ID"]."&lid=".$arOrder["LID"])); $row->AddActions($arActions); } if($_REQUEST["table_id"]==$sTableID_tab3) $lAdmin_tab3->CheckListMode(); //END BUYERS ORDER //BUYERS BASKET $sTableID_tab4 = "t_stat_list_tab4"; $oSort_tab4 = new CAdminSorting($sTableID_tab4); $lAdmin_tab4 = new CAdminList($sTableID_tab4, $oSort_tab4); //FILTER BASKET $arFilterFields = array( "basket_status", "filter_basket_lid", "basket_name_product", ); $lAdmin_tab4->InitFilter($arFilterFields); if (!isset($_REQUEST["by"])) $arBasketSort = array("DATE_INSERT" => "DESC", "LID" => "ASC"); else $arBasketSort[$by] = $order; $arBasketFilter = array("FUSER.USER_ID" => $ID, "ORDER_ID" => "NULL"); if (strlen($filter_basket_lid)>0) $arBasketFilter["LID"] = trim($filter_basket_lid); if (strlen(trim($basket_status)) > 0) { if ($basket_status == "avail") { $arBasketFilter["CAN_BUY"] = "Y"; $arBasketFilter["DELAY"] = "N"; } elseif ($basket_status == "no") { $arBasketFilter["CAN_BUY"] = "N"; $arBasketFilter["SUBSCRIBE"] = "N"; } elseif ($basket_status == "delay") { $arBasketFilter["CAN_BUY"] = "Y"; $arBasketFilter["DELAY"] = "Y"; } elseif ($basket_status == "subscribe") { $arBasketFilter["CAN_BUY"] = "N"; $arBasketFilter["SUBSCRIBE"] = "Y"; } } if (strlen(trim($basket_name_product)) > 0) $arBasketFilter["%NAME"] = $basket_name_product; CAdminMessage::ShowNote($basketMessage); CAdminMessage::ShowMessage($basketError); //update price $arCacheFuser = array(); $arUpdateFilter = $arBasketFilter; $arUpdateFilter["!CALLBACK_FUNC"] = ''; $dbBasketList = \Bitrix\Sale\Internals\BasketTable::getList(array( 'order' => $arBasketSort, 'filter' => $arUpdateFilter, 'select' => array('FUSER_ID', 'LID') )); while ($arBasket = $dbBasketList->fetch()) { if (!in_array($arBasket["FUSER_ID"], $arCacheFuser)) { $arCacheFuser[] = $arBasket["FUSER_ID"]; CSaleBasket::UpdateBasketPrices($arBasket["FUSER_ID"], $arBasket["LID"]); } } $dbBasketList = \Bitrix\Sale\Internals\BasketTable::getList(array( 'order' => array_merge( array( "SET_PARENT_ID" => "DESC", "TYPE" => "DESC"), $arBasketSort), 'filter' => $arBasketFilter, )); $dbBasketList = new CAdminResult($dbBasketList, $sTableID_tab4); $dbBasketList->NavStart(); $lAdmin_tab4->NavText($dbBasketList->GetNavPrint(GetMessage('BUYER_BASKET_BASKET'))); $BasketHeader = array( array("id"=>"DATE_INSERT", "content"=>GetMessage("BUYER_BH_DATE_INSERT"), "sort"=>"DATE_INSERT", "default"=>true), array("id"=>"NAME","content"=>GetMessage("BUYER_BH_NAME"), "sort"=>"NAME", "default"=>true), array("id"=>"DELAY", "content"=>GetMessage("BUYER_BH_DELAY"), "sort"=>"DELAY", "default"=>true), array("id"=>"PRICE", "content"=>GetMessage("BUYER_BH_PRICE"), "sort"=>"PRICE", "default"=>true), array("id"=>"QUANTITY", "content"=>GetMessage("BUYER_BH_QUANTITY"), "sort"=>"QUANTITY", "default"=>true), ); if (count($arSites) > 1) $BasketHeader[] = array("id"=>"LID", "content"=>GetMessage("BUYER_BH_LID"), "sort"=>"LID", "default"=>true); $lAdmin_tab4->AddHeaders($BasketHeader); $arSetData = array(); $arBasketData = array(); while ($arBasket = $dbBasketList->GetNext()) { if (CSaleBasketHelper::isSetItem($arBasket)) { $arSetData[$arBasket["SET_PARENT_ID"]][] = $arBasket; continue; } $arBasketData[] = $arBasket; } foreach ($arBasketData as $arBasket) { $row =& $lAdmin_tab4->AddRow($arBasket["PRODUCT_ID"], $arBasket, '', ''); $status = ""; if($arBasket["DELAY"] == "N" && $arBasket["CAN_BUY"] == "Y") $status = GetMessage("BUYER_B_STATUS_ADD"); if($arBasket["DELAY"] == "Y" && $arBasket["CAN_BUY"] == "Y") $status = GetMessage("BUYER_B_STATUS_DELAY"); if($arBasket["CAN_BUY"] == "N" && $arBasket["SUBSCRIBE"] == "N") $status = GetMessage("BUYER_B_STATUS_NO"); if($arBasket["CAN_BUY"] == "N" && $arBasket["SUBSCRIBE"] == "Y") $status = GetMessage("BUYER_B_STATUS_NOTIFY"); $row->AddField("DELAY", $status); $name = "".$arBasket["NAME"]." "; $name .= ""; $dbProp = CSaleBasket::GetPropsList(Array("SORT" => "ASC", "ID" => "ASC"), Array("BASKET_ID" => $arBasket["ID"], "!CODE" => array("CATALOG.XML_ID", "PRODUCT.XML_ID"))); while($arProp = $dbProp -> GetNext()) { $name .= "
".$arProp["NAME"].": ".$arProp["VALUE"]."
"; } if (CSaleBasketHelper::isSetParent($arBasket)) { $name .= "
".GetMessage("BUYER_F_SHOW_SET")."
"; if (!empty($arSetData) && array_key_exists($arBasket["ID"], $arSetData)) { $name .= "
"; foreach ($arSetData[$arBasket["ID"]] as $set) $name .= "

".$set["NAME"]."


"; $name .= "
"; } } $row->AddField("NAME", $name); $row->AddField("PRICE", SaleFormatCurrency($arBasket["PRICE"], $arBasket["CURRENCY"])); if (count($arSites) > 1) $row->AddField("LID", "[".$arBasket["LID"]."] ".htmlspecialcharsbx($arSites[$arBasket["LID"]]["NAME"]).""); } $lAdmin_tab4->AddGroupActionTable( array( "order_basket" => GetMessage("BUYER_PD_ORDER"), "delay_y" => GetMessage("BUYER_PD_DELAY_Y"), "delay_n" => GetMessage("BUYER_PD_DELAY_N"), "delete_basket" => GetMessage("BUYER_PD_DELETE"), ) ); if($_REQUEST["table_id"]==$sTableID_tab4) $lAdmin_tab4->CheckListMode(); //END BUYERS BASKET //BUYERS VIEWED PRODUCT $sTableID_tab5 = "t_stat_list_tab5"; $oSort_tab5 = new CAdminSorting($sTableID_tab5); $lAdmin_tab5 = new CAdminList($sTableID_tab5, $oSort_tab5); //FILTER VIEWED $arFilterFields = array( "filter_viewed_date_visit", "filter_date_visit_from", "filter_date_visit_to", "filter_viewed_lid", ); $lAdmin_tab5->InitFilter($arFilterFields); $arFilter = array(); $arFuserItems = CSaleUser::GetList(array("USER_ID" => $ID)); $arFilter["FUSER_ID"] = $arFuserItems["ID"]; if (strlen($filter_viewed_lid)>0) $arFilter["LID"] = trim($filter_viewed_lid); if(strlen(trim($filter_date_visit_from))>0) { $arFilter["DATE_FROM"] = FmtDate($filter_date_visit_from,"D.M.Y"); } if(strlen(trim($filter_date_visit_to))>0) { if ($arDate = ParseDateTime($filter_date_visit_to, CSite::GetDateFormat("FULL", SITE_ID))) { if (StrLen($filter_date_visit_to) < 11) { $arDate["HH"] = 23; $arDate["MI"] = 59; $arDate["SS"] = 59; } $filter_date_visit_to = date($DB->DateFormatToPHP(CSite::GetDateFormat("FULL", SITE_ID)), mktime($arDate["HH"], $arDate["MI"], $arDate["SS"], $arDate["MM"], $arDate["DD"], $arDate["YYYY"])); $arFilter["DATE_TO"] = $filter_date_visit_to; } else { $filter_date_visit_to = ""; } } if(strlen(trim($filter_date_visit_from_DAYS_TO_BACK))>0) { $dateBack = IntVal($filter_date_visit_from_DAYS_TO_BACK); $arFilter["DATE_FROM"] = ConvertTimeStamp(AddToTimeStamp(array("DD" => "-".$dateBack), mktime(0, 0, 0, date("n"), date("j"), date("Y"))), "SHORT"); } CAdminMessage::ShowNote($viewedMessage); CAdminMessage::ShowMessage($viewedError); $newFilter = array(); foreach($arFilter as $key => $value) { if($key == "DATE_FROM") { $newFilter['>=DATE_VISIT'] = $value; } elseif($key == "DATE_TO") { $newFilter['setSelect(array( "PRODUCT_ID", "DATE_VISIT", "SITE_ID", "VIEW_COUNT", "NAME" => "ELEMENT.NAME", "PRICE" => "PRODUCT.PRICE", "QUANTITY" => "PRODUCT.QUANTITY", "CURRENCY" => "PRODUCT.CURRENCY", "RATE" => "PRODUCT.CURRENT_CURRENCY_RATE", "CURRENCY_RATE" => "PRODUCT.CURRENT_CURRENCY_RATE_CNT" ))->setfilter($newFilter); $viewedIterator = $viewedQuery->exec(); } else $viewedIterator = new CDBResult(); $dbViewsList = new CAdminResult($viewedIterator, $sTableID_tab5); $dbViewsList->NavStart(); $lAdmin_tab5->NavText($dbViewsList->GetNavPrint(GetMessage('BUYER_PRODUCT_LIST'))); $viewedHeader = array( array("id"=>"DATE_VISIT", "content"=>GetMessage("BUYER_V_DATE_INSERT"), "sort"=>"DATE_VISIT", "default"=>true), array("id"=>"NAME","content"=>GetMessage("BUYER_V_NAME"), "sort"=>"NAME", "default"=>true), array("id"=>"PRICE", "content"=>GetMessage("BUYER_V_PRICE"), "sort"=>"PRICE", "default"=>true), array("id"=>"QUANTITY", "content"=>GetMessage("BUYER_V_QUANTITY"), "sort"=>"", "default"=>true), ); if (count($arSites) > 1) $viewedHeader[] = array("id"=>"SITE_ID", "content"=>GetMessage("BUYER_V_LID"), "sort"=>"SITE_ID", "default"=>true); $lAdmin_tab5->AddHeaders($viewedHeader); $arProductId = array(); $arCatalogProductId = array(); $arViewsData = array(); $mapViewByProduct = array(); $viewCount = 0; while ($arViews = $dbViewsList->Fetch()) { $arViewsData[$viewCount] = $arViews; $elementID = (int)$arViews["PRODUCT_ID"]; if (!isset($mapViewByProduct[$elementID])) $mapViewByProduct[$elementID] = array(); $mapViewByProduct[$elementID][] = $viewCount; $arProductId[$arViews["PRODUCT_ID"]] = $arViews["PRODUCT_ID"]; $arCatalogProductId[] = $arViews["PRODUCT_ID"]; $viewCount++; } unset($arViews, $dbViewsList, $viewCount); // Get product name if (!empty($arCatalogProductId)) { $elementIterator = CIblockElement::GetList( array(), array("ID" => $arCatalogProductId), false, false, array('ID', 'IBLOCK_ID', 'DETAIL_PAGE_URL') ); while($element = $elementIterator->GetNext()) { $elementID = (int)$element['ID']; if (isset($mapViewByProduct[$elementID]) && !empty($mapViewByProduct[$elementID])) { foreach ($mapViewByProduct[$elementID] as &$viewCount) { $arViewsData[$viewCount]['DETAIL_PAGE_URL'] = $element['~DETAIL_PAGE_URL']; } unset($viewCount); } } unset($element, $elementIterator); } // collect iblock info about all products in the static class member. Will be used in the CSaleProduct::GetProductSku if (!empty($arProductId)) CSaleProduct::GetProductListIblockInfo($arProductId); // Resort items by params if (!isset($_REQUEST["by"])) $arViewSort = array("DATE_VISIT" => SORT_DESC); else $arViewSort[$_REQUEST["by"]] = ($_REQUEST["order"] == "asc" ? SORT_ASC : SORT_DESC); Bitrix\Main\Type\Collection::sortByColumn($arViewsData, $arViewSort); foreach ($arViewsData as $arViews) { $row =& $lAdmin_tab5->AddRow($arViews["PRODUCT_ID"], $arViews, '', ''); $name = "[".$arViews["PRODUCT_ID"]."] ".$arViews["NAME"].""; if (floatVal($arViews["PRICE"]) <= 0) $name .= "
(".GetMessage('BUYER_DONT_CAN_BUY').")
"; $name .= ""; // get set items /** @var $productProvider IBXSaleProductProvider */ if ($productProvider = CSaleBasket::GetProductProvider($arViews)) { if (method_exists($productProvider, "GetSetItems")) { $arSets = $productProvider::GetSetItems($arViews["PRODUCT_ID"], CSaleBasket::TYPE_SET); if (!empty($arSets)) { $name .= "
".GetMessage("BUYER_F_SHOW_SET")."
"; $name .= "
"; foreach ($arSets as $arSetData) { foreach ($arSetData["ITEMS"] as $setItem) { $name .= "
[".$setItem["ITEM_ID"]."] ".$setItem["NAME"].""; } } $name .= "
"; } } } $row->AddField("NAME", $name); $QUANTITY = " "; if (isset($arViews["QUANTITY"])) $QUANTITY = $arViews["QUANTITY"]; $row->AddField("QUANTITY", $QUANTITY); $price = " "; if (floatval($arViews["PRICE"]) > 0) $price = SaleFormatCurrency($arViews["PRICE"], $arViews["CURRENCY"]); $row->AddField("PRICE", $price); if (count($arSites) > 1) $row->AddField("LID", "[".$arViews["LID"]."] ".htmlspecialcharsbx($arSites[$arViews["LID"]]["NAME"]).""); $arResult = CSaleProduct::GetProductSku($ID, $arViews['SITE_ID'], $arViews["PRODUCT_ID"], $arViews["NAME"]); $arResult["POPUP_MESSAGE"] = array( "PRODUCT_ADD_TO_ORDER" => GetMessage('BUYER_PD_ORDER'), "PRODUCT_ADD_TO_BASKET" => GetMessage('BUYER_PD_DELAY_N'), "PRODUCT_NOT_TO_ORDER" => GetMessage('BUYER_DONT_CAN_BUY'), "PRODUCT_PRICE_FROM" => GetMessage('BUYERS_FROM') ); if (count($arResult["SKU_ELEMENTS"]) > 0): $linkOrder = "showOfferPopup(".CUtil::PhpToJsObject($arResult['SKU_ELEMENTS']).", ".CUtil::PhpToJsObject($arResult['SKU_PROPERTIES']).", 'order', ".CUtil::PhpToJsObject($arResult["POPUP_MESSAGE"]).");"; $linkBasket = "showOfferPopup(".CUtil::PhpToJsObject($arResult['SKU_ELEMENTS']).", ".CUtil::PhpToJsObject($arResult['SKU_PROPERTIES']).", 'basket', ".CUtil::PhpToJsObject($arResult["POPUP_MESSAGE"]).");"; else: $linkOrder = 'BX.adminPanel.Redirect([], \'/bitrix/admin/sale_order_create.php?USER_ID='.$ID.'&lang='.LANG.'&SITE_ID='.$arViews["SITE_ID"].'&product['.$arViews["PRODUCT_ID"].']=1\', event);'; $linkBasket = 'fAddToBasketViewed('.$arViews["PRODUCT_ID"].', \''.$arViews["SITE_ID"].'\')'; endif; $arActions = array(); $arActions[] = array("ICON"=>"edit", "TEXT"=>GetMessage("BUYER_PD_ORDER"), "ACTION"=>$linkOrder, "DEFAULT"=>true); $arActions[] = array("ICON"=>"edit", "TEXT"=>GetMessage("BUYER_PD_DELAY_N"), "ACTION"=>$linkBasket); if (floatval($arViews["PRICE"]) > 0) $row->AddActions($arActions); } if($_REQUEST["table_id"]==$sTableID_tab5) $lAdmin_tab5->CheckListMode(); //END VIEWED require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_admin_after.php"); $siteLID = ""; $arSiteMenu = array(); $arSitesShop = array(); $arSitesTmp = array(); $rsSites = CSite::GetList($b="id", $o="asc", Array("ACTIVE" => "Y")); while ($arSite = $rsSites->Fetch()) { $site = COption::GetOptionString("sale", "SHOP_SITE_".$arSite["ID"], ""); if ($arSite["ID"] == $site) $arSitesShop[] = array("ID" => $arSite["ID"], "NAME" => $arSite["NAME"]); $arSitesTmp[] = array("ID" => $arSite["ID"], "NAME" => $arSite["NAME"]); } $rsCount = count($arSitesShop); if ($rsCount <= 0) { $arSitesShop = $arSitesTmp; $rsCount = count($arSitesShop); } if ($rsCount === 1) $siteLID = "&SITE_ID=".$arSitesShop[0]["ID"]."&user_id=".$ID; else { foreach ($arSitesShop as $key => $val) { $arSiteMenu[] = array( "TEXT" => $val["NAME"]." (".$val["ID"].")", "ACTION" => "window.location = 'sale_order_create.php?lang=".LANGUAGE_ID."&USER_ID=".$ID."&SITE_ID=".$val["ID"]."';" ); } } $arMenu = array( array( "TEXT"=>GetMessage("BUYER_LIST"), "LINK" => "/bitrix/admin/sale_buyers.php?lang=".LANGUAGE_ID.GetFilterParams("filter_"), "ICON" => "btn_list", ), array( "TEXT"=>GetMessage("BUYER_NEW_ORDER"), "LINK" => "/bitrix/admin/sale_order_create.php?lang=".LANGUAGE_ID.$siteLID, "TITLE"=>GetMessage("BUYER_NEW_ORDER"), "ICON" => "btn_new", "MENU" => $arSiteMenu ), ); $context = new CAdminContextMenu($arMenu); $context->Show(); $aTabs = array( array( "DIV" => "tab1", "TAB" => GetMessage("BUYER_INFO"), "ICON"=>"", "TITLE"=>GetMessage("BUYER_INFO_DESC"), ), array( "DIV" => "tab2", "TAB" => GetMessage("BUYER_PROFILE"), "ICON"=>"", "TITLE"=>GetMessage("BUYER_PROFILE_DESC"), ), array( "DIV" => "tab3", "TAB" => GetMessage("BUYER_ORDER"), "ICON"=>"", "TITLE"=>GetMessage("BUYER_ORDER_DESC"), ), array( "DIV" => "tab4", "TAB" => GetMessage("BUYER_BASKET"), "ICON"=>"", "TITLE"=>GetMessage("BUYER_BASKET_DESC"), ), array( "DIV" => "tab5", "TAB" => GetMessage("BUYER_LOOKED"), "ICON"=>"", "TITLE"=>GetMessage("BUYER_LOOKED_DESC"), ), ); $tabControl = new CAdminTabControl("tabControl", $aTabs, true, true); $tabControl->Begin(); ?>
BeginNextTab();?>

Fatal error: Uncaught Error: Call to undefined function GetMessage() in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\distr\admin\buyers_profile.php:1428 Stack trace: #0 {main} thrown in D:\ktt\ttepla.com\public_html\bitrix\modules\sale\distr\admin\buyers_profile.php on line 1428