value pairs. If $params is set. * as null, all line_items will be returned (default limit is 25) * * @return array * Array of matching line_items */ function civicrm_api3_line_item_get($params) { if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && CRM_Utils_Array::value('check_permissions', $params)) { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($types); if (empty($params['financial_type_id'])) { $params['financial_type_id'] = array('IN' => array_keys($types)); } else { if (is_array($params['financial_type_id'])) { $invalidFts = array_diff($params['financial_type_id'], array_keys($types)); } elseif (!in_array($params['financial_type_id'], array_keys($types))) { $invalidFts = $params['financial_type_id']; } if ($invalidFts) { $params['financial_type_id'] = array('NOT IN' => $invalidFts); } } } return _civicrm_api3_basic_get(_civicrm_api3_get_BAO(__FUNCTION__), $params); } /** * Delete an existing LineItem. * * This method is used to delete any existing LineItem given its id. * * @param array $params * Array containing id of the group to be deleted. * * @return array * API result array */ function civicrm_api3_line_item_delete($params) { if (CRM_Financial_BAO_FinancialType::isACLFinancialTypeStatus() && CRM_Utils_Array::value('check_permissions', $params)) { CRM_Financial_BAO_FinancialType::getAvailableFinancialTypes($types, CRM_Core_Action::DELETE); if (empty($params['financial_type_id'])) { $params['financial_type_id'] = civicrm_api3('LineItem', 'getvalue', array( 'id' => $params['id'], 'return' => 'financial_type_id', )); } if (!in_array($params['financial_type_id'], array_keys($types))) { throw new API_Exception('You do not have permission to delete this line item'); } } return _civicrm_api3_basic_delete(_civicrm_api3_get_BAO(__FUNCTION__), $params); }