- Создан API create_document_with_text.php для создания DOCX/XLSX/PPTX с текстом от AI - Поддержка Markdown форматирования (заголовки, жирный, курсив, списки, код) - Установлен PHPWord для красивого форматирования документов - Исправлены пути сохранения (crm2/CRM_Active_Files/... без /crm/ в начале) - Замена пробелов на подчеркивания в именах папок - Создана документация для AI и разработчиков - Добавлены API для работы с шаблонами Nextcloud
82 lines
9.3 KiB
PHP
82 lines
9.3 KiB
PHP
<?php /* Smarty version Smarty-3.1.7, created on 2025-11-03 10:21:37
|
||
compiled from "/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Documents/DetailViewActions.tpl" */ ?>
|
||
<?php /*%%SmartyHeaderCode:40472444469085801885b78-71246764%%*/if(!defined('SMARTY_DIR')) exit('no direct access allowed');
|
||
$_valid = $_smarty_tpl->decodeProperties(array (
|
||
'file_dependency' =>
|
||
array (
|
||
'10dad4823495b016c676ca300b06707b11e8f200' =>
|
||
array (
|
||
0 => '/var/www/fastuser/data/www/crm.clientright.ru/includes/runtime/../../layouts/v7/modules/Documents/DetailViewActions.tpl',
|
||
1 => 1761984213,
|
||
2 => 'file',
|
||
),
|
||
),
|
||
'nocache_hash' => '40472444469085801885b78-71246764',
|
||
'function' =>
|
||
array (
|
||
),
|
||
'variables' =>
|
||
array (
|
||
'RECORD' => 0,
|
||
'MODULE_MODEL' => 0,
|
||
'STARRED' => 0,
|
||
'MODULE' => 0,
|
||
'crmid' => 0,
|
||
'DETAILVIEW_LINKS' => 0,
|
||
'MODULE_NAME' => 0,
|
||
'DETAIL_VIEW_BASIC_LINK' => 0,
|
||
'SELECTED_MENU_CATEGORY' => 0,
|
||
'DETAIL_VIEW_LINK' => 0,
|
||
'NO_PAGINATION' => 0,
|
||
'PREVIOUS_RECORD_URL' => 0,
|
||
'NEXT_RECORD_URL' => 0,
|
||
),
|
||
'has_nocache_code' => false,
|
||
'version' => 'Smarty-3.1.7',
|
||
'unifunc' => 'content_690858018a1f4',
|
||
),false); /*/%%SmartyHeaderCode%%*/?>
|
||
<?php if ($_valid && !is_callable('content_690858018a1f4')) {function content_690858018a1f4($_smarty_tpl) {?>
|
||
<div class="col-lg-6 detailViewButtoncontainer"><div class="pull-right btn-toolbar"><div class="btn-group"><?php $_smarty_tpl->tpl_vars['STARRED'] = new Smarty_variable($_smarty_tpl->tpl_vars['RECORD']->value->get('starred'), null, 0);?><?php if ($_smarty_tpl->tpl_vars['MODULE_MODEL']->value->isStarredEnabled()){?><button class="btn btn-default markStar <?php if ($_smarty_tpl->tpl_vars['STARRED']->value){?> active <?php }?>" id="starToggle" style="width:140px;"><div class='starredStatus' title="<?php echo vtranslate('LBL_FOLLOWING',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||
"><div class='unfollowMessage'><i class="fa fa-star-o"></i> <?php echo vtranslate('LBL_UNFOLLOW',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||
</div><div class='followMessage'><i class="fa fa-star active"></i> <?php echo vtranslate('LBL_FOLLOWING',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||
</div></div><div class='unstarredStatus' title="<?php echo vtranslate('LBL_NOT_FOLLOWING',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||
"><?php echo vtranslate('LBL_FOLLOW',$_smarty_tpl->tpl_vars['MODULE']->value);?>
|
||
</div></button><?php }?><?php if ($_smarty_tpl->tpl_vars['MODULE']->value=='Project'){?><?php $_smarty_tpl->tpl_vars["crmid"] = new Smarty_variable($_smarty_tpl->tpl_vars['RECORD']->value->get('id'), null, 0);?><?php if ($_smarty_tpl->tpl_vars['RECORD']->value->get('cf_1847')!=''){?><button class="btn btn-default" id="Project_detailView_basicAction_Video" onclick="javascript:Project_Detail_Js.getVideo(<?php echo $_smarty_tpl->tpl_vars['crmid']->value;?>
|
||
);">Видео встречи</button><button class="btn btn-default" id="Project_detailView_basicAction_Text" onclick="javascript:Project_Detail_Js.getText(<?php echo $_smarty_tpl->tpl_vars['crmid']->value;?>
|
||
);">Текст встречи</button><?php }?><?php }?><?php $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->_loop = false;
|
||
$_from = $_smarty_tpl->tpl_vars['DETAILVIEW_LINKS']->value['DETAILVIEWBASIC']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||
foreach ($_from as $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->key => $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value){
|
||
$_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->_loop = true;
|
||
?><button class="btn btn-default" id="<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||
_detailView_basicAction_<?php echo Vtiger_Util_Helper::replaceSpaceWithUnderScores($_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->getLabel());?>
|
||
"<?php if ($_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->isPageLoadLink()){?>onclick="window.location.href = '<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->getUrl();?>
|
||
&app=<?php echo $_smarty_tpl->tpl_vars['SELECTED_MENU_CATEGORY']->value;?>
|
||
'"<?php }else{ ?>onclick="<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->getUrl();?>
|
||
"<?php }?><?php if ($_smarty_tpl->tpl_vars['MODULE_NAME']->value=='Documents'&&$_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->getLabel()=='LBL_VIEW_FILE'){?>data-filelocationtype="<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->get('filelocationtype');?>
|
||
" data-filename="<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->get('filename');?>
|
||
"<?php }?>><?php echo vtranslate($_smarty_tpl->tpl_vars['DETAIL_VIEW_BASIC_LINK']->value->getLabel(),$_smarty_tpl->tpl_vars['MODULE_NAME']->value);?>
|
||
</button><?php } ?><?php if ($_smarty_tpl->tpl_vars['MODULE_NAME']->value=="Documents"&&$_smarty_tpl->tpl_vars['RECORD']->value->get("filename")){?><button type="button" class="btn btn-danger btn-small" onclick="editInNextcloud('<?php echo $_smarty_tpl->tpl_vars['RECORD']->value->getId();?>
|
||
', '<?php echo strtr($_smarty_tpl->tpl_vars['RECORD']->value->get('filename'), array("\\" => "\\\\", "'" => "\\'", "\"" => "\\\"", "\r" => "\\r", "\n" => "\\n", "</" => "<\/" ));?>
|
||
')" title="⚡ Редактировать (быстро, OnlyOffice напрямую)" style="margin-right: 5px;"><i class="fa fa-bolt"></i> Быстро</button><button type="button" class="btn btn-info btn-small" onclick="openViaNextcloud('<?php echo $_smarty_tpl->tpl_vars['RECORD']->value->getId();?>
|
||
', '<?php echo strtr($_smarty_tpl->tpl_vars['RECORD']->value->get('filename'), array("\\" => "\\\\", "'" => "\\'", "\"" => "\\\"", "\r" => "\\r", "\n" => "\\n", "</" => "<\/" ));?>
|
||
')" title="📚 Через Nextcloud (с версионированием)" style="margin-right: 5px;"><i class="fa fa-cloud"></i> Nextcloud</button><button type="button" class="btn btn-warning btn-small" onclick="window.open('<?php echo $_smarty_tpl->tpl_vars['RECORD']->value->getDownloadFileURL();?>
|
||
', '_blank')" title="Скачать документ" style="margin-right: 5px;"><i class="fa fa-download"></i> Скачать</button><button type="button" class="btn btn-danger btn-small" onclick="deleteDocumentFromDetail('<?php echo $_smarty_tpl->tpl_vars['RECORD']->value->getId();?>
|
||
')" title="Удалить документ" style="margin-right: 5px;"><i class="fa fa-trash"></i> Удалить</button><?php }?><?php if (count($_smarty_tpl->tpl_vars['DETAILVIEW_LINKS']->value['DETAILVIEW'])>0){?><div class="btn-group"><button class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="javascript:void(0);"><?php echo vtranslate('LBL_MORE',$_smarty_tpl->tpl_vars['MODULE_NAME']->value);?>
|
||
<i class="caret"></i></button><ul class="dropdown-menu dropdown-menu-right"><?php $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->_loop = false;
|
||
$_from = $_smarty_tpl->tpl_vars['DETAILVIEW_LINKS']->value['DETAILVIEW']; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
|
||
foreach ($_from as $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->key => $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value){
|
||
$_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->_loop = true;
|
||
?><?php if ($_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getLabel()==''){?><li class="divider"></li><?php }else{ ?><li id="<?php echo $_smarty_tpl->tpl_vars['MODULE_NAME']->value;?>
|
||
_detailView_moreAction_<?php echo Vtiger_Util_Helper::replaceSpaceWithUnderScores($_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getLabel());?>
|
||
"><?php if (strstr($_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getUrl(),"javascript")){?><a href='<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getUrl();?>
|
||
'><?php echo vtranslate($_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getLabel(),$_smarty_tpl->tpl_vars['MODULE_NAME']->value);?>
|
||
</a><?php }else{ ?><a href='<?php echo $_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getUrl();?>
|
||
&app=<?php echo $_smarty_tpl->tpl_vars['SELECTED_MENU_CATEGORY']->value;?>
|
||
' ><?php echo vtranslate($_smarty_tpl->tpl_vars['DETAIL_VIEW_LINK']->value->getLabel(),$_smarty_tpl->tpl_vars['MODULE_NAME']->value);?>
|
||
</a><?php }?></li><?php }?><?php } ?></ul></div><?php }?></div><?php ob_start();?><?php echo $_smarty_tpl->tpl_vars['NO_PAGINATION']->value;?>
|
||
<?php $_tmp1=ob_get_clean();?><?php if (!$_tmp1){?><div class="btn-group pull-right"><button class="btn btn-default " id="detailViewPreviousRecordButton" <?php if (empty($_smarty_tpl->tpl_vars['PREVIOUS_RECORD_URL']->value)){?> disabled="disabled" <?php }else{ ?> onclick="window.location.href = '<?php echo $_smarty_tpl->tpl_vars['PREVIOUS_RECORD_URL']->value;?>
|
||
&app=<?php echo $_smarty_tpl->tpl_vars['SELECTED_MENU_CATEGORY']->value;?>
|
||
'" <?php }?> ><i class="fa fa-chevron-left"></i></button><button class="btn btn-default " id="detailViewNextRecordButton"<?php if (empty($_smarty_tpl->tpl_vars['NEXT_RECORD_URL']->value)){?> disabled="disabled" <?php }else{ ?> onclick="window.location.href = '<?php echo $_smarty_tpl->tpl_vars['NEXT_RECORD_URL']->value;?>
|
||
&app=<?php echo $_smarty_tpl->tpl_vars['SELECTED_MENU_CATEGORY']->value;?>
|
||
'" <?php }?>><i class="fa fa-chevron-right"></i></button></div><?php }?></div><input type="hidden" name="record_id" value="<?php echo $_smarty_tpl->tpl_vars['RECORD']->value->getId();?>
|
||
"></div><?php }} ?>
|