Пример #1
0
/**
 * Add or update a plege
 *
 * @param  array   $params           (reference ) input parameters. Fields from interogate function should all work
 *
 * @return array (reference )        array representing created pledge
 * @static void
 * @access public
 */
function &civicrm_pledge_create(&$params)
{
    _civicrm_initialize();
    if (empty($params)) {
        return civicrm_create_error('No input parameters present');
    }
    if (!is_array($params)) {
        return civicrm_create_error('Input parameters is not an array');
    }
    //check for required fields
    $error = _civicrm_pledge_check_params($params);
    if (civicrm_error($error)) {
        return $error;
    }
    $values = array();
    require_once 'CRM/Pledge/BAO/Pledge.php';
    //check that fields are in appropriate format. Dates will be formatted (within reason) by this function
    $error = _civicrm_pledge_format_params($params, $values, TRUE);
    if (civicrm_error($error)) {
        return $error;
    }
    $pledge = CRM_Pledge_BAO_Pledge::create($values);
    if (is_a($pledge, 'CRM_Core_Error')) {
        return civicrm_create_error($pledge->_errors[0]['message']);
    } else {
        _civicrm_object_to_array($pledge, $pledgeArray);
        $pledgeArray['is_error'] = 0;
    }
    _civicrm_object_to_array($pledge, $pledgeArray);
    return $pledgeArray;
}
/**
 *
 * @param <type> $params
 *
 * @return <type>
 */
function &civicrm_pledge_payment_format_create(&$params)
{
    _civicrm_initialize();
    // return error if we have no params
    if (empty($params)) {
        return civicrm_create_error('Input Parameters empty');
    }
    $error = _civicrm_pledge_check_params($params);
    if (civicrm_error($error)) {
        return $error;
    }
    $values = array();
    $error = _civicrm_pledge_format_params($params, $values);
    if (civicrm_error($error)) {
        return $error;
    }
    $error = _civicrm_pledge_duplicate_check($params);
    if (civicrm_error($error)) {
        return $error;
    }
    $ids = array();
    CRM_Pledge_BAO_Pledge::resolveDefaults($params, TRUE);
    $pledge = CRM_Pledge_BAO_Pledge::create($params, $ids);
    _civicrm_object_to_array($pledge, $pledgeArray);
    return $pledgeArray;
}