CRM-19697 Do not make use of the static _links object when customizing per payment...
authoradixon <alan.g.dixon@gmail.com>
Wed, 30 Nov 2016 20:00:19 +0000 (15:00 -0500)
committeradixon <alan.g.dixon@gmail.com>
Wed, 30 Nov 2016 20:00:19 +0000 (15:00 -0500)
CRM/Contribute/Page/Tab.php

index a5d0ad071f593f5e69aff0cd6bd7bd271c9b8fcc..3f7290a171367526f921d596554d9546491aaf9f 100644 (file)
@@ -79,21 +79,23 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page {
     }
 
     if ($recurID) {
+      $links = self::$_links;
       $paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($recurID, 'recur', 'obj');
       if (is_object($paymentProcessorObj) && $paymentProcessorObj->supports('cancelRecurring')) {
-        unset(self::$_links[CRM_Core_Action::DISABLE]['extra'], self::$_links[CRM_Core_Action::DISABLE]['ref']);
-        self::$_links[CRM_Core_Action::DISABLE]['url'] = "civicrm/contribute/unsubscribe";
-        self::$_links[CRM_Core_Action::DISABLE]['qs'] = "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}";
+        unset($links[CRM_Core_Action::DISABLE]['extra'], $links[CRM_Core_Action::DISABLE]['ref']);
+        $links[CRM_Core_Action::DISABLE]['url'] = "civicrm/contribute/unsubscribe";
+        $links[CRM_Core_Action::DISABLE]['qs'] = "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}";
       }
 
       if (is_object($paymentProcessorObj) && $paymentProcessorObj->isSupported('updateSubscriptionBillingInfo')) {
-        self::$_links[CRM_Core_Action::RENEW] = array(
+        $links[CRM_Core_Action::RENEW] = array(
           'name' => ts('Change Billing Details'),
           'title' => ts('Change Billing Details'),
           'url' => 'civicrm/contribute/updatebilling',
           'qs' => "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}",
         );
       }
+      return $links;
     }
 
     return self::$_links;