Skip to content

Commit

Permalink
New variables for conditions checking in the bot
Browse files Browse the repository at this point in the history
  • Loading branch information
remdex committed Jan 27, 2022
1 parent ab89b6d commit 1f93e67
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 9 deletions.
Expand Up @@ -40,6 +40,25 @@ public static function process($chat, $action, $trigger, $params)

if ($paramsConditions[0] == 'lhc') {
$attr = $chat->{$paramsConditions[1]};
} elseif (in_array($paramsConditions[0],['chat_files','operator_files','user_files'])) {

$multiAttr = [];
$filter = ['filter' => ['chat_id' => $chat->id]];

if ($paramsConditions[0] == 'operator_files') {
$filter['filtergt']['user_id'] = 0;
}

if ($paramsConditions[0] == 'user_files') {
$filter['filter']['user_id'] = 0;
}

foreach (erLhcoreClassModelChatFile::getList($filter) as $file) {
$multiAttr[] = $file->extension;
}

$attr = implode(',',$multiAttr);

} elseif ($paramsConditions[0] == 'siteaccess') {
$attr = erLhcoreClassSystem::instance()->SiteAccess;
} elseif ($paramsConditions[0] == 'online_department_hours') {
Expand Down Expand Up @@ -137,22 +156,22 @@ public static function process($chat, $action, $trigger, $params)
$valAttr = (string)$valAttr;
}

if ($condition['content']['comp'] == 'eq' && !($attr == $valAttr)) {
if ($condition['content']['comp'] == 'eq' && !((isset($multiAttr) && in_array($valAttr,$multiAttr)) || (!isset($multiAttr) && $attr == $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'lt' && !($attr < $valAttr)) {
} else if ($condition['content']['comp'] == 'lt' && !((isset($multiAttr) && count($multiAttr) < $valAttr) || (!isset($multiAttr) && $attr < $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'lte' && !($attr <= $valAttr)) {
} else if ($condition['content']['comp'] == 'lte' && !((isset($multiAttr) && count($multiAttr) <= $valAttr) ||(!isset($multiAttr) && $attr <= $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'neq' && !($attr != $valAttr)) {
} else if ($condition['content']['comp'] == 'neq' && !((isset($multiAttr) && count($multiAttr) != $valAttr) || (!isset($multiAttr) && $attr != $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'gte' && !($attr >= $valAttr)) {
} else if ($condition['content']['comp'] == 'gte' && !((isset($multiAttr) && count($multiAttr) >= $valAttr) || (!isset($multiAttr) && $attr >= $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'gt' && !($attr > $valAttr)) {
} else if ($condition['content']['comp'] == 'gt' && !((isset($multiAttr) && count($multiAttr) > $valAttr) || (!isset($multiAttr) && $attr > $valAttr))) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'like' && erLhcoreClassGenericBotWorkflow::checkPresenceMessage(array(
Expand All @@ -169,7 +188,7 @@ public static function process($chat, $action, $trigger, $params)
))['found'] == true) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'contains' && strrpos($attr, $valAttr) === false) {
} else if ($condition['content']['comp'] == 'contains' && !((isset($multiAttr) && !empty(array_intersect($multiAttr,explode(',',$valAttr)))) || (!isset($multiAttr) && strrpos($attr, $valAttr) !== false))) {
$conditionsMet = false;
break;
}
Expand Down
3 changes: 2 additions & 1 deletion lhc_web/modules/lhfile/uploadfile.php
Expand Up @@ -64,8 +64,9 @@
'upload_dir' => $path));

if ($upload_handler->uploadedFile instanceof erLhcoreClassModelChatFile) {
erLhcoreClassChatEventDispatcher::getInstance()->dispatch('file.uploadfile.file_store', array('chat_file' => $upload_handler->uploadedFile));
erLhcoreClassChatEventDispatcher::getInstance()->dispatch('file.uploadfile.file_store', array('chat'=> $chat, 'chat_file' => $upload_handler->uploadedFile));
$chat->user_typing_txt = '100%';

} elseif (is_object($upload_handler->uploadedFile)) {
$chat->user_typing_txt = $upload_handler->uploadedFile->error;
echo json_encode(array('error' => 'true', 'error_msg' => $upload_handler->uploadedFile->error ));
Expand Down
2 changes: 1 addition & 1 deletion lhc_web/modules/lhfile/uploadfileadmin.php
Expand Up @@ -30,7 +30,7 @@
$msg = '';

if ($upload_handler->uploadedFile instanceof erLhcoreClassModelChatFile) {
erLhcoreClassChatEventDispatcher::getInstance()->dispatch('file.uploadfileadmin.file_store', array('chat_file' => $upload_handler->uploadedFile));
erLhcoreClassChatEventDispatcher::getInstance()->dispatch('file.uploadfileadmin.file_store', array('chat'=> $chat, 'chat_file' => $upload_handler->uploadedFile));
$msg = '[file=' . $upload_handler->uploadedFile->id . '_' . $upload_handler->uploadedFile->security_hash . ']';
} elseif (is_object($upload_handler->uploadedFile)) {
echo json_encode(array('error' => 'true', 'error_msg' => $upload_handler->uploadedFile->error ));
Expand Down

0 comments on commit 1f93e67

Please sign in to comment.