Your IP : 216.73.216.86


Current Path : /var/www/homesaver/www/bitrix/
Upload File :
Current File : /var/www/homesaver/www/bitrix/options.php

<h1>Настройка модуля OFD.Ferma</h1>

<?
$module_id = 'ofdferma';
CModule::IncludeModule($module_id);

/**
 * @global CUser $USER
 * @global CMain $APPLICATION
 **/
$canRead = $USER->CanDoOperation('ofdferma_module_settings_read');
$canWrite = $USER->CanDoOperation('ofdferma_module_settings_write');
if ($canRead || $canWrite) :

    IncludeModuleLangFile($_SERVER['DOCUMENT_ROOT'] . BX_ROOT . '/modules/main/options.php');
    IncludeModuleLangFile(__FILE__);

    $arTaxationValues = [
        'Common' => 'Общая система налогообложения',
        'SimpleIn' => 'Упрощенная система налогообложения (доход)',
        'SimpleInOut' => 'Упрощенная система налогообложения (доход минус расход)',
        'Unified' => 'Единый налог на вмененный доход',
        'UnifiedAgricultural' => 'Сельскохозяйственный налог',
        'Patent' => 'Патентная система налогообложения',
    ];

    $arTaxationOptions = [
        'REFERENCE' => array_values($arTaxationValues),
        'REFERENCE_ID' => array_keys($arTaxationValues),
    ];

    $arPaymentMethodValues = [
        '1' => 'Предоплата 100%',
        '2' => 'Предоплата',
        '3' => 'Аванс',
        '4' => 'Полный расчет',
        '5' => 'Частичный расчет',
        '6' => 'Передача в кредит',
        '7' => 'Оплата в кредит',
    ];

    $arPaymentMethodOptions = [
        'REFERENCE' => array_values($arPaymentMethodValues),
        'REFERENCE_ID' => array_keys($arPaymentMethodValues),
    ];

    $arPaymentVatValues = [];

    foreach (CVatCollection::$collection as $k => $v) {
        $arPaymentVatValues[$v['code']] = $v['name'];
    }

    $arPaymentVatOptions = [
        'REFERENCE' => array_values($arPaymentVatValues),
        'REFERENCE_ID' => array_keys($arPaymentVatValues),
    ];

    $arPaymentVatValues = [
        'Include' => 'Включить в чек',
        'Exclude' => 'Не добавлять в чек',
    ];

    $arPaymentDeliveryOptions = [
        'REFERENCE' => array_values($arPaymentVatValues),
        'REFERENCE_ID' => array_keys($arPaymentVatValues),
    ];

    $arAllOptions = [
        ['', 'Настройки api', ['heading']],
        ['ofdferma_api_host', 'URL api', ['text', 25]],
        ['ofdferma_api_login', 'Логин для фермы', ['text', 25]],
        ['ofdferma_api_password', 'Пароль для фермы', ['password', 25]],
        ['', 'Настройки компании', ['heading']],
        ['ofdferma_agent_inn', 'ИНН компании', ['text', 15]],
        ['ofdferma_agent_taxation_system', 'Система налогооблажения', ['selectbox', $arTaxationOptions]],
        [
            'ofdferma_agent_auto_create', 'Автоматически отправлять чек при изменении статуса оплаты заказа',
            ['checkbox', 'Y'],
        ],
        ['', 'Настройки оплаты', ['heading']],
        ['ofdferma_payment_default_method', 'Способ расчёта по-умолчанию', ['selectbox', $arPaymentMethodOptions, '4']],
        ['ofdferma_payment_default_vat', 'Ставка НДС по-умолчанию', ['selectbox', $arPaymentVatOptions, 'VatNo']],
        ['ofdferma_payment_delivery', 'Доставка в чеке', ['selectbox', $arPaymentDeliveryOptions, 'Include']],
        ['', 'Настройки уведомлений', ['heading']],
        ['ofdferma_errors_email', 'Email для отчётов об ошибках', ['text', 25]],
    ];

    $aTabs = [
        [
            'DIV' => 'edit1',
            'TAB' => 'Настройки',
            'ICON' => 'security_settings',
            'TITLE' => 'Настройка модуля OFD.Ferma',
        ],
    ];

    $tabControl = new CAdminTabControl('tabControl', $aTabs);

    if ($_SERVER['REQUEST_METHOD'] === 'POST'
        && $_REQUEST['Update'] . $_REQUEST['Apply'] . $_REQUEST['RestoreDefaults'] !== ''
        && $canWrite && check_bitrix_sessid()) {

        if ($_REQUEST['RestoreDefaults'] != '') {
            COption::RemoveOption($module_id);
        } else {
            foreach ($arAllOptions as $arOption) {
                $name = $arOption[0];
                $val = trim($_REQUEST[$name], " \t\n\r");

                $type = $arOption[2][0];
                if ($type === 'heading') {
                    continue;
                }

                if ($type === 'checkbox' && $val !== 'Y') {
                    $val = 'N';
                }

                COption::SetOptionString($module_id, $name, $val, $arOption[1]);
            }
        }

        if ($_REQUEST['back_url_settings'] !== '') {
            if ($_REQUEST['Update'] !== '') {
                LocalRedirect($_REQUEST['back_url_settings']);
            }

            $returnUrl = $_GET['return_url'] ? urlencode($_GET['return_url']) : '';
            LocalRedirect($APPLICATION->GetCurPage() . '?mid=' . urlencode($module_id) . '&lang=' . urlencode(LANGUAGE_ID) . '&back_url_settings=' . $returnUrl . '&' . $tabControl->ActiveTabParam());
        } else {
            LocalRedirect($APPLICATION->GetCurPage() . '?mid=' . urlencode($module_id) . '&lang=' . urlencode(LANGUAGE_ID) . '&' . $tabControl->ActiveTabParam());
        }
    }

    $message = CSecurityIPRule::CheckAntiFile(true);
    if ($message) {
        echo $message->Show();
    }

    $availableMessagePlaceholders = CSecurityEventMessageFormatter::getAvailableMessagePlaceholders();
    $availableUserInfoPlaceholders = CSecurityEventMessageFormatter::getAvailableUserInfoPlaceholders();
    ?>
    <form method="post" action="<? echo $APPLICATION->GetCurPage() ?>?mid=<?= urlencode($module_id) ?>&amp;lang=<?= LANGUAGE_ID ?>">
        <?php
        $tabControl->Begin();
        $tabControl->BeginNextTab();

        foreach ($arAllOptions as $arOption):
            $type = $arOption[2];
            $note = $arOption[3] ?: null; ?>
            <? if ($type[0] == 'heading'): ?>
            <tr class="heading">
                <td colspan="2"><b><? echo $arOption[1] ?></b></td>
            </tr>
        <? else: ?>
            <tr>
                <td width="40%">
                    <label for="<?= htmlspecialcharsbx($arOption[0]) ?>"><?= $arOption[1] ?>
                        <? if ($note !== null): ?>
                            <span class="required"><sup><?= $note ?></sup></span>
                        <? endif; ?>
                        :</label>

                </td>
                <td width="60%">
                    <? if ($type[0] == 'checkbox'): ?>
                        <?
                        $val = COption::GetOptionString($module_id, $arOption[0], isset($type[1]) ? $type[1] : 'N');
                        ?>
                        <input type="checkbox" name="<? echo htmlspecialcharsbx($arOption[0]) ?>" id="<? echo htmlspecialcharsbx($arOption[0]) ?>" value="Y"<? if ($val == 'Y') {
                            echo ' checked';
                        } ?>>
                    <? elseif ($type[0] == 'text'): ?>
                      <? $val = COption::GetOptionString($module_id, $arOption[0]); ?>
                      <input type="text" size="<? echo $type[1] ?>" maxlength="255" value="<? echo htmlspecialcharsbx($val) ?>" name="<? echo htmlspecialcharsbx($arOption[0]) ?>" id="<? echo htmlspecialcharsbx($arOption[0]) ?>">
                    <? elseif ($type[0] == 'password'): ?>
                        <? $val = COption::GetOptionString($module_id, $arOption[0]); ?>
                      <input type="password" size="<? echo $type[1] ?>" maxlength="255" value="<? echo htmlspecialcharsbx($val) ?>" name="<? echo htmlspecialcharsbx($arOption[0]) ?>" id="<? echo htmlspecialcharsbx($arOption[0]) ?>">
                    <? elseif ($type[0] == 'textarea'): ?>
                        <? $val = COption::GetOptionString($module_id, $arOption[0]); ?>
                      <textarea rows="<? echo $type[1] ?>" cols="<? echo $type[2] ?>" name="<? echo htmlspecialcharsbx($arOption[0]) ?>" id="<? echo htmlspecialcharsbx($arOption[0]) ?>"><? echo htmlspecialcharsbx($val) ?></textarea>
                    <? elseif ($type[0] == 'selectbox'):
                        $val = COption::GetOptionString($module_id, $arOption[0], isset($type[2]) ? $type[2] : '');
                        echo SelectBoxFromArray($arOption[0], $type[1], $val);
                    endif ?>
                </td>
            </tr>
        <? endif; ?>
        <? endforeach ?>

        <?
        $tabControl->Buttons(); ?>
        <input <? if (!$canWrite) echo 'disabled' ?> type="submit" name="Update" value="<?= GetMessage('MAIN_SAVE') ?>" title="<?= GetMessage('MAIN_OPT_SAVE_TITLE') ?>">
        <input <? if (!$canWrite) echo 'disabled' ?> type="submit" name="Apply" value="<?= GetMessage('MAIN_OPT_APPLY') ?>" title="<?= GetMessage('MAIN_OPT_APPLY_TITLE') ?>">
        <? if ($_REQUEST['back_url_settings'] !== ''): ?>
            <input <? if (!$canWrite) echo 'disabled' ?> type="button" name="Cancel" value="<?= GetMessage('MAIN_OPT_CANCEL') ?>" title="<?= GetMessage('MAIN_OPT_CANCEL_TITLE') ?>" onclick="window.location='<? echo htmlspecialcharsbx(CUtil::addslashes($_REQUEST['back_url_settings'])) ?>'">
            <input type="hidden" name="back_url_settings" value="<?= htmlspecialcharsbx($_REQUEST['back_url_settings']) ?>">
        <? endif ?>
        <input <? if (!$canWrite) echo 'disabled' ?> type="submit" name="RestoreDefaults" title="<? echo GetMessage('MAIN_HINT_RESTORE_DEFAULTS') ?>" onclick="return confirm('<? echo AddSlashes(GetMessage('MAIN_HINT_RESTORE_DEFAULTS_WARNING')) ?>')" value="<? echo GetMessage('MAIN_RESTORE_DEFAULTS') ?>">
        <?= bitrix_sessid_post(); ?>
        <? $tabControl->End(); ?>
    </form>
<? endif; ?>