Skip to content

Commit

Permalink
Support contains conditions
Browse files Browse the repository at this point in the history
  • Loading branch information
remdex committed Oct 4, 2021
1 parent 73a7c30 commit 3ab5d99
Show file tree
Hide file tree
Showing 14 changed files with 22 additions and 8 deletions.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion lhc_web/design/defaulttheme/js/react/build/all.js

Large diffs are not rendered by default.

Expand Up @@ -52,6 +52,7 @@ class NodeActionConditionItem extends Component {
<option value="neq">!=</option>
<option value="like">Text like</option>
<option value="notlike">Text not like</option>
<option value="contains">Contains</option>
</select>
</div>
</div>
Expand Down

This file was deleted.

This file was deleted.

Expand Up @@ -77,6 +77,7 @@
<option value="neq">!=</option>
<option value="like">like</option>
<option value="notlike">not like</option>
<option value="contains">contains</option>
</select>
</div>
<div class="col-4">
Expand Down
Expand Up @@ -197,6 +197,7 @@
<option value="neq">!=</option>
<option value="like"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('genericbot/restapi','Text like')?></option>
<option value="notlike"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('genericbot/restapi','Text not like')?></option>
<option value="contains"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('genericbot/restapi','Contains')?></option>
</select>
</div>
</div>
Expand Down
1 change: 1 addition & 0 deletions lhc_web/design/defaulttheme/tpl/lhwebhooks/form.tpl.php
Expand Up @@ -80,6 +80,7 @@
<option value="notempty"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/webhooks','Not empty');?></option>
<option value="like"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/webhooks','Text like');?></option>
<option value="notlike"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/webhooks','Text not like');?></option>
<option value="contains"><?php echo erTranslationClassLhTranslation::getInstance()->getTranslation('chat/webhooks','Contains');?></option>
</select>
</div>
</div>
Expand Down
2 changes: 2 additions & 0 deletions lhc_web/lib/core/lhchat/lhchatwebhookcontinous.php
Expand Up @@ -178,6 +178,8 @@ public static function processEvent() {
'words_typo' => 0,
))['found'] == false) {
$conditionItemValid = true;
} else if ($conditionsCurrent['condition'] == 'contains' && strrpos($conditionAttr, $valueAttr) !== false) {
$conditionItemValid = true;
}
}

Expand Down
4 changes: 3 additions & 1 deletion lhc_web/lib/core/lhchat/lhchatwebhookhttp.php
Expand Up @@ -148,7 +148,7 @@ public function isValidConditions($continuousHook, $chat) {
$conditionAttr = str_replace(array_keys($replaceArray), array_values($replaceArray),$conditionAttr);
$valueAttr = str_replace(array_keys($replaceArray), array_values($replaceArray),$valueAttr);

if (!in_array($conditionsCurrent['condition'],['like','notlike'])) {
if (!in_array($conditionsCurrent['condition'],['like','notlike','contains'])) {
// Remove spaces
$conditionAttr = preg_replace('/\s+/', '', $conditionAttr);
$valueAttr = preg_replace('/\s+/', '', $valueAttr);
Expand Down Expand Up @@ -202,6 +202,8 @@ public function isValidConditions($continuousHook, $chat) {
'words_typo' => 0,
))['found'] == false) {
$conditionItemValid = true;
} else if ($conditionsCurrent['condition'] == 'contains' && strrpos($conditionAttr, $valueAttr) !== false) {
$conditionItemValid = true;
}
}

Expand Down
Expand Up @@ -124,6 +124,9 @@ public static function process($chat, $action, $trigger, $params)
))['found'] == true) {
$conditionsMet = false;
break;
} else if ($condition['content']['comp'] == 'contains' && strrpos($attr, $valAttr) === false) {
$conditionsMet = false;
break;
}
}
}
Expand Down
Expand Up @@ -374,6 +374,8 @@ public static function makeRequest($host, $methodSettings, $paramsCustomer)
$validCondition = false;
} else if ($condition['success_condition'] == 'notlike' && erLhcoreClassGenericBotWorkflow::checkPresence(explode(',',$condition['value']),$condition['key'],0) == true) {
$validCondition = false;
} else if ($condition['success_condition'] == 'contains' && strrpos($condition['value'],$condition['key']) === false) {
$validCondition = false;
}
}

Expand Down Expand Up @@ -649,6 +651,8 @@ public static function makeRequest($host, $methodSettings, $paramsCustomer)
continue;
} else if ($outputCombination['success_condition'] == 'notlike' && erLhcoreClassGenericBotWorkflow::checkPresence(explode(',',$outputCombination['success_compare_value']),$responseValueCompare,0) == true) {
continue;
} else if ($outputCombination['success_condition'] == 'contains' && strrpos($responseValueCompare, $outputCombination['success_compare_value']) === false) {
continue;
}
}

Expand Down
Expand Up @@ -128,7 +128,7 @@ public function getValueReplace($params)
$conditionAttr = str_replace(array_keys($replaceArray), array_values($replaceArray), $conditionAttr);
$valueAttr = str_replace(array_keys($replaceArray), array_values($replaceArray), $valueAttr);

if (!in_array($conditionsCurrent['comparator'],['like','notlike'])) {
if (!in_array($conditionsCurrent['comparator'],['like','notlike','contains'])) {
// Remove spaces
$conditionAttr = preg_replace('/\s+/', '', $conditionAttr);
$valueAttr = preg_replace('/\s+/', '', $valueAttr);
Expand Down Expand Up @@ -172,6 +172,8 @@ public function getValueReplace($params)
'words_typo' => 0,
))['found'] == false) {
$conditionItemValid = true;
} else if ($conditionsCurrent['comparator'] == 'contains' && strrpos($conditionAttr,$valueAttr) !== false) {
$conditionItemValid = true;
}

if ($conditionItemValid == true) {
Expand Down

0 comments on commit 3ab5d99

Please sign in to comment.