feat: добавлен выбор банка для СБП выплат
Frontend: - Динамическая загрузка 226 банков из NSPK API - Выбор банка добавлен в Step3Payment (новая заявка) - Выбор банка добавлен в generateConfirmationFormHTML (редактирование) - Поля: bank_id (ID из NSPK) и bank_name (название для отображения) Backend: - Добавлено поле bank_id в ClaimCreateRequest API: - http://212.193.27.93/api/payouts/dictionaries/nspk-banks Изменения: - ticket_form/frontend/src/components/form/Step3Payment.tsx - ticket_form/frontend/src/components/form/generateConfirmationFormHTML.ts - ticket_form/frontend/src/pages/ClaimForm.tsx - ticket_form/backend/app/api/models.py
This commit is contained in:
@@ -61,5 +61,21 @@
|
||||
"url": "http://185.197.75.249:9000/sse"
|
||||
}
|
||||
|
||||
|
||||
,
|
||||
"n8n-mcp2": {
|
||||
"command": "npx",
|
||||
"args": [
|
||||
"-y",
|
||||
"supergateway",
|
||||
"--streamableHttp",
|
||||
"https://n8n.clientright.pro/mcp-server/http",
|
||||
"--header",
|
||||
"authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI5MzMwYWVjZC1hYjExLTQxODEtOWIyYy1iMDZhZWEzMTNmNzQiLCJpc3MiOiJuOG4iLCJhdWQiOiJtY3Atc2VydmVyLWFwaSIsImp0aSI6Ijc5MTQzNDU5LTM0NzMtNDQ2Mi05MzU1LTZmMTAzZTdlMzAxNCIsImlhdCI6MTc2NDU3OTI0N30.g-WQpgWMjdFWVpUMaRP023MCQqfk_e3ollLyPpcE_Io"
|
||||
]
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
BIN
storage/Счета_КЕ_114.pdf
Normal file
BIN
storage/Счета_КЕ_114.pdf
Normal file
Binary file not shown.
@@ -1 +1 @@
|
||||
2025-11-29 14:45:09
|
||||
2025-12-01 14:55:09
|
||||
@@ -0,0 +1,28 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/Index.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1443819957692d7db2bd1137-92239728%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'141d5b34bab8346f501a2d93e572a982ccfc3e9e' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/Index.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1443819957692d7db2bd1137-92239728',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2bd2a8',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2bd2a8')) {function content_692d7db2bd2a8($_smarty_tpl) {?>
|
||||
<div class="main-container clearfix"><div class="ExtensionscontentsDiv contentsDiv"><div class="col-sm-12 col-xs-12" id="importModules"><div class="contents tabbable row"><div class="col-sm-12 col-xs-12" id="extensionContainer"><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path('ExtensionModules.tpl',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
</div></div></div></div></div><?php }} ?>
|
||||
@@ -0,0 +1,89 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:15
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/SettingsMenuStart.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1410852820692d7daf66df77-69442568%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'2bc8eb2937af9ee9437981d35434991a2b9f7b51' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/SettingsMenuStart.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1410852820692d7daf66df77-69442568',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'FIELDS_INFO' => 0,
|
||||
'USER_MODEL' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7daf6b4c5',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7daf6b4c5')) {function content_692d7daf6b4c5($_smarty_tpl) {?>
|
||||
<?php echo $_smarty_tpl->getSubTemplate ("modules/Vtiger/partials/Topbar.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
|
||||
|
||||
<div class="container-fluid app-nav">
|
||||
<div class="row">
|
||||
<?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("partials/SidebarHeader.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
|
||||
<?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("ModuleHeader.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id='overlayPageContent' class='fade modal overlayPageContent content-area overlay-container-300' tabindex='-1' role='dialog' aria-hidden='true'>
|
||||
<div class="data">
|
||||
</div>
|
||||
<div class="modal-dialog">
|
||||
</div>
|
||||
</div>
|
||||
<?php if ($_smarty_tpl->tpl_vars['FIELDS_INFO']->value!=null){?>
|
||||
<script type="text/javascript">
|
||||
var uimeta = (function() {
|
||||
var fieldInfo = <?php echo $_smarty_tpl->tpl_vars['FIELDS_INFO']->value;?>
|
||||
;
|
||||
return {
|
||||
field: {
|
||||
get: function(name, property) {
|
||||
if(name && property === undefined) {
|
||||
return fieldInfo[name];
|
||||
}
|
||||
if(name && property) {
|
||||
return fieldInfo[name][property]
|
||||
}
|
||||
},
|
||||
isMandatory : function(name){
|
||||
if(fieldInfo[name]) {
|
||||
return fieldInfo[name].mandatory;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
getType : function(name){
|
||||
if(fieldInfo[name]) {
|
||||
return fieldInfo[name].type
|
||||
}
|
||||
return false;
|
||||
}
|
||||
},
|
||||
};
|
||||
})();
|
||||
</script>
|
||||
<?php }?>
|
||||
<div class="main-container clearfix">
|
||||
<?php $_smarty_tpl->tpl_vars['LEFTPANELHIDE'] = new Smarty_variable($_smarty_tpl->tpl_vars['USER_MODEL']->value->get('leftpanelhide'), null, 0);?>
|
||||
<div class="module-nav clearfix settingsNav" id="modnavigator">
|
||||
<div class="hidden-xs hidden-sm height100Per">
|
||||
<?php echo $_smarty_tpl->getSubTemplate ("modules/Settings/Vtiger/Sidebar.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="settingsPageDiv content-area clearfix">
|
||||
|
||||
<?php }} ?>
|
||||
@@ -0,0 +1,114 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Extension.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:956243993692d7db2e207e0-48983396%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'58eb0daa998201e075def1c266567e9a204f8a1b' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Extension.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '956243993692d7db2e207e0-48983396',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'EXTENSION' => 0,
|
||||
'IS_PACKAGE_INCLUDED' => 0,
|
||||
'MODULE_NAME' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'MODULE_MODEL' => 0,
|
||||
'IS_AUTH' => 0,
|
||||
'SETTINGS_LINKS' => 0,
|
||||
'SETTINGS_LINK' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2e3458',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2e3458')) {function content_692d7db2e3458($_smarty_tpl) {?>
|
||||
<?php $_smarty_tpl->tpl_vars['MODULE_MODEL'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->get('moduleModel'), null, 0);?>
|
||||
<?php $_smarty_tpl->tpl_vars['MODULE_NAME'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->get('name'), null, 0);?>
|
||||
<?php $_smarty_tpl->tpl_vars['IS_PACKAGE_INCLUDED'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->isPackageIncludedModule(), null, 0);?>
|
||||
<tr class="installedModuleRow <?php if ($_smarty_tpl->tpl_vars['IS_PACKAGE_INCLUDED']->value){?>packageIncluded<?php }else{ ?>packageNotIncluded<?php }?>" data-cfmid="1" id="<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||||
" <?php if (!$_smarty_tpl->tpl_vars['IS_PACKAGE_INCLUDED']->value){?>title="<?php echo vtranslate('LBL_NOT_INCLUDED_IN_PACKAGE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
"<?php }?>>
|
||||
<td><a <?php if ($_smarty_tpl->tpl_vars['MODULE_MODEL']->value&&$_smarty_tpl->tpl_vars['MODULE_MODEL']->value->isActive()){?>href="<?php echo $_smarty_tpl->tpl_vars['MODULE_MODEL']->value->getDefaultUrl();?>
|
||||
" target="_blank" <?php }else{ ?> href="#<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||||
" <?php }?>><?php echo vtranslate($_smarty_tpl->tpl_vars['EXTENSION']->value->get('label'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</a></td>
|
||||
<td class="validateVersion"><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getVersion();?>
|
||||
</td>
|
||||
<td class="updateTime" title="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateTimeRaw();?>
|
||||
"><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateTime();?>
|
||||
</td>
|
||||
<td><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('pkgVersion');?>
|
||||
</td>
|
||||
<td>
|
||||
<span class="extension_container">
|
||||
<?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->isVtigerCompatible()){?>
|
||||
<input type="hidden" name="extensionName" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('name');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionUrl" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('downloadURL');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionId" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('id');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionType" value="Single"/>
|
||||
<input type="hidden" name="moduleMode" value="showChangelog"/>
|
||||
<?php if (!$_smarty_tpl->tpl_vars['EXTENSION']->value->isAlreadyExists()){?>
|
||||
<input type="hidden" name="moduleAction" value="Install"/>
|
||||
<button class="showChangeLog btn btn-primary <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>">
|
||||
<?php echo vtranslate('LBL_INSTALL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
</button>
|
||||
<?php }elseif($_smarty_tpl->tpl_vars['EXTENSION']->value->isUpgradable()){?>
|
||||
<input type="hidden" name="moduleAction" value="Upgrade"/>
|
||||
<input type="hidden" name="moduleMessage" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateMessage();?>
|
||||
"/>
|
||||
<button class="showChangeLog isUpdateBtn btn btn-success margin0px <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>">
|
||||
<?php echo vtranslate('LBL_UPDATE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
</button>
|
||||
<?php }?>
|
||||
<?php }?>
|
||||
</span>
|
||||
<?php if ($_smarty_tpl->tpl_vars['MODULE_MODEL']->value){?>
|
||||
<?php $_smarty_tpl->tpl_vars['SETTINGS_LINKS'] = new Smarty_variable($_smarty_tpl->tpl_vars['MODULE_MODEL']->value->getSettingLinks(), null, 0);?>
|
||||
<?php if ((count($_smarty_tpl->tpl_vars['SETTINGS_LINKS']->value)>0)){?>
|
||||
<span class="btn-group pull-right <?php if (!$_smarty_tpl->tpl_vars['MODULE_MODEL']->value->isActive()){?>hide<?php }?>">
|
||||
<button class="btn btn-default btn dropdown-toggle unpin hiden " data-toggle="dropdown">
|
||||
<?php echo vtranslate('LBL_SETTINGS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<i class="caret"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu pull-right dropdownfields">
|
||||
<?php $_smarty_tpl->tpl_vars['SETTINGS_LINK'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['SETTINGS_LINK']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['SETTINGS_LINKS']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['SETTINGS_LINK']->key => $_smarty_tpl->tpl_vars['SETTINGS_LINK']->value){
|
||||
$_smarty_tpl->tpl_vars['SETTINGS_LINK']->_loop = true;
|
||||
?>
|
||||
<li>
|
||||
<a target="_blank" <?php if (stripos($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'],'javascript:')===0){?>onclick='<?php echo substr($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'],strlen("javascript:"));?>
|
||||
'<?php }else{ ?>href='<?php echo $_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'];?>
|
||||
'<?php }?>>
|
||||
<?php echo vtranslate($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linklabel'],$_smarty_tpl->tpl_vars['MODULE_NAME']->value,vtranslate("SINGLE_".($_smarty_tpl->tpl_vars['MODULE_NAME']->value),$_smarty_tpl->tpl_vars['MODULE_NAME']->value));?>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</span>
|
||||
<?php }?>
|
||||
<?php }?>
|
||||
<span class="pull-right">
|
||||
<?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->get('website')!=''){?>
|
||||
<button class="btn installExtension addButton" style="margin-right:5px;" data-url="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('website');?>
|
||||
"><?php echo vtranslate('LBL_MORE_DETAILS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<?php }?>
|
||||
</span>
|
||||
</td>
|
||||
</tr><?php }} ?>
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/InstalledModules.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:69184756692d7db2bdaaf3-57570336%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'610249e3cc1cf41a635986a0f3a3cc3d32cd352d' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/InstalledModules.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '69184756692d7db2bdaaf3-57570336',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'ERROR_MESSAGES' => 0,
|
||||
'ERROR_MESSAGE' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'IS_AUTH' => 0,
|
||||
'LICENSES_LIST' => 0,
|
||||
'LICENSE' => 0,
|
||||
'EMPTY_LICENSES' => 0,
|
||||
'EMPTY_LICENSE' => 0,
|
||||
'MODULE' => 0,
|
||||
'HOSTING_MODEL' => 0,
|
||||
'HOSTING_HEADER' => 0,
|
||||
'HOSTING_FIELD' => 0,
|
||||
'EXTENSIONS_LIST' => 0,
|
||||
'EXTENSION' => 0,
|
||||
'LANGUAGES_LIST' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2bfb12',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2bfb12')) {function content_692d7db2bfb12($_smarty_tpl) {?>
|
||||
<div class="tab-pane active" id="installedModules"><?php if ($_smarty_tpl->tpl_vars['ERROR_MESSAGES']->value){?><div class="col-md-12"><?php $_smarty_tpl->tpl_vars['ERROR_MESSAGE'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['ERROR_MESSAGE']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['ERROR_MESSAGES']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['ERROR_MESSAGE']->key => $_smarty_tpl->tpl_vars['ERROR_MESSAGE']->value){
|
||||
$_smarty_tpl->tpl_vars['ERROR_MESSAGE']->_loop = true;
|
||||
?><div><div class="displayInlineBlock alert alert-danger"><?php echo vtranslate($_smarty_tpl->tpl_vars['ERROR_MESSAGE']->value,$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></div><?php } ?></div><?php }elseif(!$_smarty_tpl->tpl_vars['IS_AUTH']->value){?><div style="text-align: center;"><a href="index.php?module=ITS4YouInstaller&parent=Settings&view=Login"><div class="alert alert-danger displayInlineBlock extensionLoginAlert"><?php echo vtranslate('LBL_LOGIN_TO_INSTALLER',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></a><br></div><?php }else{ ?><div class="col-md-12"><h4><?php echo vtranslate('LBL_ACTIVATED_LICENSES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</h4><hr><div><button class="btn btn-primary activateButton" type="button"><i class="fa fa-plus"></i> <div class="displayInlineBlock"><?php echo vtranslate('LBL_ACTIVATE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php echo vtranslate('LBL_LICENSE_KEY',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></button> <button class="btn btn-default updateButton" type="button"><i class="fa fa-refresh"></i> <div class="displayInlineBlock"><?php echo vtranslate('LBL_UPDATE_LICENSES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></button></div><br><table class="table table-bordered licenseTable"><thead><tr><th><?php echo vtranslate('LBL_LICENSE_KEY',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_LICENSE_NAME',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_LICENSE_DUE_DATE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_LICENSE_TYPE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_ACTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th></tr></thead><tbody><?php $_smarty_tpl->tpl_vars['LICENSE'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['LICENSE']->_loop = false;
|
||||
$_smarty_tpl->tpl_vars['LICENSE_KEY'] = new Smarty_Variable;
|
||||
$_from = $_smarty_tpl->tpl_vars['LICENSES_LIST']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['LICENSE']->key => $_smarty_tpl->tpl_vars['LICENSE']->value){
|
||||
$_smarty_tpl->tpl_vars['LICENSE']->_loop = true;
|
||||
$_smarty_tpl->tpl_vars['LICENSE_KEY']->value = $_smarty_tpl->tpl_vars['LICENSE']->key;
|
||||
?><?php if (!$_smarty_tpl->tpl_vars['LICENSE']->value){?><?php continue 1?><?php }?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("rows/License.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php } ?><?php if (!empty($_smarty_tpl->tpl_vars['EMPTY_LICENSES']->value)){?><tr><td style="border-left:none;border-right:none;" colspan="4"><?php $_smarty_tpl->tpl_vars['EMPTY_LICENSE'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['EMPTY_LICENSE']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['EMPTY_LICENSES']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['EMPTY_LICENSE']->key => $_smarty_tpl->tpl_vars['EMPTY_LICENSE']->value){
|
||||
$_smarty_tpl->tpl_vars['EMPTY_LICENSE']->_loop = true;
|
||||
?><div><?php echo $_smarty_tpl->tpl_vars['EMPTY_LICENSE']->value;?>
|
||||
</div><br><?php } ?></td><td style="border-left:none;border-right:none;" title="<?php echo vtranslate('LBL_EMPTY_LICENSES_MESSAGE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
"><form action="index.php" method="post"><input type="hidden" name="module" value="<?php echo $_smarty_tpl->tpl_vars['MODULE']->value;?>
|
||||
"><input type="hidden" name="parent" value="Settings"><input type="hidden" name="action" value="Basic"><input type="hidden" name="mode" value="clearEmptyLicenses"><button class="btn btn-warning"><?php echo vtranslate('LBL_EMPTY_LICENSES_BUTTON',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</></form></td></tr><?php }?></tbody></table></div><?php if ($_smarty_tpl->tpl_vars['HOSTING_MODEL']->value){?><div class="col-md-12"><h4><?php echo vtranslate('LBL_HOSTING',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</h4><hr><table class="table table-bordered hostingTable"><thead><tr><?php $_smarty_tpl->tpl_vars['HOSTING_HEADER'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['HOSTING_HEADER']->_loop = false;
|
||||
$_smarty_tpl->tpl_vars['HOSTING_FIELD'] = new Smarty_Variable;
|
||||
$_from = $_smarty_tpl->tpl_vars['HOSTING_MODEL']->value->getHeaders(); if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['HOSTING_HEADER']->key => $_smarty_tpl->tpl_vars['HOSTING_HEADER']->value){
|
||||
$_smarty_tpl->tpl_vars['HOSTING_HEADER']->_loop = true;
|
||||
$_smarty_tpl->tpl_vars['HOSTING_FIELD']->value = $_smarty_tpl->tpl_vars['HOSTING_HEADER']->key;
|
||||
?><th><?php echo vtranslate($_smarty_tpl->tpl_vars['HOSTING_HEADER']->value,$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><?php } ?><th><?php echo vtranslate('LBL_ACTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th></tr></thead><tbody><tr><?php $_smarty_tpl->tpl_vars['HOSTING_HEADER'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['HOSTING_HEADER']->_loop = false;
|
||||
$_smarty_tpl->tpl_vars['HOSTING_FIELD'] = new Smarty_Variable;
|
||||
$_from = $_smarty_tpl->tpl_vars['HOSTING_MODEL']->value->getHeaders(); if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['HOSTING_HEADER']->key => $_smarty_tpl->tpl_vars['HOSTING_HEADER']->value){
|
||||
$_smarty_tpl->tpl_vars['HOSTING_HEADER']->_loop = true;
|
||||
$_smarty_tpl->tpl_vars['HOSTING_FIELD']->value = $_smarty_tpl->tpl_vars['HOSTING_HEADER']->key;
|
||||
?><td><?php echo $_smarty_tpl->tpl_vars['HOSTING_MODEL']->value->get($_smarty_tpl->tpl_vars['HOSTING_FIELD']->value);?>
|
||||
</td><?php } ?><td><div class="pull-right"><?php if ($_smarty_tpl->tpl_vars['HOSTING_MODEL']->value->isExpired()){?><div class="alert alert-danger displayInlineBlock" style="margin:0;"><?php echo vtranslate('LBL_HOSTING_INACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div><?php }else{ ?><div class="alert alert-info displayInlineBlock" style="margin:0;"><?php echo vtranslate('LBL_HOSTING_ACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['HOSTING_MODEL']->value->getExpireString();?>
|
||||
</div><?php }?></div></td></tr></tbody></table></div><?php }?><?php }?><div class="col-md-12"><div><h4><?php echo vtranslate('LBL_MODULES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</h4><hr><div class="clearfix"><label class="pull-left searchModuleContainer"><i class="fa fa-search"></i><input type="text" class="inputElement searchModule" placeholder="<?php echo vtranslate('LBL_SEARCH_MODULES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
"></label></div><table class="table table-bordered extensionsTable"><thead><tr><th style="width: 30%;"><?php echo vtranslate('Name',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th style="width: 10%;"><?php echo vtranslate('LBL_INSTALLED_VERSION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th style="width: 10%;"><?php echo vtranslate('LBL_UPDATE_DATETIME',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th style="width: 10%;"><?php echo vtranslate('LBL_NEWEST_VERSION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_ACTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th></tr></thead><tbody><?php $_smarty_tpl->tpl_vars['EXTENSION'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['EXTENSION']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['EXTENSIONS_LIST']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['EXTENSION']->key => $_smarty_tpl->tpl_vars['EXTENSION']->value){
|
||||
$_smarty_tpl->tpl_vars['EXTENSION']->_loop = true;
|
||||
?><?php if (!$_smarty_tpl->tpl_vars['EXTENSION']->value->isVisible()){?><?php continue 1?><?php }?><?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->isMultiPackage()){?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("rows/Package.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php }else{ ?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("rows/Extension.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php }?><?php } ?></tbody></table></div><div><h4><?php echo vtranslate('LBL_AVAILABLE_LANGUAGES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</h4><table class="table table-bordered"><thead><tr><th style="width: 30%;"><?php echo vtranslate('LBL_LANGUAGE_NAME',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th style="width: 30%;" colspan="2"><?php echo vtranslate('LBL_DESCRIPTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th><th><?php echo vtranslate('LBL_ACTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</th></tr></thead><tbody><?php $_smarty_tpl->tpl_vars['LANGUAGE'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['LANGUAGE']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['LANGUAGES_LIST']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['LANGUAGE']->key => $_smarty_tpl->tpl_vars['LANGUAGE']->value){
|
||||
$_smarty_tpl->tpl_vars['LANGUAGE']->_loop = true;
|
||||
?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("rows/Language.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php } ?></tbody></table></div></div></div><?php }} ?>
|
||||
@@ -0,0 +1,109 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/License.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:486525976692d7db2bfdfd0-37690819%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'677ad9e73c2ee4a58e253d74cb872caf7ce0b288' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/License.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '486525976692d7db2bfdfd0-37690819',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'LICENSE' => 0,
|
||||
'LICENSE_KEY' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'EXTENSION_MODEL' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2c1102',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2c1102')) {function content_692d7db2c1102($_smarty_tpl) {?>
|
||||
<tr class="<?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getParentClass();?>
|
||||
">
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<a class="licenseColors" href="#<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->get('service_usageunit')!='Package'){?><?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->get('cf_identifier');?>
|
||||
<?php }?>">
|
||||
<?php echo $_smarty_tpl->tpl_vars['LICENSE_KEY']->value;?>
|
||||
|
||||
</a>
|
||||
</td>
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->get('servicename');?>
|
||||
|
||||
</td>
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isHostingLicense()){?>
|
||||
<td colspan="3" style="border-left:none;">
|
||||
<?php echo vtranslate('LBL_HOSTING_LICENSE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
</td>
|
||||
<?php }else{ ?>
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->get('due_date')!=''){?>
|
||||
<?php echo Vtiger_Util_Helper::formatDateIntoStrings($_smarty_tpl->tpl_vars['LICENSE']->value->get('due_date'));?>
|
||||
|
||||
<?php }?>
|
||||
</td>
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->hasParentLicense()){?>
|
||||
<?php echo vtranslate('LBL_SUBLICENSE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
<?php }elseif($_smarty_tpl->tpl_vars['LICENSE']->value->get('subscription')=="1"){?>
|
||||
<?php echo vtranslate('LBL_SUBSCRIPTION',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
<?php }elseif($_smarty_tpl->tpl_vars['LICENSE']->value->get('demo_free')=="1"){?>
|
||||
<?php echo vtranslate('LBL_DEMO_FREE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
<?php }else{ ?>
|
||||
<?php echo vtranslate('LBL_FULL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
<?php }?>
|
||||
</td>
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->hasParentLicense()){?>
|
||||
<td style="border-left:none;border-right:none;"></td>
|
||||
<?php }else{ ?>
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isRenewReady()&&$_smarty_tpl->tpl_vars['EXTENSION_MODEL']->value->isAllowedBuyLicense()){?>
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->get('subscription')=="1"){?>
|
||||
<a class="btn btn-info" target="_blank" href="<?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getRenewUrl();?>
|
||||
"><?php echo vtranslate('LBL_PROLONG_LICENSE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</a>
|
||||
<?php }elseif($_smarty_tpl->tpl_vars['LICENSE']->value->get('demo_free')==true){?>
|
||||
<a class="btn btn-success" target="_blank" href="<?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getConvertUrl();?>
|
||||
"><?php echo vtranslate('LBL_BUY_LICENSE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</a>
|
||||
<?php }else{ ?>
|
||||
<a class="btn btn-primary" target="_blank" href="<?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getRenewUrl();?>
|
||||
"><?php echo vtranslate('LBL_RENEW_LICENSE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</a>
|
||||
<?php }?>
|
||||
|
||||
<?php }?>
|
||||
<button class="btn btn-danger actionLicenses" type="button" data-mode="deactivate" data-license="<?php echo $_smarty_tpl->tpl_vars['LICENSE_KEY']->value;?>
|
||||
"><?php echo vtranslate('LBL_DEACTIVATE_LICENSES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<div class="pull-right">
|
||||
<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isExpired()){?>
|
||||
<div class="alert alert-danger displayInlineBlock" style="margin:0;"><?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isTrial()){?><?php echo vtranslate('LBL_TRIAL_INACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php }else{ ?><?php echo vtranslate('LBL_MEMBERSHIP_INACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php }?><?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getExpireString();?>
|
||||
</div>
|
||||
<?php }else{ ?>
|
||||
<div class="alert alert-<?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isRenewReady()){?>warning<?php }else{ ?>info<?php }?> displayInlineBlock" style="margin:0;"><?php if ($_smarty_tpl->tpl_vars['LICENSE']->value->isTrial()){?><?php echo vtranslate('LBL_TRIAL_ACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php }else{ ?><?php echo vtranslate('LBL_MEMBERSHIP_ACTIVE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php }?><?php echo $_smarty_tpl->tpl_vars['LICENSE']->value->getExpireString();?>
|
||||
</div>
|
||||
<?php }?>
|
||||
</div>
|
||||
</td>
|
||||
<?php }?>
|
||||
<?php }?>
|
||||
</tr><?php }} ?>
|
||||
@@ -0,0 +1,78 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:19
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ModulesShop.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:395046373692d7db345a6a2-26094119%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'7ad3dfd7921dbcaef33b7db917a006a250efd628' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ModulesShop.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '395046373692d7db345a6a2-26094119',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'PACKAGES_LIST' => 0,
|
||||
'PACKAGE' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'imageSource' => 0,
|
||||
'SHOP_LINK' => 0,
|
||||
'EXTENSIONS_LIST' => 0,
|
||||
'EXTENSION' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db347b31',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db347b31')) {function content_692d7db347b31($_smarty_tpl) {?>
|
||||
<div class="tab-pane col-lg-12" id="modulesShop"><div class="clearfix"><div class="grid-container-block-3"><div class="grid-container-3"><?php $_smarty_tpl->tpl_vars['PACKAGE'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['PACKAGE']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['PACKAGES_LIST']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['PACKAGE']->key => $_smarty_tpl->tpl_vars['PACKAGE']->value){
|
||||
$_smarty_tpl->tpl_vars['PACKAGE']->_loop = true;
|
||||
?><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('inshop')!="1"){?><?php continue 1?><?php }?><div class="grid-container-div-3"><div class="thumbnail extension_container extensionWidgetContainer padding10"><div class="contentHeader"><div style="margin-bottom: 5px;"><div class="extension_header"><div class="font-x-x-large boxSizingBorderBox" style="text-align: center;"><?php echo vtranslate($_smarty_tpl->tpl_vars['PACKAGE']->value->get('label'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></div></div></div><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLTop')!=null){?><?php $_smarty_tpl->tpl_vars['imageSource'] = new Smarty_variable($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLTop'), null, 0);?><img src="<?php echo $_smarty_tpl->tpl_vars['imageSource']->value;?>
|
||||
" class="thumbnailImage"/><?php }?><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('description')!=''){?><div class="caption"><div class="font-x-x-large boxSizingBorderBox"><div style="text-align: center;"><strong><?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('description');?>
|
||||
</strong></div></div></div><?php }?><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLCenterA')!=null){?><?php $_smarty_tpl->tpl_vars['imageSource'] = new Smarty_variable($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLCenterA'), null, 0);?><img src="<?php echo $_smarty_tpl->tpl_vars['imageSource']->value;?>
|
||||
" class="thumbnailImage"/><?php }?><div><div class="col-lg-12 col-md-12 col-sm-12" style="text-align: center;"><a href="<?php echo $_smarty_tpl->tpl_vars['SHOP_LINK']->value;?>
|
||||
?q=true&addidtob=<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('bid');?>
|
||||
"><h2 class="summaryCount" style="padding:0px;margin:0px"><?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('price');?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('currency_symbol');?>
|
||||
</h2></a></div></div><br><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLCenterB')!=null){?><?php $_smarty_tpl->tpl_vars['imageSource'] = new Smarty_variable($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLCenterB'), null, 0);?><img src="<?php echo $_smarty_tpl->tpl_vars['imageSource']->value;?>
|
||||
" class="thumbnailImage"/><?php }?><div class="caption"><hr><div class="font-x-x-large boxSizingBorderBox"><?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->getMoreInfo();?>
|
||||
</div><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLBottom')!=null){?><?php $_smarty_tpl->tpl_vars['imageSource'] = new Smarty_variable($_smarty_tpl->tpl_vars['PACKAGE']->value->get('thumbnailURLBottom'), null, 0);?><div style="text-align: center;"><img src="<?php echo $_smarty_tpl->tpl_vars['imageSource']->value;?>
|
||||
" class="thumbnailImage"/></div><?php }?><br><div class="row" style="padding: 10px 0 5px 0"><div class="col-md-12" style="text-align: right;"><span><?php if (!$_smarty_tpl->tpl_vars['PACKAGE']->value->isRegisteredUser()){?><button class="m0550 btn btn-secondary logintoInstaller" type="button"><?php echo vtranslate('LBL_TRIAL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }elseif($_smarty_tpl->tpl_vars['PACKAGE']->value->isTrialReady()){?><button class="m0550 btn btn-warning trialButton" data-trial="<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('id');?>
|
||||
"><?php echo vtranslate('LBL_TRIAL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }else{ ?><button class="m0550 btn btn-warning" disabled type="button"><?php echo vtranslate('LBL_TRIAL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }?><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('price')!='Free'&&$_smarty_tpl->tpl_vars['PACKAGE']->value->get('price')!=0&&$_smarty_tpl->tpl_vars['PACKAGE']->value->get('bid')!=''){?><button class="m0550 btn btn-success buyButton" data-url="<?php echo $_smarty_tpl->tpl_vars['SHOP_LINK']->value;?>
|
||||
?q=true&addidtob=<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('bid');?>
|
||||
" data-trial=false><?php echo vtranslate('LBL_BUY',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('price');?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('currency_symbol');?>
|
||||
</button><?php }?><?php if ($_smarty_tpl->tpl_vars['PACKAGE']->value->get('website')!=''){?><button class="m0550 btn installExtension addButton" style="margin-right:5px;" data-url="<?php echo $_smarty_tpl->tpl_vars['PACKAGE']->value->get('website');?>
|
||||
"><?php echo vtranslate('LBL_MORE_DETAILS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }?></span></div></div></div></div></div class="grid-container-div"><?php } ?></div></div></div><div class="clearfix"><div class="grid-container-block"><div class="grid-container grid-columns-4"><?php $_smarty_tpl->tpl_vars['EXTENSION'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['EXTENSION']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['EXTENSIONS_LIST']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['EXTENSION']->key => $_smarty_tpl->tpl_vars['EXTENSION']->value){
|
||||
$_smarty_tpl->tpl_vars['EXTENSION']->_loop = true;
|
||||
?><?php if (!$_smarty_tpl->tpl_vars['EXTENSION']->value->isVtigerCompatible()||$_smarty_tpl->tpl_vars['EXTENSION']->value->get('inshop')!='1'){?><?php continue 1?><?php }?><div class="grid-container-div"><div class="thumbnail extension_container extensionWidgetContainer"><div class="contentHeader" style="margin-bottom: 10px;"><div class="col-sm-12 col-xs-12" style="margin-bottom: 5px;"><div style="margin-bottom: 5px;"><div class="extension_header"><div class="font-x-x-large boxSizingBorderBox"><?php echo vtranslate($_smarty_tpl->tpl_vars['EXTENSION']->value->get('label'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div><input type="hidden" name="extensionName" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('name');?>
|
||||
" /><input type="hidden" name="extensionUrl" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('downloadURL');?>
|
||||
" /><input type="hidden" name="moduleAction" value="<?php if (($_smarty_tpl->tpl_vars['EXTENSION']->value->isAlreadyExists())){?><?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->isUpgradable()){?>Upgrade<?php }else{ ?>Installed<?php }?><?php }else{ ?>Install<?php }?>" /><input type="hidden" name="extensionId" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('id');?>
|
||||
" /></div></div></div></div><?php if (null!=$_smarty_tpl->tpl_vars['EXTENSION']->value->get('thumbnailURL')){?><?php $_smarty_tpl->tpl_vars['imageSource'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->get('thumbnailURL'), null, 0);?><img src="<?php echo $_smarty_tpl->tpl_vars['imageSource']->value;?>
|
||||
" class="thumbnailImage"/><?php }?><div class="caption extensionDescription" ><div class="font-x-x-large boxSizingBorderBox"><?php if (''!=$_smarty_tpl->tpl_vars['EXTENSION']->value->get('description')){?><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('description');?>
|
||||
<?php }?></div><br><div class="row"><div class="col-md-12" style="text-align: right"><span><?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->isExtensionTrialReady()){?><button class="m0550 btn btn-warning trialButton" data-trial="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('id');?>
|
||||
"><?php echo vtranslate('LBL_TRIAL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }?><?php if ('Free'!=$_smarty_tpl->tpl_vars['EXTENSION']->value->get('price')||0!=$_smarty_tpl->tpl_vars['EXTENSION']->value->get('price')){?><button class="m0550 btn btn-success buyButton" data-url="<?php echo $_smarty_tpl->tpl_vars['SHOP_LINK']->value;?>
|
||||
?addidtob=<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('bid');?>
|
||||
" data-trial=false><?php echo vtranslate('LBL_BUY',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('currency_symbol');?>
|
||||
<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('price');?>
|
||||
</button><?php }?><?php if (''!=$_smarty_tpl->tpl_vars['EXTENSION']->value->get('website')){?><button class="m0550 btn installExtension addButton" style="margin-right:5px;" data-url="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('website');?>
|
||||
"><?php echo vtranslate('LBL_MORE_DETAILS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }?></span></div></div></div></div></div><?php } ?></div></div></div></div><?php }} ?>
|
||||
@@ -0,0 +1,112 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Package.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:741769699692d7db2c21cf7-65812815%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'7bcabbb756995e6b115346c946cf88844ea3fcfd' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Package.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '741769699692d7db2c21cf7-65812815',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'EXTENSION' => 0,
|
||||
'MODULE_MODEL' => 0,
|
||||
'MODULE_NAME' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'IS_AUTH' => 0,
|
||||
'SETTINGS_LINKS' => 0,
|
||||
'SETTINGS_LINK' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2c32f6',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2c32f6')) {function content_692d7db2c32f6($_smarty_tpl) {?>
|
||||
<?php $_smarty_tpl->tpl_vars['MODULE_MODEL'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->get('moduleModel'), null, 0);?>
|
||||
<?php $_smarty_tpl->tpl_vars['MODULE_NAME'] = new Smarty_variable($_smarty_tpl->tpl_vars['EXTENSION']->value->get('name'), null, 0);?>
|
||||
<tr>
|
||||
<td>
|
||||
<a <?php if ($_smarty_tpl->tpl_vars['MODULE_MODEL']->value&&$_smarty_tpl->tpl_vars['MODULE_MODEL']->value->isActive()){?>href="<?php echo $_smarty_tpl->tpl_vars['MODULE_MODEL']->value->getDefaultUrl();?>
|
||||
" target="_blank" <?php }else{ ?> href="#<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||||
" <?php }?>><?php echo vtranslate($_smarty_tpl->tpl_vars['EXTENSION']->value->get('label'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="validateVersion"><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getVersion();?>
|
||||
</td>
|
||||
<td class="updateTime" title="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateTimeRaw();?>
|
||||
"><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateTime();?>
|
||||
</td>
|
||||
<td><?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('pkgVersion');?>
|
||||
</td>
|
||||
<td>
|
||||
<span class="extension_container">
|
||||
<?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->isVtigerCompatible()){?>
|
||||
<input type="hidden" name="extensionName" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('name');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionUrl" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('downloadURL');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionId" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('id');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionType" value="Package"/>
|
||||
<input type="hidden" name="moduleMode" value="showChangelog"/>
|
||||
<?php if (!$_smarty_tpl->tpl_vars['EXTENSION']->value->isAlreadyExists()){?>
|
||||
<input type="hidden" name="moduleAction" value="Install"/>
|
||||
<button class="showChangeLog btn btn-primary <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>">
|
||||
<?php echo vtranslate('LBL_INSTALL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
</button>
|
||||
<?php }elseif($_smarty_tpl->tpl_vars['EXTENSION']->value->isUpgradableMulti()){?>
|
||||
<input type="hidden" name="moduleAction" value="Upgrade"/>
|
||||
<input type="hidden" name="moduleMessage" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateMessage();?>
|
||||
"/>
|
||||
<button class="showChangeLog isUpdateBtn btn btn-success margin0px <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>">
|
||||
<?php echo vtranslate('LBL_UPDATE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
|
||||
</button>
|
||||
<?php }?>
|
||||
<?php }?>
|
||||
</span>
|
||||
<?php if ($_smarty_tpl->tpl_vars['MODULE_MODEL']->value){?>
|
||||
<?php $_smarty_tpl->tpl_vars['SETTINGS_LINKS'] = new Smarty_variable($_smarty_tpl->tpl_vars['MODULE_MODEL']->value->getSettingLinks(), null, 0);?>
|
||||
<?php if ((count($_smarty_tpl->tpl_vars['SETTINGS_LINKS']->value)>0)){?>
|
||||
<span class="btn-group pull-right <?php if (!$_smarty_tpl->tpl_vars['MODULE_MODEL']->value->isActive()){?>hide<?php }?>">
|
||||
<button class="btn btn-default btn dropdown-toggle unpin hiden " data-toggle="dropdown">
|
||||
<?php echo vtranslate('LBL_SETTINGS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
<i class="caret"></i>
|
||||
</button>
|
||||
<ul class="dropdown-menu pull-right dropdownfields">
|
||||
<?php $_smarty_tpl->tpl_vars['SETTINGS_LINK'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['SETTINGS_LINK']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['SETTINGS_LINKS']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['SETTINGS_LINK']->key => $_smarty_tpl->tpl_vars['SETTINGS_LINK']->value){
|
||||
$_smarty_tpl->tpl_vars['SETTINGS_LINK']->_loop = true;
|
||||
?>
|
||||
<li>
|
||||
<a target="_blank" <?php if (stripos($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'],'javascript:')===0){?>onclick='<?php echo substr($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'],strlen("javascript:"));?>
|
||||
'<?php }else{ ?>href='<?php echo $_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linkurl'];?>
|
||||
'<?php }?>>
|
||||
<?php echo vtranslate($_smarty_tpl->tpl_vars['SETTINGS_LINK']->value['linklabel'],$_smarty_tpl->tpl_vars['MODULE_NAME']->value,vtranslate("SINGLE_".($_smarty_tpl->tpl_vars['MODULE_NAME']->value),$_smarty_tpl->tpl_vars['MODULE_NAME']->value));?>
|
||||
|
||||
</a>
|
||||
</li>
|
||||
<?php } ?>
|
||||
</ul>
|
||||
</span>
|
||||
<?php }?>
|
||||
<?php }?>
|
||||
<span class="pull-right">
|
||||
<?php if ($_smarty_tpl->tpl_vars['EXTENSION']->value->get('website')!=''){?>
|
||||
<button class="btn installExtension addButton" style="margin-right:5px;" data-url="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->get('website');?>
|
||||
"><?php echo vtranslate('LBL_MORE_DETAILS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<?php }?>
|
||||
</span>
|
||||
</td>
|
||||
</tr><?php }} ?>
|
||||
@@ -0,0 +1,72 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:19
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Language.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1066466725692d7db34461f4-34181356%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'932b8a57cc06d05687d59288f8f2987115ebac0a' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/rows/Language.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1066466725692d7db34461f4-34181356',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'LANGUAGE' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'LANG_KEY' => 0,
|
||||
'ALL_LANGUAGES' => 0,
|
||||
'EXTENSION' => 0,
|
||||
'IS_AUTH' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db34505c',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db34505c')) {function content_692d7db34505c($_smarty_tpl) {?>
|
||||
<?php if ($_smarty_tpl->tpl_vars['LANGUAGE']->value->isVtigerCompatible()&&!$_smarty_tpl->tpl_vars['LANGUAGE']->value->isAlreadyExists()&&($_smarty_tpl->tpl_vars['LANGUAGE']->value->get('price')=='Free'||$_smarty_tpl->tpl_vars['LANGUAGE']->value->get('price')==0||$_smarty_tpl->tpl_vars['LANGUAGE']->value->get('available')==1)){?>
|
||||
<tr class="" data-cfmid="1">
|
||||
<td style="border-left:none;border-right:none;"><?php echo vtranslate($_smarty_tpl->tpl_vars['LANGUAGE']->value->get('label'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</td>
|
||||
<td colspan="2" style="border-left:none;border-right:none;"><?php echo vtranslate($_smarty_tpl->tpl_vars['LANGUAGE']->value->get('description'),$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</td>
|
||||
<td style="border-left:none;border-right:none;">
|
||||
<span class="extension_container">
|
||||
<input type="hidden" name="extensionName" value="<?php echo $_smarty_tpl->tpl_vars['LANGUAGE']->value->get('name');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionUrl" value="<?php echo $_smarty_tpl->tpl_vars['LANGUAGE']->value->get('downloadURL');?>
|
||||
"/>
|
||||
<input type="hidden" name="extensionId" value="<?php echo $_smarty_tpl->tpl_vars['LANGUAGE']->value->get('id');?>
|
||||
"/>
|
||||
<input type="hidden" name="moduleMode" value="oneClickInstall"/>
|
||||
<span class="pull-left">
|
||||
<?php if ($_smarty_tpl->tpl_vars['LANGUAGE']->value->get('website')!=''){?>
|
||||
<button class="btn installExtension addButton" style="margin-right:5px;" data-url="<?php echo $_smarty_tpl->tpl_vars['LANGUAGE']->value->get('website');?>
|
||||
"><?php echo vtranslate('LBL_MORE_DETAILS',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<?php }?>
|
||||
<?php $_smarty_tpl->tpl_vars['LANG_KEY'] = new Smarty_variable($_smarty_tpl->tpl_vars['LANGUAGE']->value->get('name'), null, 0);?>
|
||||
|
||||
<?php if ($_smarty_tpl->tpl_vars['ALL_LANGUAGES']->value[$_smarty_tpl->tpl_vars['LANG_KEY']->value]!=''){?>
|
||||
<?php if ($_smarty_tpl->tpl_vars['LANGUAGE']->value->isUpgradableLanguage()){?>
|
||||
<input type="hidden" name="moduleAction" value="Update"/>
|
||||
<input type="hidden" name="moduleMessage" value="<?php echo $_smarty_tpl->tpl_vars['EXTENSION']->value->getUpdateMessage();?>
|
||||
"/>
|
||||
<button class="oneClickInstall isUpdateBtn btn btn-success <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>"><?php echo vtranslate('LBL_UPDATE',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<?php }?>
|
||||
<?php }else{ ?>
|
||||
<input type="hidden" name="moduleAction" value="Install"/>
|
||||
<button class="oneClickInstall btn btn-primary <?php if ($_smarty_tpl->tpl_vars['IS_AUTH']->value){?>authenticated <?php }else{ ?> loginRequired<?php }?>"><?php echo vtranslate('LBL_INSTALL',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button>
|
||||
<?php }?>
|
||||
</span>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php }?><?php }} ?>
|
||||
@@ -0,0 +1,33 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:19
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/ITS4YouInstaller/Footer.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1227403974692d7db34ea0c8-58741971%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'9c5e9640e3931be8c48194db9b7adb210cfec3a1' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/ITS4YouInstaller/Footer.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1227403974692d7db34ea0c8-58741971',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'MODULE' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db34ecaa',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db34ecaa')) {function content_692d7db34ecaa($_smarty_tpl) {?>
|
||||
|
||||
<br><div class="small" style="color: rgb(153, 153, 153);text-align: center;"><?php echo vtranslate($_smarty_tpl->tpl_vars['MODULE']->value,$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
<?php echo ITS4YouInstaller_Version_Helper::$version;?>
|
||||
<?php echo vtranslate("COPYRIGHT",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("Footer.tpl",'Vtiger'), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php }} ?>
|
||||
@@ -0,0 +1,40 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:15
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ModuleHeader.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1142951268692d7daf7327e8-89842811%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'd6122821d12347e90db1f909ce8b741ebb02e65c' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ModuleHeader.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1142951268692d7daf7327e8-89842811',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'MODULE' => 0,
|
||||
'REQUIREMENTS' => 0,
|
||||
'MODULE_MODEL' => 0,
|
||||
'PASSWORD_STATUS' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'USER_NAME' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7daf73a4f',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7daf73a4f')) {function content_692d7daf73a4f($_smarty_tpl) {?>
|
||||
<div class="col-sm-12 col-xs-12 module-action-bar clearfix coloredBorderTop"><div class="module-action-content clearfix"><div class="col-lg-4 col-md-4"><h4 title="<?php echo strtoupper(vtranslate($_smarty_tpl->tpl_vars['MODULE']->value,$_smarty_tpl->tpl_vars['MODULE']->value));?>
|
||||
" class="module-title pull-left text-uppercase"> <?php echo strtoupper(vtranslate($_smarty_tpl->tpl_vars['MODULE']->value,$_smarty_tpl->tpl_vars['MODULE']->value));?>
|
||||
</h4></div><div class="col-lg-8 col-md-8"><div class="navbar-right"><ul class="nav navbar-nav"><li><?php if ($_smarty_tpl->tpl_vars['REQUIREMENTS']->value){?><a href="<?php echo $_smarty_tpl->tpl_vars['MODULE_MODEL']->value->getRequirementsUrl();?>
|
||||
"><div class="requirements-alert btn btn-<?php echo $_smarty_tpl->tpl_vars['REQUIREMENTS']->value->getButtonType();?>
|
||||
"><?php echo vtranslate('LBL_SYSTEM_REQUIREMENTS',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</div></a> <?php if (!($_smarty_tpl->tpl_vars['PASSWORD_STATUS']->value)){?><a href="index.php?module=ITS4YouInstaller&parent=Settings&view=Login"><div class="btn btn-default"><div class="fa fa-sign-in" aria-hidden="true"></div> <?php echo vtranslate('LBL_LOGIN',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</div></a><?php }else{ ?><button class="btn btn-default module-buttons" type="button" style="text-transform:none"><?php echo $_smarty_tpl->tpl_vars['USER_NAME']->value;?>
|
||||
</button> <button class="btn btn-danger" type="button" id="logoutInstaller"><span class="fa fa-power-off"></span> <?php echo vtranslate('LBL_LOGOUT',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</button><?php }?><?php }?></li></ul></div></div></div></div><?php }} ?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:18
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ExtensionModules.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1675053873692d7db2bd44e0-71310479%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'e9a6234e5493fa18cfea6a24c07420f0c3d84fbe' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/ExtensionModules.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1675053873692d7db2bd44e0-71310479',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'REGISTRATION_STATUS' => 0,
|
||||
'PASSWORD_STATUS' => 0,
|
||||
'QUALIFIED_MODULE' => 0,
|
||||
'IS_HOSTING_LICENSE' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7db2bd923',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7db2bd923')) {function content_692d7db2bd923($_smarty_tpl) {?>
|
||||
<?php $_smarty_tpl->tpl_vars['IS_AUTH'] = new Smarty_variable(($_smarty_tpl->tpl_vars['REGISTRATION_STATUS']->value&&$_smarty_tpl->tpl_vars['PASSWORD_STATUS']->value), null, 0);?><div class="col-lg-12"><br><ul class="nav nav-tabs layoutTabs massEditTabs"><li class="tab-item taxesTab active"><a data-toggle="tab" href="#installedModules"><strong><?php echo vtranslate('LBL_INSTALLED_AND_AVAILABLE_MODULES',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</strong></a></li><?php if (!$_smarty_tpl->tpl_vars['IS_HOSTING_LICENSE']->value){?><li class="tab-item chargesTab"><a data-toggle="tab" href="#modulesShop"><strong><?php echo vtranslate('LBL_MODULES_SHOP',$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value);?>
|
||||
</strong></a></li><?php }?></ul><br></div><div class="tab-content layoutContent overflowVisible" style="height:100%"><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("InstalledModules.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php if (!$_smarty_tpl->tpl_vars['IS_HOSTING_LICENSE']->value){?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("ModulesShop.tpl",$_smarty_tpl->tpl_vars['QUALIFIED_MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
<?php }?></div><?php }} ?>
|
||||
@@ -0,0 +1,34 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 14:36:15
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/partials/SidebarHeader.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1416440694692d7daf71c303-29829196%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'ead00ec4d912cd21b4cc34cbb51b3d17303a2a15' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Settings/ITS4YouInstaller/partials/SidebarHeader.tpl',
|
||||
1 => 1715158481,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1416440694692d7daf71c303-29829196',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d7daf71fc2',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d7daf71fc2')) {function content_692d7daf71fc2($_smarty_tpl) {?>
|
||||
<?php $_smarty_tpl->tpl_vars['APP_IMAGE_MAP'] = new Smarty_variable(array('MARKETING'=>'fa-users','SALES'=>'fa-dot-circle-o','SUPPORT'=>'fa-life-ring','INVENTORY'=>'vicon-inventory','PROJECT'=>'fa-briefcase','TOOLS'=>'fa-wrench'), null, 0);?>
|
||||
|
||||
<div class="col-sm-12 col-xs-12 app-indicator-icon-container extensionstore app-MARKETING">
|
||||
<div class="row" title="<?php echo vtranslate('LBL_EXTENSION_STORE','Settings:$QUALIFIED_MODULE');?>
|
||||
">
|
||||
<span class="app-indicator-icon cursorPointer fa fa-shopping-cart"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php echo $_smarty_tpl->getSubTemplate ("modules/Vtiger/partials/SidebarAppMenu.tpl", $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array(), 0);?>
|
||||
|
||||
<?php }} ?>
|
||||
@@ -0,0 +1,123 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-12-01 11:07:28
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Vtiger/ComposeEmailForm.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:1677924967692d4cc048bb13-61147121%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
'fb6115f18c6b30e03a23a6d3b1181ded88013eb6' =>
|
||||
array (
|
||||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Vtiger/ComposeEmailForm.tpl',
|
||||
1 => 1711810494,
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '1677924967692d4cc048bb13-61147121',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
'variables' =>
|
||||
array (
|
||||
'MODULE' => 0,
|
||||
'SELECTED_IDS' => 0,
|
||||
'EXCLUDED_IDS' => 0,
|
||||
'VIEWNAME' => 0,
|
||||
'TOMAIL_INFO' => 0,
|
||||
'TO' => 0,
|
||||
'TOMAIL_NAMES_LIST' => 0,
|
||||
'MAX_UPLOAD_SIZE' => 0,
|
||||
'EMAIL_MODE' => 0,
|
||||
'SOURCE_MODULE' => 0,
|
||||
'PARENT_EMAIL_ID' => 0,
|
||||
'PARENT_RECORD' => 0,
|
||||
'RECORDID' => 0,
|
||||
'SEARCH_KEY' => 0,
|
||||
'OPERATOR' => 0,
|
||||
'ALPHABET_VALUE' => 0,
|
||||
'SEARCH_PARAMS' => 0,
|
||||
'TO_EMAILS' => 0,
|
||||
'RELATED_MODULES' => 0,
|
||||
'MODULE_NAME' => 0,
|
||||
'FIELD_MODULE' => 0,
|
||||
'CC' => 0,
|
||||
'BCC' => 0,
|
||||
'SUBJECT' => 0,
|
||||
'FILE_ATTACHED' => 0,
|
||||
'DOCUMENTS_URL' => 0,
|
||||
'ATTACHMENTS' => 0,
|
||||
'ATTACHMENT' => 0,
|
||||
'FILE_TYPE' => 0,
|
||||
'DOCUMENT_ID' => 0,
|
||||
'DESCRIPTION' => 0,
|
||||
'RELATED_LOAD' => 0,
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_692d4cc04e2c1',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_692d4cc04e2c1')) {function content_692d4cc04e2c1($_smarty_tpl) {?>
|
||||
|
||||
|
||||
<div class="SendEmailFormStep2 modal-dialog modal-lg" id="composeEmailContainer"><div class="modal-content"><form class="form-horizontal" id="massEmailForm" method="post" action="index.php" enctype="multipart/form-data" name="massEmailForm"><?php ob_start();?><?php echo vtranslate('LBL_COMPOSE_EMAIL',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
<?php $_tmp1=ob_get_clean();?><?php echo $_smarty_tpl->getSubTemplate (vtemplate_path("ModalHeader.tpl",$_smarty_tpl->tpl_vars['MODULE']->value), $_smarty_tpl->cache_id, $_smarty_tpl->compile_id, null, null, array('TITLE'=>$_tmp1), 0);?>
|
||||
<div class="modal-body"><input type="hidden" name="selected_ids" value='<?php echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['SELECTED_IDS']->value);?>
|
||||
' /><input type="hidden" name="excluded_ids" value='<?php echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['EXCLUDED_IDS']->value);?>
|
||||
' /><input type="hidden" name="viewname" value="<?php echo $_smarty_tpl->tpl_vars['VIEWNAME']->value;?>
|
||||
" /><input type="hidden" name="module" value="<?php echo $_smarty_tpl->tpl_vars['MODULE']->value;?>
|
||||
"/><input type="hidden" name="mode" value="massSave" /><input type="hidden" name="toemailinfo" value='<?php echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['TOMAIL_INFO']->value);?>
|
||||
' /><input type="hidden" name="view" value="MassSaveAjax" /><input type="hidden" name="to" value='<?php echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['TO']->value);?>
|
||||
' /><input type="hidden" name="toMailNamesList" value='<?php echo $_smarty_tpl->tpl_vars['TOMAIL_NAMES_LIST']->value;?>
|
||||
'/><input type="hidden" id="flag" name="flag" value="" /><input type="hidden" id="maxUploadSize" value="<?php echo $_smarty_tpl->tpl_vars['MAX_UPLOAD_SIZE']->value;?>
|
||||
" /><input type="hidden" id="documentIds" name="documentids" value="" /><input type="hidden" name="emailMode" value="<?php echo $_smarty_tpl->tpl_vars['EMAIL_MODE']->value;?>
|
||||
" /><input type="hidden" name="source_module" value="<?php echo $_smarty_tpl->tpl_vars['SOURCE_MODULE']->value;?>
|
||||
" /><?php if (!empty($_smarty_tpl->tpl_vars['PARENT_EMAIL_ID']->value)){?><input type="hidden" name="parent_id" value="<?php echo $_smarty_tpl->tpl_vars['PARENT_EMAIL_ID']->value;?>
|
||||
" /><input type="hidden" name="parent_record_id" value="<?php echo $_smarty_tpl->tpl_vars['PARENT_RECORD']->value;?>
|
||||
" /><?php }?><?php if (!empty($_smarty_tpl->tpl_vars['RECORDID']->value)){?><input type="hidden" name="record" value="<?php echo $_smarty_tpl->tpl_vars['RECORDID']->value;?>
|
||||
" /><?php }?><input type="hidden" name="search_key" value= "<?php echo $_smarty_tpl->tpl_vars['SEARCH_KEY']->value;?>
|
||||
" /><input type="hidden" name="operator" value="<?php echo $_smarty_tpl->tpl_vars['OPERATOR']->value;?>
|
||||
" /><input type="hidden" name="search_value" value="<?php echo $_smarty_tpl->tpl_vars['ALPHABET_VALUE']->value;?>
|
||||
" /><input type="hidden" name="search_params" value='<?php echo Vtiger_Util_Helper::toSafeHTML(ZEND_JSON::encode($_smarty_tpl->tpl_vars['SEARCH_PARAMS']->value));?>
|
||||
' /><div class="row toEmailField"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_TO',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
<span class="redColor">*</span></span></div><div class="col-lg-6"><?php if (!empty($_smarty_tpl->tpl_vars['TO']->value)){?><?php $_smarty_tpl->tpl_vars['TO_EMAILS'] = new Smarty_variable(implode(",",$_smarty_tpl->tpl_vars['TO']->value), null, 0);?><?php }?><input id="emailField" style="width:100%" name="toEmail" type="text" class="autoComplete sourceField select2" data-rule-required="true" data-rule-multiEmails="true" value="<?php echo $_smarty_tpl->tpl_vars['TO_EMAILS']->value;?>
|
||||
" placeholder="<?php echo vtranslate('LBL_TYPE_AND_SEARCH',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
"></div><div class="col-lg-4 input-group"><select style="width: 140px;" class="select2 emailModulesList pull-right"><?php $_smarty_tpl->tpl_vars['MODULE_NAME'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['MODULE_NAME']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['RELATED_MODULES']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['MODULE_NAME']->key => $_smarty_tpl->tpl_vars['MODULE_NAME']->value){
|
||||
$_smarty_tpl->tpl_vars['MODULE_NAME']->_loop = true;
|
||||
?><option value="<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||||
" <?php if ($_smarty_tpl->tpl_vars['MODULE_NAME']->value==$_smarty_tpl->tpl_vars['FIELD_MODULE']->value){?> selected <?php }?>><?php echo vtranslate($_smarty_tpl->tpl_vars['MODULE_NAME']->value,$_smarty_tpl->tpl_vars['MODULE_NAME']->value);?>
|
||||
</option><?php } ?></select><a href="#" class="clearReferenceSelection cursorPointer" name="clearToEmailField"> X </a><span class="input-group-addon"><span class="selectEmail cursorPointer"><i class="fa fa-search" title="<?php echo vtranslate('LBL_SELECT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
"></i></span></span></div></div></div><div class="row <?php if (empty($_smarty_tpl->tpl_vars['CC']->value)){?> hide <?php }?> ccContainer"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_CC',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</span></div><div class="col-lg-6"><input type="text" name="cc" data-rule-multiEmails="true" value="<?php if (!empty($_smarty_tpl->tpl_vars['CC']->value)){?><?php echo $_smarty_tpl->tpl_vars['CC']->value;?>
|
||||
<?php }?>"/></div><div class="col-lg-4"></div></div></div><div class="row <?php if (empty($_smarty_tpl->tpl_vars['BCC']->value)){?> hide <?php }?> bccContainer"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_BCC',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</span></div><div class="col-lg-6"><input type="text" name="bcc" data-rule-multiEmails="true" value="<?php if (!empty($_smarty_tpl->tpl_vars['BCC']->value)){?><?php echo $_smarty_tpl->tpl_vars['BCC']->value;?>
|
||||
<?php }?>"/></div><div class="col-lg-4"></div></div></div><div class="row <?php if ((!empty($_smarty_tpl->tpl_vars['CC']->value))&&(!empty($_smarty_tpl->tpl_vars['BCC']->value))){?> hide <?php }?> "><div class="col-lg-12"><div class="col-lg-2"></div><div class="col-lg-6"><a href="#" class="cursorPointer <?php if ((!empty($_smarty_tpl->tpl_vars['CC']->value))){?>hide<?php }?>" id="ccLink"><?php echo vtranslate('LBL_ADD_CC',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</a> <a href="#" class="cursorPointer <?php if ((!empty($_smarty_tpl->tpl_vars['BCC']->value))){?>hide<?php }?>" id="bccLink"><?php echo vtranslate('LBL_ADD_BCC',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</a></div><div class="col-lg-4"></div></div></div><div class="row subjectField"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_SUBJECT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
<span class="redColor">*</span></span></div><div class="col-lg-6"><input type="text" name="subject" value="<?php echo $_smarty_tpl->tpl_vars['SUBJECT']->value;?>
|
||||
" data-rule-required="true" id="subject" spellcheck="true" class="inputElement"/></div><div class="col-lg-4"></div></div></div><div class="row attachment"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_ATTACHMENT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</span></div><div class="col-lg-9"><div class="row"><div class="col-lg-4 browse"><input type="file" <?php if ($_smarty_tpl->tpl_vars['FILE_ATTACHED']->value){?>class="removeNoFileChosen"<?php }?> id="multiFile" name="file[]"/> </div><div class="col-lg-4 brownseInCrm"><button type="button" class="btn btn-small btn-default" id="browseCrm" data-url="<?php echo $_smarty_tpl->tpl_vars['DOCUMENTS_URL']->value;?>
|
||||
" title="<?php echo vtranslate('LBL_BROWSE_CRM',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
"><?php echo vtranslate('LBL_BROWSE_CRM',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</button></div><div class="col-lg-4 insertTemplate"><button id="selectEmailTemplate" class="btn btn-success pull-right" data-url="module=EmailTemplates&view=Popup"><?php echo vtranslate('LBL_SELECT_EMAIL_TEMPLATE',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</button></div></div><div id="attachments"><?php $_smarty_tpl->tpl_vars['ATTACHMENT'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['ATTACHMENT']->_loop = false;
|
||||
$_from = $_smarty_tpl->tpl_vars['ATTACHMENTS']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||||
foreach ($_from as $_smarty_tpl->tpl_vars['ATTACHMENT']->key => $_smarty_tpl->tpl_vars['ATTACHMENT']->value){
|
||||
$_smarty_tpl->tpl_vars['ATTACHMENT']->_loop = true;
|
||||
?><?php if ((array_key_exists('docid',$_smarty_tpl->tpl_vars['ATTACHMENT']->value))){?><?php $_smarty_tpl->tpl_vars['DOCUMENT_ID'] = new Smarty_variable($_smarty_tpl->tpl_vars['ATTACHMENT']->value['docid'], null, 0);?><?php $_smarty_tpl->tpl_vars['FILE_TYPE'] = new Smarty_variable("document", null, 0);?><?php }else{ ?><?php $_smarty_tpl->tpl_vars['FILE_TYPE'] = new Smarty_variable("file", null, 0);?><?php }?><div class="MultiFile-label customAttachment" data-file-id="<?php echo $_smarty_tpl->tpl_vars['ATTACHMENT']->value['fileid'];?>
|
||||
" data-file-type="<?php echo $_smarty_tpl->tpl_vars['FILE_TYPE']->value;?>
|
||||
" data-file-size="<?php echo $_smarty_tpl->tpl_vars['ATTACHMENT']->value['size'];?>
|
||||
" <?php if ($_smarty_tpl->tpl_vars['FILE_TYPE']->value=="document"){?> data-document-id="<?php echo $_smarty_tpl->tpl_vars['DOCUMENT_ID']->value;?>
|
||||
"<?php }?>><?php if ($_smarty_tpl->tpl_vars['ATTACHMENT']->value['nondeletable']!=true){?><a name="removeAttachment" class="cursorPointer">x </a><?php }?><span><?php echo $_smarty_tpl->tpl_vars['ATTACHMENT']->value['attachment'];?>
|
||||
</span></div><?php } ?></div></div></div></div><div class="row"><div class="col-lg-12"><div class="col-lg-2"><span class="pull-right"><?php echo vtranslate('LBL_INCLUDE_SIGNATURE',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</span></div><div class="item col-lg-9"><input class="" type="checkbox" name="signature" value="Yes" checked="checked" id="signature"></div></div></div><div class="container-fluid hide" id='emailTemplateWarning'><div class="alert alert-warning fade in"><a href="#" class="close" data-dismiss="alert">×</a><p><?php echo vtranslate('LBL_EMAILTEMPLATE_WARNING_CONTENT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</p></div></div><div class="row templateContent"><div class="col-lg-12"><textarea style="width:390px;height:200px;" id="description" name="description"><?php echo $_smarty_tpl->tpl_vars['DESCRIPTION']->value;?>
|
||||
</textarea></div></div><?php if ($_smarty_tpl->tpl_vars['RELATED_LOAD']->value==true){?><input type="hidden" name="related_load" value=<?php echo $_smarty_tpl->tpl_vars['RELATED_LOAD']->value;?>
|
||||
/><?php }?><input type="hidden" name="attachments" value='<?php echo ZEND_JSON::encode($_smarty_tpl->tpl_vars['ATTACHMENTS']->value);?>
|
||||
' /><div id="emailTemplateWarningContent" style="display: none;"><?php echo vtranslate('LBL_EMAILTEMPLATE_WARNING_CONTENT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</div></div><div class="modal-footer"><div class="pull-right cancelLinkContainer"><a href="#" class="cancelLink" type="reset" data-dismiss="modal"><?php echo vtranslate('LBL_CANCEL',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</a></div><button id="sendEmail" name="sendemail" class="btn btn-success" title="<?php echo vtranslate("LBL_SEND_EMAIL",$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
" type="submit"><strong><?php echo vtranslate("LBL_SEND_EMAIL",$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</strong></button><button id="saveDraft" name="savedraft" class="btn btn-default" title="<?php echo vtranslate('LBL_SAVE_AS_DRAFT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
" type="submit"><strong><?php echo vtranslate('LBL_SAVE_AS_DRAFT',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||||
</strong></button></div></form></div></div>
|
||||
<?php }} ?>
|
||||
@@ -44,7 +44,8 @@ class ClaimCreateRequest(BaseModel):
|
||||
|
||||
# Шаг 3: Данные для выплаты
|
||||
payment_method: str = "sbp" # "sbp", "card", "bank_transfer"
|
||||
bank_name: Optional[str] = None
|
||||
bank_id: Optional[str] = None # ID банка из NSPK API (bankid)
|
||||
bank_name: Optional[str] = None # Название банка для отображения
|
||||
card_number: Optional[str] = None
|
||||
account_number: Optional[str] = None
|
||||
|
||||
|
||||
@@ -432,3 +432,7 @@ return [
|
||||
- `ticket_form/frontend/src/components/form/generateConfirmationFormHTML.ts` — шаблон формы заявления
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -98,3 +98,7 @@ check_all_ready (FALSE) → (конец)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -31,3 +31,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,3 +19,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -18,3 +18,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,3 +20,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -19,3 +19,7 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
8927
ticket_form/frontend/package-lock.json
generated
Normal file
8927
ticket_form/frontend/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
@@ -1,11 +1,17 @@
|
||||
import { useState } from 'react';
|
||||
import { useState, useEffect } from 'react';
|
||||
import { Form, Input, Button, Select, message, Space, Divider } from 'antd';
|
||||
import { PhoneOutlined, SafetyOutlined, QrcodeOutlined, MailOutlined, CopyOutlined } from '@ant-design/icons';
|
||||
|
||||
const API_BASE_URL = import.meta.env.VITE_API_URL || 'http://localhost:8200';
|
||||
const NSPK_BANKS_API = 'http://212.193.27.93/api/payouts/dictionaries/nspk-banks';
|
||||
|
||||
const { Option } = Select;
|
||||
|
||||
interface Bank {
|
||||
bankid: string;
|
||||
bankname: string;
|
||||
}
|
||||
|
||||
interface Props {
|
||||
formData: any;
|
||||
updateFormData: (data: any) => void;
|
||||
@@ -31,6 +37,53 @@ export default function Step3Payment({
|
||||
const [verifyLoading, setVerifyLoading] = useState(false);
|
||||
const [submitting, setSubmitting] = useState(false);
|
||||
const [debugCode, setDebugCode] = useState<string | null>(formData.smsDebugCode ?? null);
|
||||
const [banks, setBanks] = useState<Bank[]>([]);
|
||||
const [banksLoading, setBanksLoading] = useState(false);
|
||||
|
||||
// Загрузка списка банков при монтировании компонента
|
||||
useEffect(() => {
|
||||
const loadBanks = async () => {
|
||||
try {
|
||||
setBanksLoading(true);
|
||||
addDebugEvent?.('banks', 'pending', '📋 Загружаю список банков СБП...');
|
||||
|
||||
const response = await fetch(NSPK_BANKS_API);
|
||||
|
||||
if (!response.ok) {
|
||||
throw new Error(`HTTP ${response.status}`);
|
||||
}
|
||||
|
||||
const banksData: Bank[] = await response.json();
|
||||
|
||||
// Сортируем по названию для удобства
|
||||
banksData.sort((a, b) => a.bankname.localeCompare(b.bankname, 'ru'));
|
||||
|
||||
setBanks(banksData);
|
||||
addDebugEvent?.('banks', 'success', `✅ Загружено ${banksData.length} банков`, { count: banksData.length });
|
||||
|
||||
// Если есть сохранённый bankName, но нет bankId - пытаемся найти по названию
|
||||
if (formData.bankName && !formData.bankId) {
|
||||
const foundBank = banksData.find(b =>
|
||||
b.bankname.toLowerCase() === formData.bankName.toLowerCase() ||
|
||||
b.bankname.toLowerCase().includes(formData.bankName.toLowerCase())
|
||||
);
|
||||
if (foundBank) {
|
||||
updateFormData({ bankId: foundBank.bankid });
|
||||
form.setFieldsValue({ bankId: foundBank.bankid });
|
||||
}
|
||||
}
|
||||
} catch (error: any) {
|
||||
console.error('Ошибка загрузки банков:', error);
|
||||
addDebugEvent?.('banks', 'error', `❌ Ошибка загрузки банков: ${error.message}`, { error: error.message });
|
||||
message.error('Не удалось загрузить список банков. Попробуйте обновить страницу.');
|
||||
} finally {
|
||||
setBanksLoading(false);
|
||||
}
|
||||
};
|
||||
|
||||
loadBanks();
|
||||
// eslint-disable-next-line react-hooks/exhaustive-deps
|
||||
}, []); // Загружаем банки только при монтировании
|
||||
|
||||
const sendCode = async () => {
|
||||
try {
|
||||
@@ -136,11 +189,21 @@ export default function Step3Payment({
|
||||
}
|
||||
};
|
||||
|
||||
// Инициализация формы с bankId если есть
|
||||
useEffect(() => {
|
||||
if (formData.bankId) {
|
||||
form.setFieldsValue({ bankId: formData.bankId });
|
||||
}
|
||||
}, [formData.bankId, form]);
|
||||
|
||||
return (
|
||||
<Form
|
||||
form={form}
|
||||
layout="vertical"
|
||||
initialValues={formData}
|
||||
initialValues={{
|
||||
...formData,
|
||||
bankId: formData.bankId || formData.bankName, // Fallback на bankName для совместимости
|
||||
}}
|
||||
style={{ marginTop: 24 }}
|
||||
>
|
||||
{/* Скрытые технические поля */}
|
||||
@@ -316,31 +379,37 @@ export default function Step3Payment({
|
||||
|
||||
<Form.Item
|
||||
label="Выберите ваш банк"
|
||||
name="bankName"
|
||||
name="bankId"
|
||||
rules={[{ required: true, message: 'Выберите банк для получения выплаты' }]}
|
||||
>
|
||||
<Select
|
||||
placeholder="Выберите банк"
|
||||
placeholder={banksLoading ? "Загрузка списка банков..." : "Выберите банк"}
|
||||
size="large"
|
||||
showSearch
|
||||
loading={banksLoading}
|
||||
notFoundContent={banksLoading ? "Загрузка..." : "Банк не найден"}
|
||||
filterOption={(input: string, option: any) => {
|
||||
const children = option?.children;
|
||||
if (typeof children === 'string') {
|
||||
return children.toLowerCase().includes(input.toLowerCase());
|
||||
const label = option?.label || option?.children;
|
||||
if (typeof label === 'string') {
|
||||
return label.toLowerCase().includes(input.toLowerCase());
|
||||
}
|
||||
return false;
|
||||
}}
|
||||
onChange={(value) => {
|
||||
const selectedBank = banks.find(b => b.bankid === value);
|
||||
if (selectedBank) {
|
||||
updateFormData({
|
||||
bankId: selectedBank.bankid,
|
||||
bankName: selectedBank.bankname
|
||||
});
|
||||
}
|
||||
}}
|
||||
>
|
||||
<Option value="sberbank">🟢 Сбербанк</Option>
|
||||
<Option value="tinkoff">🟡 Тинькофф</Option>
|
||||
<Option value="vtb">🔵 ВТБ</Option>
|
||||
<Option value="alfabank">🔴 Альфа-Банк</Option>
|
||||
<Option value="raiffeisen">🟡 Райффайзенбанк</Option>
|
||||
<Option value="gazprombank">🔵 Газпромбанк</Option>
|
||||
<Option value="rosbank">🔴 Росбанк</Option>
|
||||
<Option value="sovcombank">🟢 Совкомбанк</Option>
|
||||
<Option value="otkritie">🔵 Открытие</Option>
|
||||
<Option value="other">💳 Другой банк</Option>
|
||||
{banks.map((bank) => (
|
||||
<Option key={bank.bankid} value={bank.bankid} label={bank.bankname}>
|
||||
{bank.bankname}
|
||||
</Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
|
||||
@@ -387,7 +456,8 @@ export default function Step3Payment({
|
||||
email: 'test@test.ru',
|
||||
phone: '+79991234567',
|
||||
paymentMethod: 'sbp',
|
||||
bankName: 'sberbank',
|
||||
bankId: banks.length > 0 ? banks[0].bankid : '100000000111', // Сбербанк по умолчанию
|
||||
bankName: banks.length > 0 ? banks[0].bankname : 'Сбербанк',
|
||||
};
|
||||
updateFormData(devData);
|
||||
message.success('DEV: Телефон автоматически подтверждён');
|
||||
@@ -407,7 +477,8 @@ export default function Step3Payment({
|
||||
email: 'test@test.ru',
|
||||
phone: '+79991234567',
|
||||
paymentMethod: 'sbp',
|
||||
bankName: 'sberbank',
|
||||
bankId: banks.length > 0 ? banks[0].bankid : '100000000111', // Сбербанк по умолчанию
|
||||
bankName: banks.length > 0 ? banks[0].bankname : 'Сбербанк',
|
||||
};
|
||||
updateFormData(devData);
|
||||
onSubmit();
|
||||
|
||||
@@ -773,6 +773,14 @@ export function generateConfirmationFormHTML(data: any): string {
|
||||
return '<textarea class="inline-field bind full-width" data-root="' + esc(root) + '" data-key="' + esc(key) + '" id="' + id + '">' + esc(value || '') + '</textarea>';
|
||||
}
|
||||
|
||||
function createBankSelect(root, key, value) {
|
||||
var id = 'field_' + root + '_' + key + '_' + Math.random().toString(36).slice(2);
|
||||
var selectHtml = '<select class="inline-field bind bank-select" data-root="' + esc(root) + '" data-key="' + esc(key) + '" id="' + id + '">';
|
||||
selectHtml += '<option value="">Загрузка списка банков...</option>';
|
||||
selectHtml += '</select>';
|
||||
return selectHtml;
|
||||
}
|
||||
|
||||
function createCheckbox(root, key, checked, labelText, required) {
|
||||
var id = 'field_' + root + '_' + key + '_' + Math.random().toString(36).slice(2);
|
||||
var checkedAttr = checked ? ' checked' : '';
|
||||
@@ -900,6 +908,9 @@ export function generateConfirmationFormHTML(data: any): string {
|
||||
// Возмещение
|
||||
html += '<h3 style="font-size:16px;margin:0 0 16px;color:#1f2937">Возмещение:</h3>';
|
||||
html += '<p>Выплата возмещения возможна по системе быстрых платежей (СБП) по номеру телефона заявителя: <strong id="phone-display">' + esc(u.mobile || '') + '</strong></p>';
|
||||
html += '<p><strong>Банк для получения выплаты:</strong> ';
|
||||
html += createBankSelect('user', 'bank_id', u.bank_id || '');
|
||||
html += '</p>';
|
||||
|
||||
html += '<div class="section-break"></div>';
|
||||
|
||||
@@ -1424,6 +1435,59 @@ export function generateConfirmationFormHTML(data: any): string {
|
||||
});
|
||||
}
|
||||
|
||||
// Загрузка списка банков СБП
|
||||
function loadBanks() {
|
||||
var bankSelects = document.querySelectorAll('.bank-select');
|
||||
if (bankSelects.length === 0) {
|
||||
console.log('Bank select fields not found');
|
||||
return;
|
||||
}
|
||||
|
||||
console.log('Loading NSPK banks...');
|
||||
|
||||
fetch('http://212.193.27.93/api/payouts/dictionaries/nspk-banks')
|
||||
.then(function(response) {
|
||||
if (!response.ok) throw new Error('HTTP ' + response.status);
|
||||
return response.json();
|
||||
})
|
||||
.then(function(banks) {
|
||||
console.log('Loaded ' + banks.length + ' banks');
|
||||
|
||||
// Сортируем по названию
|
||||
banks.sort(function(a, b) {
|
||||
return a.bankname.localeCompare(b.bankname, 'ru');
|
||||
});
|
||||
|
||||
// Заполняем все bank-select элементы
|
||||
Array.prototype.forEach.call(bankSelects, function(select) {
|
||||
var currentValue = select.getAttribute('data-selected') || state.user?.bank_id || '';
|
||||
select.innerHTML = '<option value="">Выберите банк</option>';
|
||||
|
||||
banks.forEach(function(bank) {
|
||||
var option = document.createElement('option');
|
||||
option.value = bank.bankid;
|
||||
option.textContent = bank.bankname;
|
||||
if (bank.bankid === currentValue) {
|
||||
option.selected = true;
|
||||
}
|
||||
select.appendChild(option);
|
||||
});
|
||||
|
||||
// Если выбран банк, обновляем стиль
|
||||
if (currentValue && select.value) {
|
||||
select.classList.add('filled');
|
||||
updateFieldStyle(select);
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(function(error) {
|
||||
console.error('Error loading banks:', error);
|
||||
Array.prototype.forEach.call(bankSelects, function(select) {
|
||||
select.innerHTML = '<option value="">Ошибка загрузки банков. Обновите страницу.</option>';
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initialize() {
|
||||
try {
|
||||
console.log('=== НАЧАЛО ИНИЦИАЛИЗАЦИИ ===');
|
||||
@@ -1451,6 +1515,12 @@ export function generateConfirmationFormHTML(data: any): string {
|
||||
renderStatement();
|
||||
console.log('renderStatement completed');
|
||||
|
||||
// Загружаем список банков СБП
|
||||
console.log('Loading banks...');
|
||||
setTimeout(function() {
|
||||
loadBanks();
|
||||
}, 100);
|
||||
|
||||
// Валидируем уже заполненные поля
|
||||
setTimeout(function(){
|
||||
console.log('Starting field validation...');
|
||||
|
||||
@@ -76,7 +76,8 @@ interface FormData {
|
||||
fullName?: string;
|
||||
email?: string;
|
||||
paymentMethod?: string;
|
||||
bankName?: string;
|
||||
bankId?: string; // ID банка из NSPK API
|
||||
bankName?: string; // Название банка для отображения
|
||||
cardNumber?: string;
|
||||
accountNumber?: string;
|
||||
}
|
||||
@@ -989,7 +990,8 @@ export default function ClaimForm() {
|
||||
email: formData.email,
|
||||
event_type: formData.eventType,
|
||||
payment_method: formData.paymentMethod,
|
||||
bank_name: formData.bankName,
|
||||
bank_id: formData.bankId, // ID банка из NSPK API
|
||||
bank_name: formData.bankName, // Название банка для отображения
|
||||
card_number: formData.cardNumber,
|
||||
account_number: formData.accountNumber,
|
||||
|
||||
|
||||
@@ -9,7 +9,15 @@ export default defineConfig({
|
||||
proxy: {
|
||||
'/api': {
|
||||
target: 'http://host.docker.internal:8200',
|
||||
changeOrigin: true
|
||||
changeOrigin: true,
|
||||
// SSE support
|
||||
configure: (proxy) => {
|
||||
proxy.on('proxyRes', (proxyRes) => {
|
||||
// Disable buffering for SSE
|
||||
proxyRes.headers['cache-control'] = 'no-cache';
|
||||
proxyRes.headers['x-accel-buffering'] = 'no';
|
||||
});
|
||||
}
|
||||
},
|
||||
'/events': {
|
||||
target: 'http://host.docker.internal:8200',
|
||||
|
||||
Reference in New Issue
Block a user