| Current Path : /var/www/homesaver/www/bitrix/ |
| 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) ?>&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; ?>