X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=api%2Fv3%2FContact.php;h=8217b646d1a2630fae44249574ee63ce9ff65b2c;hb=cd498448f58aec9669bdb9d780ff4407bb05e4e1;hp=d30d0d0b0995fc8f0142050810e47202323e66c1;hpb=93c4c2a90f9d22ec94aa8fbc6ac389604da34151;p=civicrm-core.git diff --git a/api/v3/Contact.php b/api/v3/Contact.php index d30d0d0b09..8217b646d1 100644 --- a/api/v3/Contact.php +++ b/api/v3/Contact.php @@ -818,7 +818,7 @@ function civicrm_api3_contact_getquick($params) { } $select = $actualSelectElements = ['sort_name']; - $where = ''; + foreach ($list as $value) { $suffix = substr($value, 0, 2) . substr($value, -1); switch ($value) { @@ -875,14 +875,14 @@ function civicrm_api3_contact_getquick($params) { // add acl clause here list($aclFrom, $aclWhere) = CRM_Contact_BAO_Contact_Permission::cacheClause('cc'); - + $whereClauses = ['cc.is_deleted = 0']; if ($aclWhere) { - $where .= " AND $aclWhere "; + $whereClauses[] = $aclWhere; } $isPrependWildcard = \Civi::settings()->get('includeWildCardInName'); if (!empty($params['org'])) { - $where .= " AND contact_type = \"Organization\""; + $whereClauses[] = 'contact_type = "Organization"'; // CRM-7157, hack: get current employer details when // employee_id is present. @@ -914,21 +914,21 @@ function civicrm_api3_contact_getquick($params) { if (!empty($params['contact_sub_type'])) { $contactSubType = CRM_Utils_Type::escape($params['contact_sub_type'], 'String'); - $where .= " AND cc.contact_sub_type = '{$contactSubType}'"; + $whereClauses[] = "cc.contact_sub_type = '{$contactSubType}'"; } if (!empty($params['contact_type'])) { $contactType = CRM_Utils_Type::escape($params['contact_type'], 'String'); - $where .= " AND cc.contact_type LIKE '{$contactType}'"; + $whereClauses[] = "cc.contact_type LIKE '{$contactType}'"; } // Set default for current_employer or return contact with particular id if (!empty($params['id'])) { - $where .= " AND cc.id = " . (int) $params['id']; + $whereClauses[] = 'cc.id = ' . (int) $params['id']; } if (!empty($params['cid'])) { - $where .= " AND cc.id <> " . (int) $params['cid']; + $whereClauses[] = 'cc.id <> ' . (int) $params['cid']; } // Contact's based of relationhip type @@ -949,10 +949,10 @@ function civicrm_api3_contact_getquick($params) { if ($config->includeNickNameInName) { $includeNickName = " OR nick_name LIKE '$strSearch'"; } - + $where = ' AND ' . implode(' AND ', $whereClauses); if (isset($customOptionsWhere)) { $customOptionsWhere = $customOptionsWhere ?: [0]; - $whereClause = " WHERE (" . implode(' OR ', $customOptionsWhere) . ") $where"; + $whereClause = ' WHERE (' . implode(' OR ', $customOptionsWhere) . ") $where"; } elseif (!empty($params['field_name']) && !empty($params['table_name']) && $params['field_name'] != 'sort_name') { $whereClause = " WHERE ( $table_name.$field_name LIKE '$strSearch') {$where}";