revert commit that modified getRecurDetails()
authorAndrew Engelbrecht <andrew@fsf.org>
Fri, 19 Jan 2018 02:16:08 +0000 (21:16 -0500)
committerMichael McMahon <michael@fsf.org>
Thu, 21 Nov 2019 20:45:28 +0000 (15:45 -0500)
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
CRM/Price/BAO/PriceSet.php

index 9399f5c10e950ca85ca4622c9bb43311f6bf5773..0d4bd1b2666890c106cc422e08d6a1b3a2d736f0 100644 (file)
@@ -1367,11 +1367,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
index b985a45002a6a449de9f1baf0952c59e0ee384f9..e31d0ce273cc0e1abc28e581c27f459d6e7e2ed2 100644 (file)
@@ -1467,18 +1467,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);