protected static function getDeliveryChildrenList()
 {
     static $result = null;
     if ($result === null) {
         $result = array();
         foreach (Delivery\Services\Manager::getActiveList() as $dlvId => $dlvParams) {
             $parentId = intval($dlvParams["PARENT_ID"]);
             if (!isset($result[$parentId])) {
                 $result[$parentId] = array();
             }
             $result[$parentId][] = $dlvId;
         }
     }
     return $result;
 }
Exemplo n.º 2
0
    $propertySettings += $locationSettings;
    if ($property['IS_LOCATION'] != 'Y' || $property['MULTIPLE'] == 'Y') {
        // TODO
        unset($propertySettings['INPUT_FIELD_LOCATION']);
    }
}
// RELATION SETTINGS ///////////////////////////////////////////////////////////////////////////////////////////////////
// payment system options
$paymentOptions = array();
$result = CSalePaySystem::GetList(array("SORT" => "ASC", "NAME" => "ASC"), array("ACTIVE" => "Y"), false, false, array("ID", "NAME", "ACTIVE", "SORT", "LID"));
while ($row = $result->Fetch()) {
    $paymentOptions[$row['ID']] = $row['NAME'] . ($row['LID'] ? " ({$row['LID']}) " : ' ') . "[{$row['ID']}]";
}
// delivery system options
$deliveryOptions = array();
foreach (\Bitrix\Sale\Delivery\Services\Manager::getActiveList(true) as $deliveryId => $deliveryFields) {
    $name = $deliveryFields["NAME"] . " [" . $deliveryId . "]";
    $sites = \Bitrix\Sale\Delivery\Restrictions\Manager::getSitesByServiceId($deliveryId);
    if (!empty($sites)) {
        $name .= " (" . implode(", ", $sites) . ")";
    }
    $deliveryOptions[$deliveryId] = $name;
}
$relationsSettings = array('P' => array('TYPE' => 'ENUM', 'LABEL' => Loc::getMessage('SALE_PROPERTY_PAYSYSTEM'), 'OPTIONS' => $paymentOptions, 'MULTIPLE' => 'Y', 'SIZE' => '5'), 'D' => array('TYPE' => 'ENUM', 'LABEL' => Loc::getMessage('SALE_PROPERTY_DELIVERY'), 'OPTIONS' => $deliveryOptions, 'MULTIPLE' => 'Y', 'SIZE' => '5'));
// VALIDATE AND SAVE POST //////////////////////////////////////////////////////////////////////////////////////////////
if ($_SERVER['REQUEST_METHOD'] == 'POST' && (isset($_POST["apply"]) || isset($_POST["save"])) && bitrix_sessid()) {
    // validate property
    foreach ($propertySettings as $name => $input) {
        if ($error = Input\Manager::getError($input, $property[$name])) {
            if ($input['MULTIPLE'] && $input['MULTIPLE'] == 'Y') {
                $errorString = '';
Exemplo n.º 3
0
 $arUGroupsEx = array();
 $dbUGroups = CGroup::GetList($by = "c_sort", $order = "asc");
 while ($arUGroups = $dbUGroups->Fetch()) {
     $arUGroupsEx[$arUGroups["ID"]] = $arUGroups["NAME"];
 }
 $arPaySystems = array("" => GetMessage("SALE_1C_NO"));
 $dbPaySystems = CSalePaySystem::GetList(array("SORT" => "ASC"), array("ACTIVE" => "Y"), false, false, array("ID", "NAME"));
 $arPaySystemsWithoutInner = array("" => GetMessage("SALE_1C_NO"));
 while ($arPaySystem = $dbPaySystems->Fetch()) {
     $arPaySystems[$arPaySystem["ID"]] = "[" . $arPaySystem["ID"] . "] " . $arPaySystem["NAME"];
     if ($arPaySystem["ID"] != Bitrix\Sale\PaySystem\Manager::getInnerPaySystemId()) {
         $arPaySystemsWithoutInner[$arPaySystem["ID"]] = "[" . $arPaySystem["ID"] . "] " . $arPaySystem["NAME"];
     }
 }
 $shipmentServices = array("" => GetMessage("SALE_1C_NO"));
 $deliveryList = \Bitrix\Sale\Delivery\Services\Manager::getActiveList();
 foreach ($deliveryList as $shipmentService) {
     $shipmentServices[$shipmentService["ID"]] = "[" . $shipmentService["ID"] . "] " . $shipmentService["NAME"];
 }
 $arAllOptions = array(array("1C_SALE_SITE_LIST", GetMessage("SALE_1C_SITE_LIST"), "", array("list", $arSites)), array("1C_IMPORT_NEW_ORDERS", GetMessage("SALE_1C_IMPORT_NEW_ORDERS"), "N", array("checkbox")), array("1C_SITE_NEW_ORDERS", GetMessage("SALE_1C_SITE_NEW_ORDERS"), "s1", array("list", $arSites)), array("1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX", GetMessage("SALE_1C_SALE_ACCOUNT_NUMBER_SHOP_PREFIX"), "", array("text")), array("1C_EXPORT_PAYED_ORDERS", GetMessage("SALE_1C_EXPORT_PAYED_ORDERS"), "", array("checkbox")), array("1C_EXPORT_ALLOW_DELIVERY_ORDERS", GetMessage("SALE_1C_EXPORT_ALLOW_DELIVERY_ORDERS"), "", array("checkbox")), array("1C_CHANGE_STATUS_FROM_1C", GetMessage("SALE_1C_CHANGE_STATUS_FROM_1C"), "", array("checkbox")), array("1C_EXPORT_FINAL_ORDERS", GetMessage("SALE_1C_EXPORT_FINAL_ORDERS"), "", array("list", $arStatuses)), array("1C_FINAL_STATUS_ON_DELIVERY", GetMessage("SALE_1C_FINAL_STATUS_ON_DELIVERY"), "F", array("list", $arStatuses)), array("1C_REPLACE_CURRENCY", GetMessage("SALE_1C_REPLACE_CURRENCY"), GetMessage("SALE_1C_RUB"), array("text")), array("1C_IMPORT_DEFAULT_PS", GetMessage("SALE_1C_IMPORT_DEFAULT_PS_C"), "", array("list", $arPaySystems)), array("1C_IMPORT_DEFAULT_PS_B", GetMessage("SALE_1C_IMPORT_DEFAULT_PS_B"), "", array("list", $arPaySystems)), array("1C_IMPORT_DEFAULT_PS_A", GetMessage("SALE_1C_IMPORT_DEFAULT_PS_A"), "", array("list", $arPaySystems)), array("1C_IMPORT_DEFAULT_PS_ORDER_PAID", GetMessage("SALE_1C_IMPORT_DEFAULT_PS_ORDER_PAID"), "", array("list", $arPaySystemsWithoutInner)), array("1C_IMPORT_DEFAULT_SHIPMENT_SERVICE", GetMessage("SALE_1C_IMPORT_DEFAULT_SHIPMENT_SERVICE"), "", array("list", $shipmentServices)), array("1C_IMPORT_UPDATE_BASKET_QUANTITY", GetMessage("SALE_1C_IMPORT_UPDATE_BASKET_QUANTITY"), "", array("checkbox")), array("1C_IMPORT_NEW_PAYMENT", GetMessage("SALE_1C_IMPORT_NEW_PAYMENT"), "", array("checkbox")), array("1C_IMPORT_NEW_SHIPMENT", GetMessage("SALE_1C_IMPORT_NEW_SHIPMENT"), "", array("checkbox")), array("1C_IMPORT_NEW_ORDER_NEW_SHIPMENT", GetMessage("SALE_1C_IMPORT_NEW_ORDER_NEW_SHIPMENT"), "", array("checkbox")), array("1C_SALE_GROUP_PERMISSIONS", GetMessage("SALE_1C_GROUP_PERMISSIONS"), "1", array("mlist", 5, $arUGroupsEx)), array("1C_SALE_USE_ZIP", GetMessage("SALE_1C_USE_ZIP"), "Y", array("checkbox")), array("1C_INTERVAL", GetMessage("SALE_1C_INTERVAL"), 30, array("text", 20)), array("1C_FILE_SIZE_LIMIT", GetMessage("SALE_1C_FILE_SIZE_LIMIT"), 200 * 1024, array("text", 20)));
 if ($REQUEST_METHOD == "POST" && strlen($Update) > 0 && $CAT_RIGHT >= "W" && check_bitrix_sessid()) {
     $allOptionCount = count($arAllOptions);
     for ($i = 0; $i < $allOptionCount; $i++) {
         $name = $arAllOptions[$i][0];
         $val = $_REQUEST[$name];
         if ($arAllOptions[$i][3][0] == "checkbox" && $val != "Y") {
             $val = "N";
         }
         if ($arAllOptions[$i][3][0] == "mlist" && is_array($val)) {
             $val = implode(",", $val);
         }