X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FContribute%2FPage%2FTab.php;h=c84e1198b80806aa04ba44633426a39271494d7b;hb=817280e34e465b5fcf89e81710a28eae87798bc2;hp=2a08ede086e79de6b4c6197b629978c51e46c747;hpb=d2118be269bed42c1398dd8c4da996caeaed6006;p=civicrm-core.git diff --git a/CRM/Contribute/Page/Tab.php b/CRM/Contribute/Page/Tab.php index 2a08ede086..c84e1198b8 100644 --- a/CRM/Contribute/Page/Tab.php +++ b/CRM/Contribute/Page/Tab.php @@ -1,46 +1,38 @@ array( - 'name' => ts('View'), - 'title' => ts('View Recurring Payment'), - 'url' => 'civicrm/contact/view/contributionrecur', - 'qs' => "reset=1&id=%%crid%%&cid=%%cid%%&context={$context}", - ), - CRM_Core_Action::UPDATE => array( - 'name' => ts('Edit'), - 'title' => ts('Edit Recurring Payment'), - 'url' => 'civicrm/contribute/updaterecur', - 'qs' => "reset=1&action=update&crid=%%crid%%&cid=%%cid%%&context={$context}", - ), - CRM_Core_Action::DISABLE => array( - 'name' => ts('Cancel'), - 'title' => ts('Cancel'), - 'ref' => 'crm-enable-disable', - ), - ); - } + public static function recurLinks($recurID = FALSE, $context = 'contribution') { + $links = [ + CRM_Core_Action::VIEW => [ + 'name' => ts('View'), + 'title' => ts('View Recurring Payment'), + 'url' => 'civicrm/contact/view/contributionrecur', + 'qs' => "reset=1&id=%%crid%%&cid=%%cid%%&context={$context}", + ], + CRM_Core_Action::UPDATE => [ + 'name' => ts('Edit'), + 'title' => ts('Edit Recurring Payment'), + 'url' => 'civicrm/contribute/updaterecur', + 'qs' => "reset=1&action=update&crid=%%crid%%&cid=%%cid%%&context={$context}", + ], + CRM_Core_Action::DISABLE => [ + 'name' => ts('Cancel'), + 'title' => ts('Cancel'), + 'ref' => 'crm-enable-disable', + ], + ]; if ($recurID) { - $links = self::$_links; - $paymentProcessorObj = CRM_Financial_BAO_PaymentProcessor::getProcessorForEntity($recurID, 'recur', 'obj'); - if (!is_object($paymentProcessorObj)) { - unset($links[CRM_Core_Action::DISABLE]); - unset($links[CRM_Core_Action::UPDATE]); - return $links; - } - if ($paymentProcessorObj->supports('cancelRecurring')) { - 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}"; - } + $paymentProcessorObj = CRM_Contribute_BAO_ContributionRecur::getPaymentProcessorObject($recurID); + if ($paymentProcessorObj) { + if ($paymentProcessorObj->supports('cancelRecurring')) { + 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 ($paymentProcessorObj->supports('UpdateSubscriptionBillingInfo')) { - $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}", - ); - } + if ($paymentProcessorObj->supports('UpdateSubscriptionBillingInfo')) { + $links[CRM_Core_Action::RENEW] = [ + 'name' => ts('Change Billing Details'), + 'title' => ts('Change Billing Details'), + 'url' => 'civicrm/contribute/updatebilling', + 'qs' => "reset=1&crid=%%crid%%&cid=%%cid%%&context={$context}", + ]; + } - if (!$paymentProcessorObj->supports('ChangeSubscriptionAmount') && !$paymentProcessorObj->supports('EditRecurringContribution')) { + if (!$paymentProcessorObj->supports('ChangeSubscriptionAmount') && !$paymentProcessorObj->supports('EditRecurringContribution')) { + unset($links[CRM_Core_Action::UPDATE]); + } + } + else { + unset($links[CRM_Core_Action::DISABLE]); unset($links[CRM_Core_Action::UPDATE]); } - return $links; } - return self::$_links; + return $links; } /** @@ -116,7 +105,7 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { */ public function browse() { // add annual contribution - $annual = array(); + $annual = []; list($annual['count'], $annual['amount'], $annual['avg'] @@ -151,13 +140,14 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { $softCreditList = CRM_Contribute_BAO_ContributionSoft::getSoftContributionList($this->_contactId, NULL, $isTest); if (!empty($softCreditList)) { - $softCreditTotals = array(); + $softCreditTotals = []; list($softCreditTotals['count'], $softCreditTotals['cancel']['count'], $softCreditTotals['amount'], $softCreditTotals['avg'], - $softCreditTotals['cancel']['amount'] // to get cancel amount + // to get cancel amount + $softCreditTotals['cancel']['amount'] ) = CRM_Contribute_BAO_ContributionSoft::getSoftContributionTotals($this->_contactId, $isTest); $this->assign('softCredit', TRUE); @@ -195,19 +185,19 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * Loads active recurring contributions for the current contact and formats * them to be used on the form. * - * @return array; + * @return array */ private function getActiveRecurringContributions() { try { - $contributionRecurResult = civicrm_api3('ContributionRecur', 'get', array( + $contributionRecurResult = civicrm_api3('ContributionRecur', 'get', [ 'contact_id' => $this->_contactId, - 'contribution_status_id' => array('NOT IN' => CRM_Contribute_BAO_ContributionRecur::getInactiveStatuses()), + 'contribution_status_id' => ['NOT IN' => CRM_Contribute_BAO_ContributionRecur::getInactiveStatuses()], 'options' => ['limit' => 0, 'sort' => 'is_test, start_date DESC'], - )); + ]); $recurContributions = CRM_Utils_Array::value('values', $contributionRecurResult); } catch (Exception $e) { - $recurContributions = array(); + $recurContributions = []; } return $this->buildRecurringContributionsArray($recurContributions); @@ -217,15 +207,15 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * Loads inactive recurring contributions for the current contact and formats * them to be used on the form. * - * @return array; + * @return array */ private function getInactiveRecurringContributions() { try { - $contributionRecurResult = civicrm_api3('ContributionRecur', 'get', array( + $contributionRecurResult = civicrm_api3('ContributionRecur', 'get', [ 'contact_id' => $this->_contactId, - 'contribution_status_id' => array('IN' => CRM_Contribute_BAO_ContributionRecur::getInactiveStatuses()), + 'contribution_status_id' => ['IN' => CRM_Contribute_BAO_ContributionRecur::getInactiveStatuses()], 'options' => ['limit' => 0, 'sort' => 'is_test, start_date DESC'], - )); + ]); $recurContributions = CRM_Utils_Array::value('values', $contributionRecurResult); } catch (Exception $e) { @@ -238,7 +228,7 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { /** * @param $recurContributions * - * @return mixed + * @return array */ private function buildRecurringContributionsArray($recurContributions) { $liveRecurringContributionCount = 0; @@ -266,11 +256,11 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { } $recurContributions[$recurId]['action'] = CRM_Core_Action::formLink(self::recurLinks($recurId), $actionMask, - array( + [ 'cid' => $this->_contactId, 'crid' => $recurId, 'cxt' => 'contribution', - ), + ], ts('more'), FALSE, 'contribution.selector.recurring', @@ -326,6 +316,10 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { return $controller->run(); } + /** + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception + */ public function preProcess() { $context = CRM_Utils_Request::retrieve('context', 'Alphanumeric', $this); $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this, FALSE, 'browse'); @@ -337,10 +331,10 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { else { $this->_contactId = CRM_Utils_Request::retrieve('cid', 'Positive', $this, empty($this->_id)); if (empty($this->_contactId)) { - $this->_contactId = civicrm_api3('contribution', 'getvalue', array( - 'id' => $this->_id, - 'return' => 'contact_id', - )); + $this->_contactId = civicrm_api3('contribution', 'getvalue', [ + 'id' => $this->_id, + 'return' => 'contact_id', + ]); } $this->assign('contactId', $this->_contactId); @@ -360,7 +354,8 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { * the main function that is called when the page * loads, it decides the which action has to be taken for the page. * - * @return null + * @throws \CRM_Core_Exception + * @throws \CiviCRM_API3_Exception */ public function run() { $this->preProcess(); @@ -380,9 +375,12 @@ class CRM_Contribute_Page_Tab extends CRM_Core_Page { $this->browse(); } - return parent::run(); + parent::run(); } + /** + * @throws \CRM_Core_Exception + */ public function setContext() { $qfKey = CRM_Utils_Request::retrieve('key', 'String', $this); $context = CRM_Utils_Request::retrieve('context', 'Alphanumeric',