*/
function civicrm_api3_contribution_get($params) {
- $options = _civicrm_api3_get_options_from_params($params, TRUE,'contribution','get');
- $sort = CRM_Utils_Array::value('sort', $options, NULL);
- $offset = CRM_Utils_Array::value('offset', $options);
- $rowCount = CRM_Utils_Array::value('limit', $options);
- $smartGroupCache = CRM_Utils_Array::value('smartGroupCache', $params);
- $inputParams = CRM_Utils_Array::value('input_params', $options, array());
- $returnProperties = CRM_Utils_Array::value('return', $options, NULL);
- if (empty($returnProperties)) {
- $returnProperties = CRM_Contribute_BAO_Query::defaultReturnProperties(CRM_Contact_BAO_Query::MODE_CONTRIBUTE);
- }
-
- $newParams = CRM_Contact_BAO_Query::convertFormValues($inputParams);
- $query = new CRM_Contact_BAO_Query($newParams, $returnProperties, NULL,
- FALSE, FALSE, CRM_Contact_BAO_Query::MODE_CONTRIBUTE
- );
- list($select, $from, $where, $having) = $query->query();
-
- $sql = "$select $from $where $having";
-
- if (!empty($sort)) {
- $sql .= " ORDER BY $sort ";
- }
- $sql .= " LIMIT $offset, $rowCount ";
- $dao = CRM_Core_DAO::executeQuery($sql);
+ $mode = CRM_Contact_BAO_Query::MODE_CONTRIBUTE;
+ $entity = 'contribution';
+ list($dao, $query) = _civicrm_api3_get_query_object($params, $mode, $entity);
$contribution = array();
while ($dao->fetch()) {