- if ($src || !empty($searchData['value'])) {
- $src = $src ? $src : $searchData['value'];
- $where[] = " cc1.display_name LIKE '%{$src}%'";
- }
- if ($dst || !empty($searchData['value'])) {
- $dst = $dst ? $dst : $searchData['value'];
- $where[] = " cc2.display_name LIKE '%{$dst}%'";
- }
- if ($src_email || !empty($searchData['value'])) {
- $src_email = $src_email ? $src_email : $searchData['value'];
- $where[] = " (ce1.is_primary = 1 AND ce1.email LIKE '%{$src_email}%')";
- }
- if ($dst_email || !empty($searchData['value'])) {
- $dst_email = $dst_email ? $dst_email : $searchData['value'];
- $where[] = " (ce2.is_primary = 1 AND ce2.email LIKE '%{$dst_email}%')";
- }
- if ($src_postcode || !empty($searchData['value'])) {
- $src_postcode = $src_postcode ? $src_postcode : $searchData['value'];
- $where[] = " (ca1.is_primary = 1 AND ca1.postal_code LIKE '%{$src_postcode}%')";
- }
- if ($dst_postcode || !empty($searchData['value'])) {
- $dst_postcode = $dst_postcode ? $dst_postcode : $searchData['value'];
- $where[] = " (ca2.is_primary = 1 AND ca2.postal_code LIKE '%{$dst_postcode}%')";
- }
- if ($src_street || !empty($searchData['value'])) {
- $src_street = $src_street ? $src_street : $searchData['value'];
- $where[] = " (ca1.is_primary = 1 AND ca1.street_address LIKE '%{$src_street}%')";
- }
- if ($dst_street || !empty($searchData['value'])) {
- $dst_street = $dst_street ? $dst_street : $searchData['value'];
- $where[] = " (ca2.is_primary = 1 AND ca2.street_address LIKE '%{$dst_street}%')";
+ $isOrQuery = self::isOrQuery();
+
+ $nextParamKey = 3;
+ $mappings = array(
+ 'dst' => 'cc1.display_name',
+ 'src' => 'cc2.display_name',
+ 'dst_email' => 'ce1.email',
+ 'src_email' => 'ce2.email',
+ 'dst_postcode' => 'ca1.postal_code',
+ 'src_postcode' => 'ca2.postal_code',
+ 'dst_street' => 'ca1.street',
+ 'src_street' => 'ca2.street',
+ );
+
+ foreach ($mappings as $key => $dbName) {
+ if (!empty($searchParams[$key])) {
+ $queryParams[$nextParamKey] = array('%' . $searchParams[$key] . '%', 'String');
+ $where[] = $dbName . " LIKE %{$nextParamKey} ";
+ $nextParamKey++;
+ }