![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/mautic.corals.io/app/bundles/LeadBundle/Segment/Decorator/ |
<?php namespace Mautic\LeadBundle\Segment\Decorator; use Mautic\LeadBundle\Segment\ContactSegmentFilterCrate; interface FilterDecoratorInterface { /** * Returns filter's field (usually a column name in DB). * * @return string|null */ public function getField(ContactSegmentFilterCrate $contactSegmentFilterCrate); /** * Returns DB table. * * @return string */ public function getTable(ContactSegmentFilterCrate $contactSegmentFilterCrate); /** * Returns a string operator (like, eq, neq, ...). * * @return string */ public function getOperator(ContactSegmentFilterCrate $contactSegmentFilterCrate); /** * Returns an argument for QueryBuilder (usually ':arg' in case that $argument is equal to 'arg' string. * * @param array|string $argument * * @return array|string */ public function getParameterHolder(ContactSegmentFilterCrate $contactSegmentFilterCrate, $argument); /** * Returns formatted value for QueryBuilder ('%value%' for 'like', '%value' for 'Ends with', SQL-formatted date etc.). * * @return array|bool|float|string|null */ public function getParameterValue(ContactSegmentFilterCrate $contactSegmentFilterCrate); /** * Returns QueryBuilder's service name from the container. * * @return string */ public function getQueryType(ContactSegmentFilterCrate $contactSegmentFilterCrate); /** * Returns a name of aggregation function for SQL (SUM, COUNT etc.) * Returns false if no aggregation function is needed. * * @return string|bool if no func needed */ public function getAggregateFunc(ContactSegmentFilterCrate $contactSegmentFilterCrate): string|bool; /** * Returns a special where condition which is needed to be added to QueryBuilder (like email_stats.is_read = 1 for 'Read emails') * Returns null if no special condition is needed. * * @return \Doctrine\DBAL\Query\Expression\CompositeExpression|string|null */ public function getWhere(ContactSegmentFilterCrate $contactSegmentFilterCrate); }