/** * 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; }