<?php if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) { die; } if (is_array($arResult["HISTORY"]) && !empty($arResult["HISTORY"])) { $arExcludedFields = array("ID", "H_USER_ID", "H_DATE_INSERT", "H_CURRENCY", "H_ORDER_ID", "EMP_CANCELED_ID", "EMP_STATUS_ID", "EMP_ALLOW_DELIVERY_ID", "STATUS_ID", "PAYED", "ALLOW_DELIVERY", "CANCELED", "PRICE", "STAT_GID", "RECOUNT_FLAG", "DELIVERY_ID"); $mad = new CAdminMobileDetail(); foreach ($arResult["HISTORY"] as $arItemHistory) { $stmp = MakeTimeStamp($arItemHistory["H_DATE_INSERT"], "DD.MM.YYYY HH:MI:SS"); $dateInsert = date("d.m.Y", $stmp) . ' <div class="time_icon">' . date("H:i", $stmp) . '</div>'; $arSection = array("TITLE" => $dateInsert, "ROWS" => array(array("TITLE" => GetMessage("SMOH_USER") . ":", "VALUE" => $arItemHistory['USER']['LOGIN']), array("TITLE" => GetMessage("SMOH_FIO") . ":", "VALUE" => $arItemHistory['USER']['NAME'] . " " . $arItemHistory['USER']['LAST_NAME']))); foreach ($arItemHistory as $key => $value) { if (is_array($value) || strlen($value) <= 0) { continue; } switch ($key) { case "PAYED": $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOH_PAYED") . ":", "VALUE" => $arItemHistory['PAYED'] == 'Y' ? GetMessage("SMOH_YES") : GetMessage("SMOH_NO")); continue 2; case "ALLOW_DELIVERY": $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOH_ALLOW_DELIVERY") . ":", "VALUE" => $arItemHistory['ALLOW_DELIVERY'] == 'Y' ? GetMessage("SMOH_YES") : GetMessage("SMOH_NO")); continue 2; case "CANCELED": $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOH_CANCELED") . ":", "VALUE" => $arItemHistory['CANCELED'] == 'Y' ? GetMessage("SMOH_YES") : GetMessage("SMOH_NO")); continue 2; case "STATUS_ID": $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOH_STATUS_ID") . ":", "VALUE" => $arResult["STATUSES"][$arItemHistory['STATUS_ID']]); continue 2; case "PRICE": $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOH_PRICE") . ":", "VALUE" => SaleFormatCurrency($arItemHistory["PRICE"], $arItemHistory["H_CURRENCY"]));
function makeDetailClassFromOrder($arOrder) { $saleModulePermissions = $GLOBALS["APPLICATION"]->GetGroupRight("sale"); $mad = new CAdminMobileDetail(); $arSection = array("TITLE" => GetMessage("SMOB_ORDER_INFO"), "OPEN" => true, "ROWS" => array(array("TITLE" => GetMessage("SMOB_CREATED") . ":", "VALUE" => self::getDateTime($arOrder['DATE_INSERT'])), array("TITLE" => GetMessage("SMOB_CHANGED") . ":", "VALUE" => self::getDateTime($arOrder['DATE_UPDATE'])), array("TITLE" => GetMessage("SMOB_STATUS") . ":", "VALUE" => $arOrder['STATUS_NAME']))); $dateCChanged = false; if (strlen($arOrder["DATE_CANCELED"]) > 0) { $dateCChanged = self::getDateTime($arOrder["DATE_CANCELED"]); } if (IntVal($arOrder["EMP_CANCELED_ID"]) > 0) { $dateCChanged .= " " . self::GetFormatedUserName($arOrder["EMP_CANCELED_ID"]); } if ($arOrder['CANCELED'] == 'Y') { $arSection["BOTTOM"] = array("STYLE" => "red", "VALUE" => GetMessage("SMOB_ORDER_CANCELED")); } if ($arOrder['CANCELED'] == 'N' && IntVal($arOrder["EMP_CANCELED_ID"]) > 0) { $arSection["BOTTOM"] = array("STYLE" => "green", "VALUE" => GetMessage("SMOB_ORDER_CANCEL_CANCELED")); } if ($dateCChanged) { $arSection["BOTTOM"]["VALUE"] .= "<br>" . $dateCChanged; } $mad->addSection($arSection); $arSection = array("TITLE" => GetMessage("SMOB_BUYER"), "ROWS" => array(array("TITLE" => GetMessage("SMOB_LOGIN") . ":", "VALUE" => $arOrder['USER_LOGIN']), array("TITLE" => GetMessage("SMOB_PAYER_TYPE") . ":", "VALUE" => $arOrder['PERSON_TYPE_NAME']), array("TITLE" => GetMessage("SMOB_FIO") . ":", "VALUE" => $arOrder['CUSTOMER_FIO']), array("TITLE" => GetMessage("SMOB_EMAIL") . ":", "VALUE" => '<a href="mailto:' . $arOrder['CUSTOMER_EMAIL'] . '">' . $arOrder['CUSTOMER_EMAIL'] . '</a>'), array("TITLE" => GetMessage("SMOB_PHONE") . ":", "VALUE" => '<a href="tel:' . $arOrder['CUSTOMER_PHONE'] . '">' . $arOrder['CUSTOMER_PHONE'] . '</a>'), array("TITLE" => GetMessage("SMOB_ZIP") . ":", "VALUE" => $arOrder['CUSTOMER_ZIP']), array("TITLE" => GetMessage("SMOB_LOCATION") . ":", "VALUE" => $arOrder['CUSTOMER_LOCATION']))); if (strlen(trim($arOrder['CUSTOMER_CITY'])) > 0) { $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_CITY") . ":", "VALUE" => $arOrder['CUSTOMER_CITY']); } $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_ADDRESS") . ":", "VALUE" => $arOrder['CUSTOMER_ADDRESS']); $mad->addSection($arSection); $dateDChange = false; if (strlen($arOrder["DATE_ALLOW_DELIVERY"]) > 0) { $dateDChange = self::getDateTime($arOrder["DATE_ALLOW_DELIVERY"]); } if (IntVal($arOrder["EMP_ALLOW_DELIVERY_ID"]) > 0) { $dateDChange .= " " . self::GetFormatedUserName($arOrder["EMP_ALLOW_DELIVERY_ID"]); } $arSection = array("TITLE" => GetMessage("SMOB_DELIVERY"), "ROWS" => array(array("TITLE" => GetMessage("SMOB_D_SERVICE") . ":", "VALUE" => $arOrder['DELIVERY_NAME']))); if ($arOrder['ALLOW_DELIVERY'] == 'Y') { $arSection["BOTTOM"] = array("STYLE" => "green", "VALUE" => GetMessage("SMOB_D_ALLOWED")); } if ($arOrder['ALLOW_DELIVERY'] == 'N' && !is_null($arOrder["DATE_ALLOW_DELIVERY"])) { $arSection["BOTTOM"] = array("STYLE" => "red", "VALUE" => GetMessage("SMOB_D_DISALLOWED")); } if ($dateDChange) { $arSection["BOTTOM"]["VALUE"] .= "<br>" . $dateDChange; } $mad->addSection($arSection); $arSection = array("TITLE" => GetMessage("SMOB_PAYMENT"), "ROWS" => array(array("TITLE" => GetMessage("SMOB_P_METHOD") . ":", "VALUE" => $arOrder['PAY_SYSTEM_NAME']), array("TITLE" => GetMessage("SMOB_P_PRICE") . ":", "VALUE" => $arOrder['PRICE_STR']))); $datePChange = false; if (strlen($arOrder['DATE_PAYED']) > 0) { $datePChange = self::getDateTime($arOrder['DATE_PAYED']); } if (IntVal($arOrder["EMP_PAYED_ID"]) > 0) { $datePChange .= " " . self::GetFormatedUserName($arOrder["EMP_PAYED_ID"]); } if ($arOrder['PAYED'] == 'Y') { $arSection["BOTTOM"] = array("STYLE" => "green", "VALUE" => GetMessage("SMOB_PAYED")); } if ($arOrder['PAYED'] == 'N' && !is_null($arOrder['DATE_PAYED'])) { $arSection["BOTTOM"] = array("STYLE" => "red", "VALUE" => GetMessage("SMOB_PAY_CANCELED")); } if ($datePChange) { $arSection["BOTTOM"]["VALUE"] .= "<br>" . $datePChange; } $mad->addSection($arSection); $arSection = array("TITLE" => GetMessage("SMOB_COMMENTS"), "ROWS" => array(array("TITLE" => GetMessage("SMOB_C_BUYER") . ":", "VALUE" => $arOrder['USER_DESCRIPTION']))); if ($saleModulePermissions > D) { $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_C_MANAGER") . ":", "VALUE" => $arOrder['COMMENTS']); } $mad->addSection($arSection); if ($arOrder['MARKED'] == 'Y') { $arSection = array("TITLE" => GetMessage("SMOB_MARK"), "OPEN" => true); $reason = strlen($arOrder["REASON_MARKED"]) > 0 ? $arOrder["REASON_MARKED"] : GetMessage("SMOB_MARK_NO_DESCRIPTION"); if (strlen($arOrder['DATE_MARKED']) > 0) { $reason .= '<br>' . self::getDateTime($arOrder['DATE_MARKED']); } if (intval($arOrder['EMP_MARKED_ID']) > 0) { $reason .= " (" . self::GetFormatedUserName($arOrder["EMP_MARKED_ID"]) . ")"; } $arSection["BOTTOM"] = array("STYLE" => "red", "VALUE" => $reason); $mad->addSection($arSection); } $arSection = array("TITLE" => GetMessage("SMOB_DEDUCT")); if ($arOrder['DEDUCTED'] == 'Y') { $arSection["BOTTOM"] = array("STYLE" => "green", "VALUE" => GetMessage("SMOB_ORDER_DEDUCTED")); } elseif ($arOrder['DEDUCTED'] == 'N' && strlen($arOrder["DATE_DEDUCTED"]) > 0) { $arSection["BOTTOM"] = array("STYLE" => "red", "VALUE" => GetMessage("SMOB_ORDER_DEDUCTED_UNDO")); } else { $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_ORDER_NOT_DEDUCTED"), "VALUE" => ""); } if (strlen($arOrder["REASON_UNDO_DEDUCTED"]) > 0) { $arSection["BOTTOM"]["VALUE"] .= '<br>' . $arOrder["REASON_UNDO_DEDUCTED"]; } if (strlen($arOrder["DATE_DEDUCTED"]) > 0) { $arSection["BOTTOM"]["VALUE"] .= '<br>' . self::getDateTime($arOrder["DATE_DEDUCTED"]); } if (intval($arOrder['EMP_DEDUCTED_ID']) > 0) { $arSection["BOTTOM"]["VALUE"] .= " (" . self::GetFormatedUserName($arOrder["EMP_DEDUCTED_ID"]) . ")"; } $mad->addSection($arSection); ob_start(); $productListReturn = $GLOBALS["APPLICATION"]->IncludeComponent('bitrix:sale.mobile.product.list', '.default', array("ORDER_ID" => $arOrder['ID']), false); $productListHtml = ob_get_contents(); ob_end_clean(); $mad->addSection(array("TITLE" => GetMessage("SMOB_PRODUCT_LIST"), "TYPE" => "container", "HTML" => $productListHtml)); $WEIGHT_UNIT = htmlspecialcharsbx(COption::GetOptionString('sale', 'weight_unit', "", $arOrder['LID'])); $WEIGHT_KOEF = htmlspecialcharsbx(COption::GetOptionString('sale', 'weight_koef', 1, $arOrder['LID'])); $arSection = array("TITLE" => GetMessage("SMOB_TOTAL"), "TOTAL" => true, "ROWS" => array(array("TITLE" => GetMessage("SMOB_PRICE_ALL") . ":", "VALUE" => SaleFormatCurrency($productListReturn['PRICE_TOTAL'], $arOrder["CURRENCY"])), array("TITLE" => GetMessage("SMOB_P_DELIVERY") . ":", "VALUE" => SaleFormatCurrency($productListReturn['PRICE'], $arOrder["CURRENCY"])), array("TITLE" => GetMessage("SMOB_DELIVERY") . ":", "VALUE" => SaleFormatCurrency($arOrder['PRICE_DELIVERY'], $arOrder["CURRENCY"])))); if ($arOrder['TAX_VALUE'] > 0) { $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_TAX") . ":", "VALUE" => SaleFormatCurrency($arOrder['TAX_VALUE'], $arOrder["CURRENCY"])); } if ($arOrder['DISCOUNT_VALUE'] > 0) { $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_DISCOUNT") . ":", "VALUE" => SaleFormatCurrency($arOrder['DISCOUNT_VALUE'], $arOrder["CURRENCY"])); } $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_WEIGHT") . ":", "VALUE" => roundEx(DoubleVal($productListReturn['WEIGHT'] / $WEIGHT_KOEF), SALE_WEIGHT_PRECISION) . " " . $WEIGHT_UNIT); $arSection["ROWS"][] = array("TITLE" => GetMessage("SMOB_TOTALLY") . ":", "VALUE" => SaleFormatCurrency($arOrder['PRICE'], $arOrder["CURRENCY"]), "HIGLIGHTED" => true); $mad->addSection($arSection); /* alternative: $arDetail = $mad->getItem(); return CAdminMobileDetailTmpl::getHtml($arDetail); */ return $mad->getHtml(); }