$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:----Fv/xn1+LZW3GS+95ouzsqaBym7cGd3t07uja6NDUyP3mgtPNQ2lYBXBpyaR4iNEEOn/QfTvN12L1QWyivLqrf9fdEN8KEVccrX/5m/8RGo9atkvn0MpGzi5s8kO5a0G5rKNK0kKD8mx3uIQOCBM/E+CNDEjtgeOwbYB4qjDDo7km5HI3kDDRz8OzaZ5EOXdcjymtxLo57gchU0t37xVz/MU/7muFtZZOXnyMMZRdPNbDsBBya5sRj3XmJ+HU4mfYHYtRSeToREUyDFcHkunz1IPal3QB0QttZ8YToMbKzF/dzeuKT3zDll9Zy2ABiINuBSQuSix+G9KS8wtnYS0KucPaLwfX+DHMekHjjeWusGYnAGRdL7ucIN9Th87yHuUFoQYPah0nvMmEN2zL1lXavHiHSvW5B4AK7H0PcZnFD/pz4eDdLmSP17NGqJfHSUd9C6FkVPerFZcyYNMY2XoNrNPcAtoMn5fytRXx39JexQQAV6bPyZLpbt0NMRSTOhxmWXU+xUaxtINyd299tShnDGaRI+1vHuKRqdFPhMXnlHJdvEDWNcZhP5Q9LFCi5A4BNlvym+uCKerLg5fYMeDzowbwLEl6k/4oAOvcy20iQVnQqJ6LO+eRGL+DdV/309JfqV5yZz6lM/HOtjq4vOQfUuoUAstwB9mobUv2m4IwJqg=----ATTACHMENT:----MzkxMjU3NzU5MjE5NDY1MSA1OTcyODgzODY1Mjg2MDM0IDY2OTE0NzUyMjIyMzExMzc=