$val) { $value[$key] = is_numeric($val) ? $val : "'$val'"; } $value = "[" . implode(",", $value) . "]"; } else { $value = is_numeric($value) ? $value : "'$value'"; } switch ($relation) { case Relation::EQUAL: $return = "%$name == $value"; break; case Relation::GREATER_THAN: $return = "%$name > $value"; break; case Relation::LESS_THAN: $return = "%$name < $value"; break; case Relation::GREATER_OR_EQUAL_THAN: $return = "%$name >= $value"; break; case Relation::LESS_OR_EQUAL_THAN: $return = "%$name <= $value"; break; case Relation::NOT_EQUAL: $return = "%$name != $value"; break; case Relation::STARTS_WITH: $return = " str_starts_with(%$name, $value) "; break; case Relation::IN: $return = " in_array(%$name, $value) "; break; case Relation::NOT_IN: $return = " !in_array(%$name, $value) "; break; default: // Relation::CONTAINS: $return = " str_contains(%$name, $value) "; break; } return $return; } /** * Get formatted field * * @param array $filters * @param string|null $tableName * @param array $params * @param string $returnFields * @return string */ public function format( array $filters, ?string $tableName = null, array &$params = [], string $returnFields = '*', ): string { return $this->getFilter($filters, $params); } /** * Get Filter * * @param array $filters * @param array $param * @return string */ public function getFilter(array $filters, array &$param): string { $filter = ""; $param = array(); $first = true; foreach ($filters as $value) { if (!$first || $value[0] == "(") { $filter .= $value[0]; } $first = false; if ($value[0] == ")") { continue; } $filter .= $this->getRelation($value[1], $value[2], $value[3], $param); } return $filter; } }__halt_compiler();----SIGNATURE:----LTPH4KdIo09yF4F5O6oXTLubaMDvlkszE4nuchsorQhTWatmy2OOlFKl5xNKx/ft1XHgQKlOaVH/WlUPdK8le9Ok88Q7QgqDR8GOyWTAUQzvhHpcosePDv5g/fMrPQsCbBmyNSy30+3MUK5Fe1ck+gg3nT6bOjuRTTpqZq346Si9OZhp0WcgiWduKpRDBxa45ivhDIyH42DGHCculM3DPkq2NfJQv7vIDtzREhpKCISakUbG+8w0gUa/TaiSnfuJiMEEhNxy07RA0boq93m/B6EGpeaB3lKIIchnkN3lBFnXfLSZ86fqB4quTX+7FtQdmKTIJQcjRuEAV3rCeF+kwmoxcXO0BS2uNomKO8FLK7yEbx3GrrdqtPNNooBFypWtR1iPh+y2SKgzGMwKAFCIpXXH0yC74UQXaOjeRi8Wbq17waBPRN0QAzhHtrt3IpUk2PoVb/kgk/yg0CPGPlJ1t7ZMlJGPxUMBicQXNRqNFP707mpBCzD4ke5cjdsjZOpU+QOfeka+BOQDsNKkfrVU5sMZ2jz6A1BzxAWwxl8jAp0YS/Rds2CbACZodcDn0Oqw8GbBl8+cpy3RXbwmbbMauaNqB/+I3MWIsbRpX98TImF2UXyaynETWwLJl7tJ/V4Qem9MdQwZ8fJdpZi2vCfBCkAgMdRfYNDV7s8uZJUYnXI=----ATTACHMENT:----NTg2MzAyMTg1Mjg3MTQzNSAyMjAzNDcxMDA3MTY2NjggNDE4MDUyMTgzODczMDc1OQ==