public static function getRecords($parameters) { $query = Contact::builder(); if (isset($parameters['group_id_042'])) { $query->whereIn('id_041', function ($query) use($parameters) { // select contacts from this groups $query->select('contact_id_042')->from('005_042_contacts_groups')->whereIn('group_id_042', [$parameters['group_id_042']])->groupBy('contact_id_042')->get(); }); } if (isset($args['groupBy'])) { $query->groupBy($args['groupBy']); } return $query->get(); }
/** * Function to search pattern inside message * @param $message * @param $patterns * @return array */ public static function checkEmailPattern($message, $patterns) { $response = []; $patternFound = false; $objPattern = null; $subject = $message->getSubject(); $body = $message->getMessageBody(); foreach ($patterns as $pattern) { $subjectFound = false; $messageFound = false; if (empty($pattern->subject_049) == false && strpos($subject, $pattern->subject_049) !== false) { $subjectFound = true; } if (empty($pattern->message_049) === false && strpos($body, $pattern->message_049) !== false) { $messageFound = true; } if ($pattern->operator_049 == 'and' && $subjectFound && $messageFound) { $patternFound = true; $objPattern = $pattern; break; } elseif (($pattern->operator_049 == 'or' || $pattern->operator_049 == null) && ($subjectFound || $messageFound)) { $patternFound = true; $objPattern = $pattern; break; } } if ($patternFound) { $response['success'] = true; $response['pattern'] = $objPattern; $emails = Miscellaneous::extractEmail($body); $response['contacts'] = Contact::builder()->whereIn('email_041', $emails)->where('unsubscribe_email_041', false)->get(); } else { $response['success'] = false; $response['pattern'] = false; $emails = Miscellaneous::extractEmail($body); $response['contacts'] = Contact::builder()->whereIn('email_041', $emails)->where('unsubscribe_email_041', false)->get(); } return $response; }