Skip to content

Установка модуля расширения возможностей HESK

Скачайте мод по ссылке, распакуйте и сохраните в корне hesk в соответствии полной иерархией папок

Какие файлы и где изменены:

  • inc/common.inc.php

Файл inc/common.inc.php.

Находим часть кода:

php
// Set timezone
hesk_setTimezone();

/*** FUNCTIONS ***/

Вставляем после hesk_setTimezone();

php
/* Подключаем tlmmod */

require_once HESK_PATH . "inc/tlm_mod/tlmclass.php";
require_once HESK_PATH . "inc/tlm_mod/init.php";

use tlm\TlmClass;

TlmClass::AddHeadCss('https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.css');
TlmClass::AddCustomJs("https://cdn.jsdelivr.net/npm/@fancyapps/ui@4.0/dist/fancybox.umd.js", "Y");
/* Если нужен bootstrap */
TlmClass::AddHeadCss(TlmClass::MOD_PATH . "/bootstrap/bootstrap-grid.css");
TlmClass::AddHeadCss(TlmClass::MOD_PATH . "/bootstrap/bootstrap-utilities.css");

Все мы подключили основные классы, и методы.

header.inc.php перед закрытием тега </head> вставляем :

php
<?php use tlm\TlmClass; ?>
<?php TlmClass::GetHead(); ?>

и в footer.inc.php сразу после лицензионного ключа вставляем

php
/* добавляем класс и стили а так же дебагер */
use tlm\TlmClass;
TlmClass::DebugView();

/** ------ // -------*/

далее, ниже ищем блок кода:

php
<script type="text/javascript" src="<?php echo HESK_PATH; ?>js/app<?php echo $hesk_settings[
    "debug_mode"
]
    ? ""
    : ".min"; ?>.js?<?php echo $hesk_settings["hesk_version"]; ?>"></script>

и выше вставляем :

php
 <?php TlmClass::GetFooter();
// вставляем скрипты подвала
?>

Изменение в файле /admin/admin_ticket.php

Подключаем use tlm\TlmClass;

Далее ищем блок кода где выводятся прикрепленные файлы /* Print attachments */ и вставляем туда:

php
Tlm\TlmClass::GetAttachGallery(
               $ticket["attachments"],
               0,
               $white = 1
           );

Получаем что то вроде:

далее ищем /* Attachments */ и так же добавляем метод Tlm\TlmClass::GetAttachGallery($reply['attachments'], $reply['id'], $i); в нескольких местах, где используется функция hesk_listAttachments($reply["attachments"], $reply["id"], $i); рекомендуется просто добавить ниже оригинальной функции

для определения настроек по умолчанию

inc/tiny_mce/tinymce.inc.php правки по добавлению кнопок и плагинов включая filemanager

php
<?php

/**
*
* This file is part of HESK - PHP Help Desk Software.
*
* (c) Copyright Klemen Stirn. All rights reserved.
* https://www.hesk.com
*
* For the full copyright and license agreement information visit
* https://www.hesk.com/eula.php
*
*/

/* Check if this is a valid include */
if (!defined('IN_SCRIPT')) {
 die('Invalid attempt');
}


function hesk_tinymce_init($selector = '#message')
{
 global $hesklang;
?>
 <script>
   tinymce.init({
     selector: '<?php echo $selector; ?>',
     convert_urls: false,
     branding: false,
     browser_spellcheck: true,
     contextmenu: 'link useBrowserSpellcheck image table',
     setup: function(editor) {
       editor.ui.registry.addMenuItem('useBrowserSpellcheck', {
         text: '<?php echo hesk_slashJS($hesklang['tmce1']); ?>',
         onAction: function() {
           editor.notificationManager.open({
             text: '<?php echo hesk_slashJS($hesklang['tmce2']); ?>',
             type: 'info',
             timeout: 5000,
             closeButton: true
           });
         }
       });

       editor.ui.registry.addContextMenu('useBrowserSpellcheck', {
         update: function(node) {
           return editor.selection.isCollapsed() ? ['useBrowserSpellcheck'] : [];
         }
       });
     },
     toolbar: 'undo redo | styleselect fontselect fontsizeselect | bold italic underline | alignleft aligncenter alignright alignjustify | forecolor backcolor | bullist numlist outdent indent',
     toolbar2: 'link unlink image responsivefilemanager codesample code removeformat fullscreen',
     plugins: 'charmap code codesample image link lists table autolink fullscreen contentcss paste responsivefilemanager',
     height: 350,
     language: 'ru_RU',
     toolbar_mode: 'sliding',
     paste_as_text: true,
     mobile: {
       toolbar_mode: 'scrolling',
       height: 300
     },
     content_css: '/inc/tlm_mod/css/misc.css',
     external_filemanager_path: "/filemanager/",
     filemanager_title: "Файловый менеджер",
     external_plugins: {
       "filemanager": "/filemanager/plugin.min.js"
     }
   });
 </script>
<?php
} // END hesk_tinymce_init()

Опубликовано под лицензией MIT.