copyValues($params); $result = $mpDAO->save(); if (is_a($result, 'CRM_Core_Error')) { $transaction->rollback(); return civicrm_create_error($result->_errors[0]['message']); } $transaction->commit(); _civicrm_object_to_array($mpDAO, $mpArray); return $mpArray; } /** * Retrieve one / all contribution(s) / membership(s) linked to a * membership / contrbution. * * @param array $params (reference ) input parameters * * @return array (reference ) array of properties, if error an array with an error id and error message * @static void * @access public */ function &civicrm_membershipcontributionlink_get(&$params) { _civicrm_initialize(); if (empty($params)) { return civicrm_create_error(ts('No input parameters present')); } if (!is_array($params)) { return civicrm_create_error(ts('Input parameters is not an array')); } require_once 'CRM/Member/DAO/MembershipPayment.php'; $mpDAO = new CRM_Member_DAO_MembershipPayment(); $mpDAO->copyValues($params); $mpDAO->id = CRM_Utils_Array::value('membership_contribution_id', $params); $mpDAO->find(); $values = array(); while ($mpDAO->fetch()) { _civicrm_object_to_array($mpDAO, $mpArray); $mpArray['membership_contribution_id'] = $mpDAO->id; unset($mpArray['id']); $values[$mpDAO->id] = $mpArray; } return $values; }