Merge pull request #1974 from rabramley/case-api-standard-get
[civicrm-core.git] / api / v3 / Contact.php
index a96ba078e7dc8d22513f4c795f736066bbaaa3d3..423190976a1b184b3d039436e060b4cd232e0840 100644 (file)
@@ -182,7 +182,7 @@ function _civicrm_api3_contact_get_spec(&$params) {
   $params['state_province_id']['title'] = 'Primary Address State Province ID';
   $params['state_province_name']['title'] = 'Primary Address State Province Name';
   $params['state_province']['title'] = 'Primary Address State Province';
-  $params['country_id']['title'] = 'Primary Address State Province ID';
+  $params['country_id']['title'] = 'Primary Address Country ID';
   $params['country']['title'] = 'Primary Address country';
   $params['worldregion_id']['title'] = 'Primary Address World Region ID';
   $params['worldregion']['title'] = 'Primary Address World Region';
@@ -192,6 +192,8 @@ function _civicrm_api3_contact_get_spec(&$params) {
   $params['provider_id']['title'] = 'Primary Phone Provider ID';
   $params['email_id']['title'] = 'Primary Email ID';
   $params['email']['title'] = 'Primary Email';
+  $params['gender_id']['title'] = 'Gender ID';
+  $params['gender']['title'] = 'Gender';
   $params['on_hold']['title'] = 'Primary Email On Hold';
   $params['im']['title'] = 'Primary Instant Messanger';
   $params['im_id']['title'] = 'Primary Instant Messanger ID';
@@ -517,7 +519,7 @@ function civicrm_api3_contact_quicksearch($params) {
 
 function civicrm_api3_contact_getquick($params) {
   civicrm_api3_verify_mandatory($params, NULL, array('name'));
-  $name = CRM_Utils_Type::escape($params['name'], 'String');
+  $name = CRM_Utils_Type::escape(CRM_Utils_Array::value('name', $params), 'String');
 
   // get the autocomplete options from settings
   $acpref = explode(CRM_Core_DAO::VALUE_SEPARATOR,
@@ -564,6 +566,9 @@ function civicrm_api3_contact_getquick($params) {
       case 'phone':
       case 'email':
         $actualSelectElements[] = $select[] = ($value == 'address') ? $selectText : $value;
+        if ($value == 'phone') {
+          $actualSelectElements[] = $select[] = 'phone_ext';
+        }
         $from[$value] = "LEFT JOIN civicrm_{$value} {$suffix} ON ( cc.id = {$suffix}.contact_id AND {$suffix}.is_primary = 1 ) ";
         break;
 
@@ -644,6 +649,10 @@ function civicrm_api3_contact_getquick($params) {
     }
   }
 
+  if (CRM_Utils_Array::value('contact_sub_type', $params)) {
+    $where .= " AND cc.contact_sub_type = \"{$params['contact_sub_type']}\" ";
+  }
+
   //set default for current_employer or return contact with particular id
   if (CRM_Utils_Array::value('id', $params)) {
     $where .= " AND cc.id = " . (int) $params['id'];