feat: OnlyOffice Standalone integration with S3 direct URLs
✅ ЧТО СДЕЛАНО: - Поднят новый standalone OnlyOffice Document Server (порт 8083) - Настроен Nginx для доступа через office.clientright.ru:9443 - Создан open_file_v3_standalone.php для работы с новым OnlyOffice - Реализована поддержка прямых S3 URL (bucket публичный) - Добавлен s3_proxy.php с поддержкой Range requests - Создан onlyoffice_callback.php для сохранения (базовая версия) - Файлы успешно открываются и загружаются! ⚠️ TODO (на завтра): - Доработать onlyoffice_callback.php для сохранения обратно в ОРИГИНАЛЬНЫЙ путь в S3 - Добавить Redis маппинг documentKey → S3 path - Обновить CRM JS для использования open_file_v3_standalone.php - Протестировать сохранение файлов - Удалить тестовые файлы 📊 РЕЗУЛЬТАТ: - OnlyOffice Standalone РАБОТАЕТ! ✅ - Файлы открываются напрямую из S3 ✅ - Редактор загружается БЫСТРО ✅ - Автосохранение настроено ✅ (но нужна доработка callback)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-10-23 11:29:10
|
||||
<?php /* Smarty version Smarty-3.1.7, created on 2025-10-31 22:28:03
|
||||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Vtiger/JSResources.tpl" */ ?>
|
||||
<?php /*%%SmartyHeaderCode:133799564068f9e7565621c9-06457585%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
<?php /*%%SmartyHeaderCode:34570912769050dc31ac515-15137090%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||||
'file_dependency' =>
|
||||
array (
|
||||
@@ -11,7 +11,7 @@ $_valid = $_smarty_tpl->decodeProperties(array (
|
||||
2 => 'file',
|
||||
),
|
||||
),
|
||||
'nocache_hash' => '133799564068f9e7565621c9-06457585',
|
||||
'nocache_hash' => '34570912769050dc31ac515-15137090',
|
||||
'function' =>
|
||||
array (
|
||||
),
|
||||
@@ -23,9 +23,9 @@ $_valid = $_smarty_tpl->decodeProperties(array (
|
||||
),
|
||||
'has_nocache_code' => false,
|
||||
'version' => 'Smarty-3.1.7',
|
||||
'unifunc' => 'content_68f9e75656bcb',
|
||||
'unifunc' => 'content_69050dc31b942',
|
||||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||||
<?php if ($_valid && !is_callable('content_68f9e75656bcb')) {function content_68f9e75656bcb($_smarty_tpl) {?>
|
||||
<?php if ($_valid && !is_callable('content_69050dc31b942')) {function content_69050dc31b942($_smarty_tpl) {?>
|
||||
<script type="text/javascript" src="layouts/v7/lib/jquery/purl.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2.min.js"></script><?php $_smarty_tpl->tpl_vars['USER_MODEL'] = new Smarty_variable(Users_Record_Model::getCurrentUserModel(), null, 0);?><?php if ($_smarty_tpl->tpl_vars['USER_MODEL']->value->get('language')=='ru_ru'){?><script type="text/javascript" src="layouts/v7/lib/jquery/select2/select2_locale_ru.js"></script><?php }?><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.class.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-ui-1.11.3.custom/jquery-ui.js"></script><script type="text/javascript" src="layouts/v7/lib/todc/js/bootstrap.min.js"></script><script type="text/javascript" src="libraries/jquery/jstorage.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-validation/jquery.validate.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.slimscroll.min.js"></script><script type="text/javascript" src="libraries/jquery/jquery.ba-outside-events.min.js"></script><script type="text/javascript" src="libraries/jquery/defunkt-jquery-pjax/jquery.pjax.js"></script><script type="text/javascript" src="libraries/jquery/multiplefileupload/jquery_MultiFile.js"></script><script type="text/javascript" src="resources/jquery.additions.js"></script><script type="text/javascript" src="layouts/v7/lib/bootstrap-notify/bootstrap-notify.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/websockets/reconnecting-websocket.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery-play-sound/jquery.playSound.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mousewheel.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/malihu-custom-scrollbar/jquery.mCustomScrollbar.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/autoComplete/jquery.textcomplete.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.qtip.custom/jquery.qtip.js"></script><script type="text/javascript" src="libraries/jquery/jquery-visibility.min.js"></script><script type="text/javascript" src="layouts/v7/lib/momentjs/moment.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/moment.min.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/daterangepicker/jquery.daterangepicker.js"></script><script type="text/javascript" src="layouts/v7/lib/jquery/jquery.timeago.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/ckeditor.js"></script><script type="text/javascript" src="libraries/jquery/ckeditor/adapters/jquery.js"></script><script type='text/javascript' src='layouts/v7/lib/anchorme_js/anchorme.min.js'></script><script type="text/javascript" src="<?php echo vresource_url('layouts/v7/modules/Vtiger/resources/Class.js');?>
|
||||
"></script><script type='text/javascript' src="<?php echo vresource_url('layouts/v7/resources/helper.js');?>
|
||||
"></script><script type="text/javascript" src="<?php echo vresource_url('layouts/v7/resources/application.js');?>
|
||||
|
||||
Reference in New Issue
Block a user