Skip to content

Commit

Permalink
Merge branch 'LiveHelperChat:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
Heinivb authored Dec 1, 2022
2 parents 0ef8bcb + 8790be3 commit 4b55a6f
Show file tree
Hide file tree
Showing 64 changed files with 448 additions and 194 deletions.
4 changes: 3 additions & 1 deletion lhc_web/cli/lib/install.php
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,7 @@ function step3() {
`na_cb_executed` int(11) NOT NULL,
`device_type` int(11) NOT NULL,
`nc_cb_executed` tinyint(1) NOT NULL,
`iwh_id` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`),
KEY `status_user_id` (`status`,`user_id`),
KEY `unanswered_chat` (`unanswered_chat`),
Expand All @@ -222,6 +223,7 @@ function step3() {
KEY `sender_user_id` (`sender_user_id`),
KEY `anonymized` (`anonymized`),
KEY `has_unread_messages` (`has_unread_messages`),
KEY `iwh_id` (`iwh_id`),
KEY `status` (`status`),
KEY `nick` (`nick`),
KEY `email` (`email`),
Expand Down Expand Up @@ -1993,7 +1995,7 @@ function step3() {
$db->query("CREATE TABLE `lh_abstract_rest_api_key_remote` ( `id` int(11) NOT NULL AUTO_INCREMENT, `api_key` varchar(50) NOT NULL, `username` varchar(50) NOT NULL, `name` varchar(50) NOT NULL, `host` varchar(250) NOT NULL, `active` tinyint(1) NOT NULL DEFAULT '0', `position` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `active` (`active`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci");
$db->query("CREATE TABLE `lh_abstract_chat_variable` ( `id` int(11) NOT NULL AUTO_INCREMENT, `var_name` varchar(255) NOT NULL, `old_js_id` varchar(50) NOT NULL, `var_identifier` varchar(255) NOT NULL, `inv` tinyint(1) NOT NULL, `change_message` varchar(250) NOT NULL, `type` tinyint(1) NOT NULL, `persistent` tinyint(1) NOT NULL, `js_variable` varchar(255) NOT NULL, `dep_id` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `dep_id` (`dep_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_webhook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `event` varchar(50) NOT NULL, `bot_id_alt` int(11) NOT NULL DEFAULT '0', `trigger_id_alt` int(11) NOT NULL DEFAULT '0',`bot_id` int(11) NOT NULL, `trigger_id` int(11) NOT NULL, `disabled` tinyint(1) NOT NULL, `configuration` longtext NOT NULL, `type` tinyint(1) NOT NULL DEFAULT 0, PRIMARY KEY (`id`), KEY `event_disabled` (`event`,`disabled`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_incoming_webhook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL,`identifier` varchar(50) NOT NULL, `scope` varchar(50) NOT NULL, `dep_id` int(11) NOT NULL, `disabled` tinyint(1) NOT NULL, `configuration` longtext NOT NULL, PRIMARY KEY (`id`), KEY `identifier` (`identifier`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_incoming_webhook` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL,`icon` varchar(50) NOT NULL, `icon_color` varchar(50) NOT NULL, `identifier` varchar(50) NOT NULL, `scope` varchar(50) NOT NULL, `dep_id` int(11) NOT NULL, `disabled` tinyint(1) NOT NULL, `configuration` longtext NOT NULL, PRIMARY KEY (`id`), KEY `identifier` (`identifier`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_chat_incoming` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `chat_id` bigint(20) NOT NULL, `utime` bigint(20) NOT NULL, `incoming_id` int(11) NOT NULL, `payload` longtext NOT NULL, `chat_external_id` varchar(50) NOT NULL, PRIMARY KEY (`id`), KEY `chat_id` (`chat_id`), KEY `incoming_ext_id` (`incoming_id`,`chat_external_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_abstract_chat_column` (`id` int(11) NOT NULL AUTO_INCREMENT,`column_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `has_popup` tinyint(1) NOT NULL DEFAULT 0, `popup_content` longtext COLLATE utf8mb4_unicode_ci NOT NULL, `icon_mode` tinyint(1) NOT NULL DEFAULT 0, `variable` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `position` int(11) NOT NULL, `enabled` tinyint(1) NOT NULL, `online_enabled` tinyint(1) NOT NULL, `chat_enabled` tinyint(1) NOT NULL, `sort_column` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `sort_enabled` tinyint(1) NOT NULL DEFAULT 0, `conditions` text COLLATE utf8mb4_unicode_ci NOT NULL,`column_icon` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, `column_identifier` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, PRIMARY KEY (`id`), KEY `enabled` (`enabled`), KEY `online_enabled` (`online_enabled`), KEY `chat_enabled` (`chat_enabled`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
$db->query("CREATE TABLE `lh_abstract_chat_priority` (`id` int(11) NOT NULL AUTO_INCREMENT,`value` text COLLATE utf8mb4_unicode_ci NOT NULL,`dep_id` int(11) NOT NULL, `dest_dep_id` int(11) NOT NULL DEFAULT 0, `sort_priority` int(11) NOT NULL DEFAULT 0,`priority` int(11) NOT NULL, PRIMARY KEY (`id`), KEY `dep_id` (`dep_id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;");
Expand Down
4 changes: 2 additions & 2 deletions lhc_web/design/defaulttheme/css/app-dark.css
Original file line number Diff line number Diff line change
Expand Up @@ -447,11 +447,11 @@ div.other-operator div.msg-body{
}

div.whisper-msg div.msg-body{
background-color:#767676
background-color:#767676!important;
}

div.whisper-msg span.op-tit{
color:#767676
color:#767676!important;
}

div.message-admin div.msg-body a.link{
Expand Down
4 changes: 2 additions & 2 deletions lhc_web/design/defaulttheme/css/app.css
Original file line number Diff line number Diff line change
Expand Up @@ -462,11 +462,11 @@ div.other-operator div.msg-body{
}

div.whisper-msg div.msg-body{
background-color: #bcbcbc;
background-color: #bcbcbc!important;
}

div.whisper-msg span.op-tit{
color: #bcbcbc;
color: #bcbcbc!important;
}

div.message-admin div.msg-body a.link{
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

This file was deleted.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -411,6 +411,7 @@ const DashboardChatTabs = props => {
e.preventDefault();
e.stopPropagation();
lhinst.removeDialogTab(chat.id,$('#tabs'),true);
lhinst.channel && lhinst.channel.postMessage({'action':'close_chat','args':{'chat_id' : chat.id}});
}

const iconClick = (e,icon,chat) => {
Expand Down
27 changes: 27 additions & 0 deletions lhc_web/design/defaulttheme/js/angular.lhc.js
Original file line number Diff line number Diff line change
Expand Up @@ -229,6 +229,28 @@ lhcAppControllers.controller('LiveHelperChatCtrl',['$scope','$http','$location',
$scope.current_user_id = confLH.user_id;

// Parameters for back office sync
lhinst.channel =
this.channel =
new BroadcastChannel('lhc_dashboard');

this.channel.addEventListener("message", function(event) {
if (event.isTrusted && event.data.action) {
var tabs = $('#tabs');
if (lhinst.chatsSynchronising.indexOf(event.data.args.chat_id) !== -1) {
if (event.data.action == 'close_chat') {
tabs.length > 0 && lhinst.removeDialogTab(event.data.args.chat_id,$('#tabs'),true);
} else if (event.data.action == 'update_chat' || event.data.action == 'startbackground_chat') {
tabs.length > 0 && lhinst.updateVoteStatus(event.data.args.chat_id, true);
} else if (event.data.action == 'reload_chat') {
tabs.length > 0 && lhinst.reloadTab(event.data.args.chat_id, $('#tabs'), event.data.args.nick, true);
}
} else if (event.data.action == 'startbackground_chat') {
(tabs.length > 0 && lhinst.startChatBackground(event.data.args.chat_id, $('#tabs'), event.data.args.nick)) || ee.emitEvent('chatTabPreload', [event.data.args.chat_id, {focus: false}]);;
} else if (event.data.action == 'close_chat') {
ee.emitEvent('removeSynchroChat', [parseInt(event.data.args.chat_id)]);
}
}
});

var _that = this;

Expand Down Expand Up @@ -1205,6 +1227,8 @@ lhcAppControllers.controller('LiveHelperChatCtrl',['$scope','$http','$location',
if (tabs.length > 0 && lhinst.disableremember == false) {
lhinst.removeSynchroChat(chat.id);
lhinst.startChatBackground(chat.id, tabs, LiveHelperChatFactory.truncate((chat.nick || 'Visitor'), 10));
// We auto open only auto assigned chats
_that.channel.postMessage({'action':'startbackground_chat','args':{'nick': LiveHelperChatFactory.truncate((chat.nick || 'Visitor'), 10), 'chat_id' : parseInt(chat.id)}});
}

if (lhinst.disableremember == false) {
Expand All @@ -1218,6 +1242,9 @@ lhcAppControllers.controller('LiveHelperChatCtrl',['$scope','$http','$location',
if (typeof chat.user_id !== 'undefined' && chat.user_id == confLH.user_id && (confLH.accept_chats == 1 || $('#chat-tab-link-' + chat.id).length > 0)) {
if (tabs.length > 0 && lhinst.disableremember == false) {
lhinst.startChatTransfer(chat.id,tabs,LiveHelperChatFactory.truncate((chat.nick || 'Visitor'),10),chat.transfer_id, $('#chat-tab-link-' + chat.id).length == 0);

// Auto open transfered chats in all tabs
_that.channel.postMessage({'action':'startbackground_chat','args':{'nick': LiveHelperChatFactory.truncate((chat.nick || 'Visitor'),10), 'chat_id' : parseInt(chat.id)}});
}
if (lhinst.disableremember == false) {
notificationDataAccept.push(chat.id);
Expand Down
2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/js/angular.lhc.min.js

Large diffs are not rendered by default.

26 changes: 19 additions & 7 deletions lhc_web/design/defaulttheme/js/html2canvas.min.js

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

29 changes: 23 additions & 6 deletions lhc_web/design/defaulttheme/js/lh.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ function lh(){
this.accepttransfer = "chat/accepttransfer/";
this.trasnsferuser = "chat/transferuser/";

this.channel = null;

this.disableremember = false;
this.operatorTyping = false;
this.forceBottomScroll = false;
Expand Down Expand Up @@ -151,7 +153,7 @@ function lh(){
this.audio.autoplay = 'autoplay';
}

this.reloadTab = function(chat_id, tabs, nick)
this.reloadTab = function(chat_id, tabs, nick, internal)
{
$('#ntab-chat-'+chat_id).text(nick);

Expand All @@ -172,6 +174,8 @@ function lh(){
inst.loadMainData(chat_id);
ee.emitEvent('chatTabLoaded', [chat_id]);
ee.emitEvent('chatStartTab', [chat_id, {name: nick, focus: true}]);

!internal && inst.channel && inst.channel.postMessage({'action':'reload_chat','args':{'nick': nick, 'chat_id' : parseInt(chat_id)}});
});
}

Expand Down Expand Up @@ -289,7 +293,12 @@ function lh(){
}

var msgId = $(this).attr('id').replace('msg-','');
var isOwner = $('#CSChatMessage-'+e.data.chat_id).attr('disable-edit') !== "true" && $(this).attr('data-op-id') == confLH.user_id;
var isOwner = ($('#CSChatMessage-'+e.data.chat_id).attr('disable-edit') !== "true" && (
$(this).attr('data-op-id') == confLH.user_id ||
($('#CSChatMessage-'+e.data.chat_id).attr('edit-op') === "true" && parseInt($(this).attr('data-op-id')) > 0) ||
($('#CSChatMessage-'+e.data.chat_id).attr('edit-vis') === "true" && parseInt($(this).attr('data-op-id')) === 0)
)
);

var quoteParams = {
placement:'right',
Expand Down Expand Up @@ -1148,6 +1157,8 @@ function lh(){
window.opener.postMessage("lhc_ch:chatclosed:"+chat_id, '*');
};

that.channel && that.channel.postMessage({'action':'close_chat','args':{'chat_id' : chat_id}});

that.removeSynchroChat(chat_id);

if (hidetab == true) {
Expand All @@ -1167,7 +1178,6 @@ function lh(){
if (LHCCallbacks.chatClosedCallback) {
LHCCallbacks.chatClosedCallback(chat_id);
};

};

this.smartTabFocus = function(tabs, chat_id, params) {
Expand Down Expand Up @@ -1252,6 +1262,8 @@ function lh(){

this.removeDialogTab = function(chat_id, tabs, hidetab)
{
this.channel && this.chatUnderSynchronization(chat_id) === true && this.channel.postMessage({'action':'close_chat','args':{'chat_id' : chat_id}});

if ($('#CSChatMessage-'+chat_id).length != 0){
$('#CSChatMessage-'+chat_id).unbind('keydown', function(){});
$('#CSChatMessage-'+chat_id).unbind('keyup', function(){});
Expand All @@ -1273,7 +1285,6 @@ function lh(){
};
};


this.syncadmininterfacestatic();
};

Expand Down Expand Up @@ -1460,7 +1471,8 @@ function lh(){
var intervalChecker = setInterval( function() {
if (parseInt(confLH.user_id) != parseInt($('#chat-owner-'+chat_id).attr('user-id'))) {
if ($('#tabs').length > 0) {
inst.removeDialogTab(chat_id,$('#tabs'),true)
inst.removeDialogTab(chat_id,$('#tabs'),true);
inst.channel && inst.channel.postMessage({'action':'close_chat','args':{'chat_id' : parseInt(chat_id)}});
}
clearInterval(intervalChecker);
}
Expand Down Expand Up @@ -2003,7 +2015,10 @@ function lh(){
}
};

this.updateVoteStatus = function(chat_id) {
this.updateVoteStatus = function(chat_id, internal) {

var that = this;

$.getJSON(this.wwwDir + 'chat/updatechatstatus/'+chat_id ,{ }, function(data){
$('#main-user-info-tab-'+chat_id).html(data.result);

Expand All @@ -2015,6 +2030,8 @@ function lh(){
$('#ntab-chat-'+chat_id).text(data.nick);

ee.emitEvent('chatTabInfoReload', [chat_id]);

!internal && that.channel && that.channel.postMessage({'action':'update_chat','args':{'chat_id' : parseInt(chat_id)}});
});
};

Expand Down
2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/js/lh.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/js/widgetv2/index.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/js/widgetv2/index.js.map

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/tpl/lhchat/adminchat.tpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@
</div>
<?php endif; ?>

<textarea <?php if (!erLhcoreClassUser::instance()->hasAccessTo('lhchat','editprevious')) : ?>disable-edit="true"<?php endif;?> <?php if ($whisperMode) : ?>whisper="1"<?php endif;?> <?php !erLhcoreClassChat::hasAccessToWrite($chat) || ($chat->status != erLhcoreClassModelChat::STATUS_OPERATORS_CHAT && $chat->user_id != 0 && $chat->user_id != erLhcoreClassUser::instance()->getUserID() && !erLhcoreClassUser::instance()->hasAccessTo('lhchat','writeremotechat') && $writeRemoteDisabled = true) ? print 'readonly="readonly"' : '' ?> title="<?php echo $placeholderValue?>" placeholder="<?php echo $placeholderValue?>" class="form-control form-control-sm form-send-textarea form-group<?php if ($chat->user_id != erLhcoreClassUser::instance()->getUserID()) : ?> form-control-warning<?php endif;?>" data-rows-default="<?php echo (int)erLhcoreClassModelUserSetting::getSetting('chat_text_rows',2)?>" rows="<?php echo (int)erLhcoreClassModelUserSetting::getSetting('chat_text_rows',2)?>" <?php if ($chat->status == erLhcoreClassModelChat::STATUS_CLOSED_CHAT) : ?>readonly="readonly"<?php endif;?> name="ChatMessage" id="CSChatMessage-<?php echo $chat->id?>"></textarea>
<textarea <?php if (erLhcoreClassUser::instance()->hasAccessTo('lhchat','editpreviouvis')) : ?>edit-vis="true"<?php endif;?> <?php if (erLhcoreClassUser::instance()->hasAccessTo('lhchat','editpreviousop')) : ?>edit-op="true"<?php endif;?> <?php if (!erLhcoreClassUser::instance()->hasAccessTo('lhchat','editprevious')) : ?>disable-edit="true"<?php endif;?> <?php if ($whisperMode) : ?>whisper="1"<?php endif;?> <?php !erLhcoreClassChat::hasAccessToWrite($chat) || ($chat->status != erLhcoreClassModelChat::STATUS_OPERATORS_CHAT && $chat->user_id != 0 && $chat->user_id != erLhcoreClassUser::instance()->getUserID() && !erLhcoreClassUser::instance()->hasAccessTo('lhchat','writeremotechat') && $writeRemoteDisabled = true) ? print 'readonly="readonly"' : '' ?> title="<?php echo $placeholderValue?>" placeholder="<?php echo $placeholderValue?>" class="form-control form-control-sm form-send-textarea form-group<?php if ($chat->user_id != erLhcoreClassUser::instance()->getUserID()) : ?> form-control-warning<?php endif;?>" data-rows-default="<?php echo (int)erLhcoreClassModelUserSetting::getSetting('chat_text_rows',2)?>" rows="<?php echo (int)erLhcoreClassModelUserSetting::getSetting('chat_text_rows',2)?>" <?php if ($chat->status == erLhcoreClassModelChat::STATUS_CLOSED_CHAT) : ?>readonly="readonly"<?php endif;?> name="ChatMessage" id="CSChatMessage-<?php echo $chat->id?>"></textarea>
<div id="chat-preview-container-<?php echo $chat->id?>" style="display: none; min-height: 59px"></div>
</div>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
<?php ($chat_variables_array = $chat->chat_variables_array); if (!empty($chat_variables_array) && isset($chat_variables_array['iwh_id'])) : ?>
<?php if (($incomingWebhook = erLhcoreClassModelChatIncomingWebhook::fetch($chat_variables_array['iwh_id'])) instanceof erLhcoreClassModelChatIncomingWebhook) : ?>
<?php ($chat_variables_array = $chat->chat_variables_array); if (
(!empty($chat_variables_array) && isset($chat_variables_array['iwh_id']) && $iwh_id = $chat_variables_array['iwh_id']) ||
($chat->iwh_id > 0 && $iwh_id = $chat->iwh_id)
) : ?>
<?php if (($incomingWebhook = erLhcoreClassModelChatIncomingWebhook::fetch($iwh_id)) instanceof erLhcoreClassModelChatIncomingWebhook) : ?>
<div class="col-6 pb-1">
<span class="material-icons">extension</span>
<span class="material-icons" <?php if ($incomingWebhook->icon_color != '') : ?>style="color: <?php echo htmlspecialchars($incomingWebhook->icon_color)?>"<?php endif;?> ><?php if ($incomingWebhook->icon != '') : ?><?php echo htmlspecialchars($incomingWebhook->icon)?><?php else : ?>extension<?php endif; ?></span>
<?php echo htmlspecialchars($incomingWebhook->name)?>
<?php if (isset($chat_variables_array['iwh_field']) && !empty($chat_variables_array['iwh_field'])) : ?>
&nbsp;|&nbsp;<?php echo htmlspecialchars($chat_variables_array['iwh_field'])?>
Expand Down
19 changes: 17 additions & 2 deletions lhc_web/design/defaulttheme/tpl/lhchat/lists/search_panel.tpl.php
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,22 @@
)); ?>
</div>
</div>
<div class="col-md-2">

<div class="col-md-1">
<div class="form-group">
<label><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/lists/search_panel','Channel');?></label>
<?php echo erLhcoreClassRenderHelper::renderMultiDropdown( array (
'input_name' => 'iwh_ids[]',
'optional_field' => erTranslationClassLhTranslation::getInstance()->getTranslation('chat/lists/search_panel','Choose a channel'),
'selected_id' => $input->iwh_ids,
'css_class' => 'form-control',
'display_name' => 'name',
'list_function' => 'erLhcoreClassModelChatIncomingWebhook::getList'
)); ?>
</div>
</div>

<div class="col-md-1">
<label><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/lists/search_panel','Visitor status on chat close');?></label>
<div class="form-group">
<select name="cls_us" class="form-control form-control-sm">
Expand All @@ -428,7 +443,7 @@
</div>
</div>

<div class="col-md-2">
<div class="col-md-1">
<label><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/lists/search_panel','Has unread operator messages');?></label>
<div class="form-group">
<select name="has_unread_op_messages" class="form-control form-control-sm">
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
<?php $msgBody = $metaMessage['content']; $paramsMessageRender = array('sender' => (is_object($msg) ? $msg->user_id : $msg['user_id']));?>
<div class="whisper-msg">
<?php include(erLhcoreClassDesign::designtpl('lhchat/lists/msg_body.tpl.php'));?>
</div>
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
<button disabled class="btn btn-outline-secondary btn-xs mb-1" type="button"><?php echo htmlspecialchars($item['content']['name'])?></button>
<?php endforeach; ?>
</div>
<?php elseif ($type == 'notice') : ?>
<?php include(erLhcoreClassDesign::designtpl('lhgenericbot/message/content/msg_notice_admin.tpl.php'));?>
<?php elseif ($type == 'chat_operation') : ?>
<?php include(erLhcoreClassDesign::designtpl('lhgenericbot/message/content/chat_operation_admin.tpl.php'));?>
<?php else : ?>
Expand Down
Loading

0 comments on commit 4b55a6f

Please sign in to comment.