Your IP : 3.20.236.245


Current Path : /home/bitrix/ext_www/dev.home-comfort.in.ua/bitrix/admin/
Upload File :
Current File : /home/bitrix/ext_www/dev.home-comfort.in.ua/bitrix/admin/offersgroup_getForm.php

<? require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_admin_before.php");

Bitrix\Main\Loader::includeModule('webprofy.offersgroup');
IncludeModuleLangFile(__FILE__);

use Webprofy\Offersgroup\Conflicts;
use Webprofy\Offersgroup\OffersGroupMain;
use Webprofy\Offersgroup\PropertiesMain;
use Webprofy\Offersgroup\RelationMain;

if (!$_POST) {
    return;
}

$arGroupFullInfo = array();
$groupID = $_POST['groupID'] ? intval($_POST['groupID']) : false;
$productID = $_POST['productID'] ? intval($_POST['productID']) : false;

$conflicts = false;

//Выбрать все значения из справочников
$arReference = RelationMain::getAllReference();
//Выбрать все значения по полученным справочникам
foreach ($arReference as $key => $item) {
    $arReference[$key]['DATA'] = RelationMain::getReferenceDataName($item['RELATION_BITRIX_ID']);
}


if ($groupID && $_POST['action'] && ($_POST['action'] == 'getExistsForm')) {
    //Получить цену и активность
    $arGroupFullInfo = OffersGroupMain::getGroupInfo($groupID);
    //Получить свойства и товары
    $arGroupFullInfo['PROPERTIES'] = OffersGroupMain::getPropertiesID($groupID);
    $arGroupFullInfo['PRODUCTS'] = PropertiesMain::getProductsByGroup($groupID);

    $arConflicts = Conflicts::isConflict($groupID, $arGroupFullInfo['PRODUCTS'], $arGroupFullInfo['PROPERTIES']);
    $arConflictsDeleted = Conflicts::isConflictsDeleted($arGroupFullInfo['PROPERTIES'], $arReference, true);
}

//Выбрать товары из связанного справочника
$allProducts = PropertiesMain::getProducts();

