/** * Create an additional location for an existing contact * * @param array $params input properties * * @return array the created location's params * * @access public */ function civicrm_location_add(&$params) { _civicrm_initialize(); $error = _civicrm_location_check_params($params); if (civicrm_error($error)) { return $error; } $locationTypeId = CRM_Utils_Array::value('location_type_id', $params); if (!$locationTypeId && '3.0' != CRM_Utils_Array::value('version', $params)) { require_once 'CRM/Core/DAO/LocationType.php'; $locationTypeDAO =& new CRM_Core_DAO_LocationType(); $locationTypeDAO->name = $params['location_type']; $locationTypeDAO->find(true); $locationTypeId = $locationTypeDAO->id; if (!isset($locationTypeId)) { return civicrm_create_error(ts('$location_type is not valid one')); } } $location =& _civicrm_location_add($params, $locationTypeId); return $location; }
/** * Create an additional location for an existing contact * * @param array $params input properties * * @return array the created location's params * * @access public */ function civicrm_location_add(&$params) { _civicrm_initialize(); $error = _civicrm_location_check_params($params); if (civicrm_error($error)) { return $error; } $locationTypeId = CRM_Utils_Array::value('location_type_id', $params); if (!$locationTypeId && '2.0' == CRM_Utils_Array::value('location_format', $params)) { require_once 'CRM/Core/DAO/LocationType.php'; $locationTypeDAO = new CRM_Core_DAO_LocationType(); $locationTypeDAO->name = $params['location_type']; $locationTypeDAO->find(TRUE); $locationTypeId = $locationTypeDAO->id; CRM_Core_PseudoConstant::flush('locationType'); if (!isset($locationTypeId)) { return civicrm_create_error(ts('$location_type is not valid one')); } } $location =& _civicrm_location_add($params, $locationTypeId); return $location; }