From cab9abb66be35dd3a2fbd49a6c4a703a9f51b79c Mon Sep 17 00:00:00 2001 From: Andrew Engelbrecht Date: Thu, 18 Jan 2018 21:16:08 -0500 Subject: [PATCH] revert commit that modified getRecurDetails() we aren't quite sure what this was supposed to do, but this patch was breaking our site, and it now works with these changes reverted. --- CRM/Contribute/Form/ContributionBase.php | 6 +----- CRM/Price/BAO/PriceSet.php | 9 ++------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/CRM/Contribute/Form/ContributionBase.php b/CRM/Contribute/Form/ContributionBase.php index 3bfa17967e..4b77747f9c 100644 --- a/CRM/Contribute/Form/ContributionBase.php +++ b/CRM/Contribute/Form/ContributionBase.php @@ -1387,11 +1387,7 @@ class CRM_Contribute_Form_ContributionBase extends CRM_Core_Form { $this->_params['is_recur'] = $this->_values['is_recur'] = 1; // check if price set is not quick config if (!empty($this->_params['priceSetId']) && !CRM_Core_DAO::getFieldValue('CRM_Price_DAO_PriceSet', $this->_params['priceSetId'], 'is_quick_config')) { - // based on Lisa's commit 520680c63f7b886643e80c2400d9e9b6f1a1fd52 - // Extract the ids for all of the line items that have been - // chosen. - $priceFieldValueIds = array_keys($this->_lineItem[$this->_params['priceSetId']]); - list($this->_params['frequency_interval'], $this->_params['frequency_unit']) = CRM_Price_BAO_PriceSet::getRecurDetails($this->_params['priceSetId'], $priceFieldValueIds); + list($this->_params['frequency_interval'], $this->_params['frequency_unit']) = CRM_Price_BAO_PriceSet::getRecurDetails($this->_params['priceSetId']); } else { // FIXME: set interval and unit based on selected membership type diff --git a/CRM/Price/BAO/PriceSet.php b/CRM/Price/BAO/PriceSet.php index cdc8a48d9f..7861bfac8b 100644 --- a/CRM/Price/BAO/PriceSet.php +++ b/CRM/Price/BAO/PriceSet.php @@ -1331,18 +1331,13 @@ GROUP BY mt.member_of_contact_id "; * @return array * associate array of frequency interval and unit */ - public static function getRecurDetails($priceSetId, $priceFieldValueIds) { - // Escape the array of ids. - foreach ($priceFieldValueIds as $index => $id) { - $priceFieldValueIds[$index] = CRM_Utils_Type::escape($id, 'Integer'); - } + public static function getRecurDetails($priceSetId) { $query = 'SELECT mt.duration_interval, mt.duration_unit FROM civicrm_price_field_value pfv INNER JOIN civicrm_membership_type mt ON pfv.membership_type_id = mt.id INNER JOIN civicrm_price_field pf ON pfv.price_field_id = pf.id - WHERE pf.price_set_id = %1 AND pfv.id IN (' - . implode(',', $priceFieldValueIds) . ') LIMIT 1'; + WHERE pf.price_set_id = %1 LIMIT 1'; $params = [1 => [$priceSetId, 'Integer']]; $dao = CRM_Core_DAO::executeQuery($query, $params); -- 2.25.1