<?php
add_action("breakdance_register_template_types_and_conditions", function () {
\Breakdance\ConditionsAPI\register([
"supports" => ["element_display"],
"slug" => "fluentcrm-condition-dh-lists",
"label" => "Fluent CRM Lists Condition",
"category" => "Randlos Conditions",
"operands" => ["equals"],
"values" => function () {
$listApi = FluentCrmApi("lists");
$allLists = $listApi->all();
$listlistforBd = [];
for ($i = 0; $i < count($allLists); $i++) {
$listlistforBd[$i] = [
"text" => strval($allLists[$i]->title),
"value" => strval($allLists[$i]->id),
];
}
return [
[
"label" => "FluentCrm Lists",
"items" => $listlistforBd,
],
];
},
"allowMultiselect" => true,
"callback" => function (string $operand, $value) {
if ($_GET["email"]) {
$userEmail = $_GET["email"];
$contactApi = FluentCrmApi("contacts");
$contact = $contactApi->getContact($userEmail);
$userlists = $contact->lists;
$myListArray = [];
for ($i = 0; $i < count($userlists); $i++) {
array_push($myListArray, strval($userlists[$i]->id));
}
if ($operand === "equals") {
sort($myListArray);
sort($value);
$listarr3 = array_diff($value, $myListArray);
if (count($listarr3) == 0) {
return true;
} else {
return false;
}
}
return false;
}
return false;
},
]);
});
?>