<?php
/*
+--------------------------------------------------------------------+
- | CiviCRM version 4.7 |
+ | CiviCRM version 5 |
+--------------------------------------------------------------------+
| Copyright CiviCRM LLC (c) 2004-2018 |
+--------------------------------------------------------------------+
*/
class CRM_Contribute_BAO_ContributionRecur extends CRM_Contribute_DAO_ContributionRecur {
+ /**
+ * Array with statuses that mark a recurring contribution as inactive.
+ *
+ * @var array
+ */
+ private static $inactiveStatuses = array('Cancelled', 'Chargeback', 'Refunded', 'Completed');
+
/**
* Create recurring contribution.
*
*
* @param int $recurId
* Recur contribution id.
- * @param array $objects
- * An array of objects that is to be cancelled like.
- * contribution, membership, event. At least contribution object is a must.
*
* @param array $activityParams
*
* @return bool
*/
- public static function cancelRecurContribution($recurId, $objects, $activityParams = array()) {
+ public static function cancelRecurContribution($recurId, $activityParams = array()) {
if (!$recurId) {
return FALSE;
}
}
$activityParams = array(
'source_contact_id' => $dao->contact_id,
- 'source_record_id' => CRM_Utils_Array::value('source_record_id', $activityParams),
+ 'source_record_id' => $dao->recur_id,
'activity_type_id' => CRM_Core_PseudoConstant::getKey('CRM_Activity_BAO_Activity', 'activity_type_id', 'Cancel Recurring Contribution'),
'subject' => CRM_Utils_Array::value('subject', $activityParams, ts('Recurring contribution cancelled')),
'details' => $details,
CRM_Activity_BAO_Activity::create($activityParams);
}
- // if there are associated objects, cancel them as well
- if (!$objects) {
- $transaction->commit();
- return TRUE;
- }
- else {
- // @todo - this is bad! Get the function out of the ipn.
- $baseIPN = new CRM_Core_Payment_BaseIPN();
- return $baseIPN->cancelled($objects, $transaction);
- }
+ $transaction->commit();
+ return TRUE;
}
else {
// if already cancelled, return true
*
*/
public static function getRecurContributions($contactId) {
- Civi::log()->warning('Deprecated function, use ContributionRecur.get API instead', array('civi.tag' => 'deprecated'));
+ CRM_Core_Error::deprecatedFunctionWarning('ContributionRecur.get API instead');
$params = array();
$recurDAO = new CRM_Contribute_DAO_ContributionRecur();
$recurDAO->contact_id = $contactId;
$cid = CRM_Utils_Request::retrieve('cid', 'Integer');
$mid = CRM_Utils_Request::retrieve('mid', 'Integer');
$qfkey = CRM_Utils_Request::retrieve('key', 'String');
- $context = CRM_Utils_Request::retrieve('context', 'String');
+ $context = CRM_Utils_Request::retrieve('context', 'Alphanumeric');
if ($cid) {
switch ($context) {
case 'contribution':
return $lineSets;
}
+ /**
+ * Returns array with statuses that are considered to make a recurring
+ * contribution inacteve.
+ *
+ * @return array
+ */
+ public static function getInactiveStatuses() {
+ return self::$inactiveStatuses;
+ }
+
}