//Собрать форму
?>
    <form action="/bitrix/admin/offersgroup.php" name="offersgroup-form" id="offersgroup-form">

        <?
        //Если есть id группы, то заполним скрытое поле
        if ($groupID): ?>
            <h2>Торговая группа #<?= $groupID; ?></h2>
            <input type="hidden" name="groupID" value="<?= $groupID ?>">
        <? else: ?>
            <h2>Новая торговая группа</h2>
        <? endif; ?>

        <div class="form-table">
            <div class="reference-container form-table__row">
                <div class="reference-container__name form-table__cell form-table__padding ">Активность</div>
                <div class="reference-container__data form-table__cell form-table__padding ">
                    <input type="checkbox" name="active" <? if ($arGroupFullInfo['ACTIVE']): echo 'checked'; endif; ?>>
                </div>
            </div>

            <?
            //Если есть список товаров, то сформировать селект Товаров
            if ($allProducts): ?>
                <div class="reference-container form-table__row">
                    <div class="reference-container__name form-table__cell form-table__padding ">Товары</div>
                    <div class="reference-container__data form-table__cell form-table__padding ">
                        <select name="products[]" id="products" class="reference-container__select js-custom-select"
                                multiple="multiple" data-name="products">
                            <? foreach ($allProducts as $key => $item): ?>
                                <? $selected = '';
                                if ($arGroupFullInfo['PRODUCTS'] && in_array($key, $arGroupFullInfo['PRODUCTS'])
                                    || $_POST['products'] && in_array($key, $_POST['products'])
                                ) {
                                    $selected = 'data-option="selected" selected';
                                }
                                ?>
                                <option value="<?= $key ?>" <?= $selected; ?>>
                                    <?= $item ?>
                                </option>
                            <? endforeach; ?>
                        </select>
                    </div>
                </div>
            <? endif; ?>

            <?
            //Если есть справочники, то подключить их, отметив выбранные значения
            if ($arReference): ?>
                <? foreach ($arReference as $item): ?>
                    <div class="reference-container form-table__row">
                        <div
                            class="reference-container__name form-table__cell form-table__padding "><?= $item['RELATION_NAME'] ?></div>
                        <? if ($item['RELATION_CODE'] == 'SIZE'):
                            $arIndex = OffersGroupMain::getSizeIndex($item['DATA'],
                                $arGroupFullInfo['PROPERTIES'][$item['ID']]);
                            ?>
                            <div class="reference-container__data form-table__cell form-table__padding ">
                                <div class="reference-container__size form-table__row">
                                    <span class="reference-container__size-label form-table__cell">От</span>
                                    <select name="reference_<?= $item['ID'] ?>" data-name="<?=$item['RELATION_CODE']?>-min"
                                            id="reference_<?= $item['ID'] ?>"
                                            class="reference-container__select form-table__cell js-custom-select">
                                        <? if ($item['DATA']): ?>
                                            <?
                                            foreach ($item['DATA'] as $key => $value): ?>
                                                <? $option = '';
                                                if ($arIndex['min'] && $arIndex['min'] == $key) {
                                                    $option = 'data-option="selected" selected';
                                                    if (!empty($arConflicts)) {
                                                        foreach ($arConflicts as $groupID => $arConflict) {
                                                            if (in_array($key, $arConflict[$item['ID']])) {
                                                                $option .= ' data-conflict="true"';
                                                                break;
                                                            }
                                                        }
                                                    }
                                                } ?>
                                                <option value="<?= $key ?>" <?= $option; ?>><?= $value ?></option>
                                            <? endforeach; ?>
                                        <? endif; ?>
                                        <?if($arConflictsDeleted[$item['ID']]):?>
                                            <?foreach ($arConflictsDeleted[$item['ID']] as $deleted):?>
                                                <option value="<?= $deleted ?>" data-option="selected" data-conflict="true">Удаленное свойство</option>
                                            <?endforeach;?>
                                        <?endif;?>
                                    </select>

                                    <span class="form-table__cell  reference-container__size-label">До</span>
                                    <select name="reference_<?= $item['ID'] ?>" data-name="<?=$item['RELATION_CODE']?>-max"
                                            id="reference_<?= $item['ID'] ?>"
                                            class="reference-container__select form-table__cell js-custom-select">
                                        <? if ($item['DATA']): ?>
                                            <?
                                            foreach ($item['DATA'] as $key => $value): ?>
                                                <? $option = '';
                                                if ($arIndex['max'] && $arIndex['max'] == $key) {
                                                    $option = 'data-option="selected" selected';

                                                    if (!empty($arConflicts)) {
                                                        foreach ($arConflicts as $groupID => $arConflict) {
                                                            if (in_array($key, $arConflict[$item['ID']])) {
                                                                $option .= ' data-conflict="true"';
                                                                break;
                                                            }
                                                        }
                                                    }
                                                } ?>
                                                <option value="<?= $key ?>" <?= $option; ?>><?= $value ?></option>
                                            <? endforeach; ?>
                                        <? endif; ?>
                                        <?if($arConflictsDeleted[$item['ID']]):?>
                                            <?foreach ($arConflictsDeleted[$item['ID']] as $deleted):?>
                                                <option value="<?= $deleted ?>" data-option="selected" data-conflict="true">Удаленное свойство</option>
                                            <?endforeach;?>
                                        <?endif;?>
                                    </select>
                                </div>
                            </div>
                        <? else: ?>
                            <div class="reference-container__data form-table__cell form-table__padding ">
                                <select name="reference_<?= $item['ID'] ?>[]" data-name="<?=$item['RELATION_CODE']?>"
                                        id="reference_<?= $item['ID'] ?>"
                                        multiple="multiple" class="reference-container__select js-custom-select">
                                    <? if ($item['DATA']): ?>
                                        <? foreach ($item['DATA'] as $key => $value): ?>
                                            <? $option = '';
                                            if ($arGroupFullInfo['PROPERTIES'][$item['ID']] &&
                                                in_array($key, $arGroupFullInfo['PROPERTIES'][$item['ID']])) {
                                                $option = 'data-option="selected" selected';

                                                if (!empty($arConflicts)) {
                                                    foreach ($arConflicts as $groupID => $arConflict) {
                                                        if (in_array($key, $arConflict[$item['ID']])) {
                                                            $option .= ' data-conflict="true"';
                                                            break;
                                                        }
                                                    }
                                                }
                                            }
                                            ?>
                                            <option value="<?= $key ?>" <?= $option; ?>><?= $value ?></option>
                                        <? endforeach; ?>
                                    <? endif; ?>
                                    <?if($arConflictsDeleted[$item['ID']]):?>
                                        <?foreach ($arConflictsDeleted[$item['ID']] as $deleted):?>
                                            <option value="<?= $deleted ?>" data-option="selected" selected  data-conflict="true">Удаленное свойство</option>
                                        <?endforeach;?>
                                    <?endif;?>
                                </select>
                            </div>
                        <? endif; ?>
                    </div>
                <? endforeach; ?>
            <? endif; ?>
            <div class="reference-container form-table__row">
                <div class="reference-container__name form-table__cell form-table__padding ">Цена</div>
                <div class="reference-container__data form-table__cell form-table__padding ">
                    <input type="text" name="PRICE" value="<?= $arGroupFullInfo['PRICE'] ?>"
                           class="reference-container__data-price">
                    <a href="#" class="offers-group__button button-red" data-action="set-price" <? if ($arConflicts) {
                        echo 'disabled="disabled"';
                    } ?>>Установить</a>
                </div>
            </div>
        </div>

        <div class="offers-group__button-container">
            <a href="#" class="offers-group__button button-green" data-action="save-group">Сохранить группу</a>
            <? if ($groupID): ?>
                <a href="#" class="offers-group__button button-green" data-action="save-new-group">Сохранить группу
                    как
                    новую</a>
                <a href="#" class="offers-group__button button-red" data-action="delete-group">Удалить группу</a>
            <? endif; ?>
        </div>
    </form>
<?
return;