Exemplo n.º 1
0
/**
 * 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;
}