Merge pull request #2367 from kurund/CRM-14082
[civicrm-core.git] / api / v3 / Profile.php
index c344138390fee8c748b4f4a3e6f50dc278c9f127..4b7c479b2ba08da7c639b46737101fbfe55b618f 100644 (file)
@@ -249,7 +249,7 @@ function civicrm_api3_profile_submit($params) {
     $tags = $profileParams['tag'];
     unset($profileParams['tag']);
   }
-  
+
   return civicrm_api3('contact', 'create', $profileParams);
 
   $ufGroupDetails = array();
@@ -386,6 +386,10 @@ function civicrm_api3_profile_apply($params) {
  *
  *  Note that that since the existing code for deriving a blank profile is not easily accessible our
  *  interim solution is just to return an empty array
+ *
+ * @param $params
+ *
+ * @return array
  */
 function _civicrm_api3_profile_getbillingpseudoprofile(&$params) {
 
@@ -576,8 +580,10 @@ function _civicrm_api3_buildprofile_submitfields($profileID, $optionsBehaviour =
         if(isset($profileFields[$profileID][$entityfield])) {
           unset($profileFields[$profileID][$entityfield]);
         }
-        // we will make the mixed case version (e.g. of 'Primary') an alias
-        $profileFields[$profileID][$fieldName]['api.aliases'][] = $entityfield;
+        if(!in_array($entityfield, $profileFields[$profileID][$fieldName]['api.aliases'])) {
+          // we will make the mixed case version (e.g. of 'Primary') an alias
+          $profileFields[$profileID][$fieldName]['api.aliases'][] = $entityfield;
+        }
       }
       /**
        * putting this on hold -this would cause the api to set the default - but could have unexpected behaviour
@@ -595,10 +601,14 @@ function _civicrm_api3_buildprofile_submitfields($profileID, $optionsBehaviour =
 function _civicrm_api3_order_by_weight($a, $b) {
   return CRM_Utils_Array::value('weight', $b) < CRM_Utils_Array::value('weight', $a) ? TRUE : FALSE;
 }
+
 /**
  * Here we map the profile fields as stored in the uf_field table to their 'real entity'
  * we also return the profile fieldname
  *
+ * @param $field
+ *
+ * @return array
  */
 function _civicrm_api3_map_profile_fields_to_entity(&$field) {
   $entity = $field['field_type'];