| GNU Affero General Public License or the licensing of CiviCRM, |
| see the CiviCRM license FAQ at http://civicrm.org/licensing |
+--------------------------------------------------------------------+
-*/
+ */
/**
*
* Static field for all the contribution information that we can potentially import
*
* @var array
- * @static
*/
static $_importableFields = NULL;
* Static field for all the contribution information that we can potentially export
*
* @var array
- * @static
*/
static $_exportableFields = NULL;
*/
public $_component = NULL;
- /*
- * construct method
- */
/**
* Class constructor
*
* @return \CRM_Contribute_DAO_Contribution
*/
/**
- *
*/
public function __construct() {
parent::__construct();
* @param array $ids
* The array that holds all the db ids.
*
- * @return CRM_Contribute_BAO_Contribution object
- * @static
+ * @return CRM_Contribute_BAO_Contribution|void
*/
public static function add(&$params, $ids = array()) {
if (empty($params)) {
- return;
+ return NULL;
}
//per http://wiki.civicrm.org/confluence/display/CRM/Database+layer we are moving away from $ids array
$contributionID = CRM_Utils_Array::value('contribution', $ids, CRM_Utils_Array::value('id', $params));
* The array that holds all the db ids.
*
* @return CRM_Contribute_BAO_Contribution|null the found object or null
- * @static
*/
public static function &getValues($params, &$values, &$ids) {
if (empty($params)) {
* @param array $ids
* The array that holds all the db ids.
*
- * @return CRM_Contribute_BAO_Contribution object
- * @static
+ * @return CRM_Contribute_BAO_Contribution
*/
public static function create(&$params, $ids = array()) {
$dateFields = array('receive_date', 'cancel_date', 'receipt_date', 'thankyou_date');
$softParams['pcp_roll_nickname'] = CRM_Utils_Array::value('pcp_roll_nickname', $pcp);
$softParams['pcp_personal_note'] = CRM_Utils_Array::value('pcp_personal_note', $pcp);
$softParams['soft_credit_type_id'] = CRM_Core_OptionGroup::getValue('soft_credit_type', 'pcp', 'name');
- CRM_Contribute_BAO_ContributionSoft::add($softParams);
+ $contributionSoft = CRM_Contribute_BAO_ContributionSoft::add($softParams);
+ //Send notification to owner for PCP
+ if ($contributionSoft->pcp_id) {
+ CRM_Contribute_Form_Contribution_Confirm::pcpNotifyOwner($contribution, $contributionSoft);
+ }
}
if (isset($params['soft_credit'])) {
$softParams = $params['soft_credit'];
* True if we want to resolve the values in the reverse direction (value -> name).
*
* @return void
- * @static
*/
public static function resolveDefaults(&$defaults, $reverse = FALSE) {
self::lookupValue($defaults, 'financial_type', CRM_Contribute_PseudoConstant::financialType(), $reverse);
}
/**
- * This function is used to convert associative array names to values
+ * convert associative array names to values
* and vice-versa.
*
* This function is used by both the web form layer and the api. Note that
* @param array $ids
* (reference) the array that holds all the db ids.
*
- * @return CRM_Contribute_BAO_Contribution object
- * @static
+ * @return CRM_Contribute_BAO_Contribution
*/
public static function retrieve(&$params, &$defaults, &$ids) {
$contribution = CRM_Contribute_BAO_Contribution::getValues($params, $defaults, $ids);
* @param string $contactType
* @param bool $status
*
- * @return array array of importable Fields
- * @static
+ * @return array
+ * array of importable Fields
*/
public static function &importableFields($contactType = 'Individual', $status = TRUE) {
if (!self::$_importableFields) {
),
);
+ $contributionPage = array(
+ 'contribution_page' => array(
+ 'title' => ts('Contribution Page'),
+ 'name' => 'contribution_page',
+ 'where' => 'civicrm_contribution_page.title',
+ 'data_type' => CRM_Utils_Type::T_STRING,
+ ),
+ );
+
$contributionNote = array(
- 'contribution_note' =>
- array(
- 'title' => ts('Contribution Note'),
- 'name' => 'contribution_note',
- 'data_type' => CRM_Utils_Type::T_TEXT,
- ),
+ 'contribution_note' => array(
+ 'title' => ts('Contribution Note'),
+ 'name' => 'contribution_note',
+ 'data_type' => CRM_Utils_Type::T_TEXT,
+ ),
);
$contributionRecurId = array(
),
);
- $fields = array_merge($impFields, $typeField, $contributionStatus, $optionField, $expFieldProduct,
+ $fields = array_merge($impFields, $typeField, $contributionStatus, $contributionPage, $optionField, $expFieldProduct,
$expFieldsContrib, $contributionNote, $contributionRecurId, $extraFields, $softCreditFields, $financialAccount,
CRM_Core_BAO_CustomField::getFieldsForImport('Contribution')
);
*
* @param int $id
*
- * @return mixed|null $results no of deleted Contribution on success, false otherwise@access public
- * @static
+ * @return mixed|null
+ * $results no of deleted Contribution on success, false otherwise
*/
public static function deleteContribution($id) {
CRM_Utils_Hook::pre('delete', 'Contribution', $id, CRM_Core_DAO::$_nullArray);
* @param array $input
* An assoc array of name/value pairs.
* @param array $duplicates
- * (reference ) store ids of duplicate contribs.
- *
+ * (reference) store ids of duplicate contribs.
* @param int $id
*
- * @return boolean true if duplicate, false otherwise
- * static
+ * @return bool
+ * true if duplicate, false otherwise
*/
public static function checkDuplicate($input, &$duplicates, $id = NULL) {
if (!$id) {
* pairs
*
* @param array $params
- * (reference ) an assoc array of name/value pairs.
+ * (reference) an assoc array of name/value pairs.
*
- * @return CRM_Contribute_BAO_ContributionProduct object
- * @static
+ * @return CRM_Contribute_DAO_ContributionProduct
*/
public static function addPremium(&$params) {
$contributionProduct = new CRM_Contribute_DAO_ContributionProduct();
* @param bool $addExtraFields
* True if special fields needs to be added.
*
- * @return array the list of contribution fields
- * @static
+ * @return array
+ * the list of contribution fields
*/
public static function getContributionFields($addExtraFields = TRUE) {
$contributionFields = CRM_Contribute_DAO_Contribution::export();
/**
* Add extra fields specific to contribtion
*
- * @static
*/
public static function getSpecialContributionFields() {
$extraFields = array(
* @param int $honorId
* In Honor of Contact ID.
*
- * @return return the list of contribution fields
+ * @return array
+ * list of contribution fields
*
- * @static
*/
public static function getHonorContacts($honorId) {
$params = array();
* @param int $id
* Id of the contribution.
*
- * @return null|string sort name of the contact if found
- * @static
+ * @return null|string
+ * sort name of the contact if found
*/
public static function sortName($id) {
$id = CRM_Utils_Type::escape($id, 'Integer');
* @param array $params
* An assoc array of name/value pairs.
*
- * @return array contribution id if success else NULL
- * static
+ * @return array
+ * contribution id if success else NULL
*/
public static function checkDuplicateIds($params) {
$dao = new CRM_Contribute_DAO_Contribution();
* @param string $componentIds
* Component ids.
*
- * @return array associated array
+ * @return array
+ * associated array
*
- * @static
*/
public static function getContributionDetails($exportMode, $componentIds) {
$paymentDetails = array();
* Create address associated with contribution record.
*
* @param array $params
- * An associated array.
* @param int $billingLocationTypeID
*
- * @return address id
- * @static
+ * @return int
+ * address id
*/
public static function createAddress(&$params, $billingLocationTypeID) {
$billingFields = array(
* @param int $contributionId
* @param int $contactId
*
- * @static
*/
public static function deleteAddress($contributionId = NULL, $contactId = NULL) {
$clauses = array();
* @param string $componentName
* Event/Membership.
*
- * @return $contributionId pending contribution id.
- * @static
+ * @return int
+ * pending contribution id.
*/
public static function checkOnlinePendingContribution($componentId, $componentName) {
$contributionId = NULL;
}
/**
- * This function update contribution as well as related objects.
+ * Update contribution as well as related objects.
*/
public static function transitionComponents($params, $processContributionObject = FALSE) {
// get minimum required values.
WHERE membership_id=$membership->id
ORDER BY id DESC
LIMIT 1;";
- $dao = new CRM_Core_DAO;
+ $dao = new CRM_Core_DAO();
$dao->query($sql);
if ($dao->fetch()) {
if (!empty($dao->membership_type_id)) {
}
/**
- * This function returns all contribution related object ids.
+ * Returns all contribution related object ids.
*/
public static function getComponentDetails($contributionId) {
$componentDetails = $pledgePayment = array();
* @param int $contributorId
* Contributor id.
*
- * @return array $ids containing organization id and individual id
+ * @return array
+ * containing organization id and individual id
*/
public static function getOnbehalfIds($contributionId, $contributorId = NULL) {
/**
* @return array
- * @static
*/
public static function getContributionDates() {
$config = CRM_Core_Config::singleton();
);
}
- /*
+ /**
* Load objects relations to contribution object
* Objects are stored in the $_relatedObjects property
* In the first instance we are just moving functionality from BASEIpn -
- * see http://issues.civicrm.org/jira/browse/CRM-9996
+ * @see http://issues.civicrm.org/jira/browse/CRM-9996
+ *
+ * Note that the unit test for the BaseIPN class tests this function
*
* @param array $input
* Input as delivered from Payment Processor.
* Is Payment processor / contribution page required.
* @param bool $loadAll
* Load all related objects - even where id not passed in? (allows API to call this).
- * Note that the unit test for the BaseIPN class tests this function
- */
- /**
- * @param $input
- * @param $ids
- * @param bool $required
- * @param bool $loadAll
*
* @return bool
* @throws Exception
return TRUE;
}
- /*
+ /**
* Create array of message information - ie. return html version, txt version, to field
*
* @param array $input
* Incoming information.
- * - is_recur - should this be treated as recurring (not sure why you wouldn't
+ * - is_recur - should this be treated as recurring (not sure why you wouldn't
* just check presence of recur object but maintaining legacy approach
* to be careful)
* @param array $ids
* @param array $values
* Any values that may have already been compiled by calling process.
* This is augmented by values 'gathered' by gatherMessageValues
+ * @param bool $recur
* @param bool $returnMessageText
* Distinguishes between whether to send message or return.
* message text. We are working towards this function ALWAYS returning message text & calling
* function doing emails / pdfs with it
- * @return array $messageArray - messages
- */
- /**
- * @param $input
- * @param $ids
- * @param $values
- * @param bool $recur
- * @param bool $returnMessageText
*
+ * @return array
+ * messages
* @throws Exception
*/
public function composeMessageArray(&$input, &$ids, &$values, $recur = FALSE, $returnMessageText = TRUE) {
}
}
- /*
+ /**
* Gather values for contribution mail - this function has been created
* as part of CRM-9996 refactoring as a step towards simplifying the composeMessage function
* Values related to the contribution in question are gathered
*
* @param array $input
* Input into function (probably from payment processor).
+ * @param array $values
* @param array $ids
- * The set of ids related to the inpurt.
- *
- * @return array $values
- *
- * NB don't add direct calls to the function as we intend to change the signature
- */
- /**
- * @param $input
- * @param $values
- * @param array $ids
+ * The set of ids related to the input.
*
- * @return mixed
+ * @return array
*/
public function _gatherMessageValues($input, &$values, $ids = array()) {
// set display address of contributor
$values['financial_type_id'] = $this->financial_type_id;
}
-
$template->assign('trxn_id', $this->trxn_id);
$template->assign('receive_date',
CRM_Utils_Date::mysqlToIso($this->receive_date)
*
* @param bool $isNotCancelled
*
- * @return boolean
- * @static
+ * @return bool
*/
public static function isCancelSubscriptionSupported($contributionId, $isNotCancelled = TRUE) {
$cacheKeyString = "$contributionId";
* @param int $contributionId
* Contribution id.
*
- * @return string $status contribution status
- * @static
+ * @return string
+ * contribution status
*/
public static function isSubscriptionCancelled($contributionId) {
$sql = "
* @param array $financialTrxnValues
*
* @return null|object
- * @static
*/
public static function recordFinancialAccounts(&$params, $financialTrxnValues = NULL) {
$skipRecords = $update = $return = $isRelatedId = FALSE;
$params['trxnParams']['trxn_id'] = $params['prevContribution']->trxn_id;
$params['trxnParams']['status_id'] = $params['prevContribution']->contribution_status_id;
-
if (!(($params['prevContribution']->contribution_status_id == array_search('Pending', $contributionStatuses)
|| $params['prevContribution']->contribution_status_id == array_search('In Progress', $contributionStatuses))
&& $params['contribution']->contribution_status_id == array_search('Completed', $contributionStatuses))
*
* @param null $skipTrxn
*
- * @static
*/
public static function updateFinancialAccounts(&$params, $context = NULL, $skipTrxn = NULL) {
$itemAmount = $trxnID = NULL;
* List of errors.
*
* @return bool
- * @static
*/
public static function checkStatusValidation($values, &$fields, &$errors) {
if (CRM_Utils_System::isNull($values) && !empty($fields['id'])) {
if (!in_array($contributionStatuses[$fields['contribution_status_id']], $checkStatus[$contributionStatuses[$values['contribution_status_id']]])) {
$errors['contribution_status_id'] = ts("Cannot change contribution status from %1 to %2.", array(
- 1 => $contributionStatuses[$values['contribution_status_id']],
- 2 => $contributionStatuses[$fields['contribution_status_id']],
- ));
+ 1 => $contributionStatuses[$values['contribution_status_id']],
+ 2 => $contributionStatuses[$fields['contribution_status_id']],
+ ));
}
}
* @param int $contactId
* Contact id.
*
- * @static
*/
public static function deleteContactContribution($contactId) {
$contribution = new CRM_Contribute_DAO_Contribution();
* @see CRM_Core_DAO::buildOptions
*
* @param string $fieldName
- * @param string $context
- * : @see CRM_Core_DAO::buildOptionsContext.
- * @param array $props
- * : whatever is known about this dao object.
+ * @param string $context see CRM_Core_DAO::buildOptionsContext.
+ * @param array $props whatever is known about this dao object.
*
- * @return Array|bool
+ * @return array|bool
*/
public static function buildOptions($fieldName, $context = NULL, $props = array()) {
$className = __CLASS__;
$params['condition'] = 'id IN (' . implode(',', $types) . ')';
}
break;
+
// CRM-13981 This field was combined with soft_credits in 4.5 but the api still supports it
case 'honor_type_id':
$className = 'CRM_Contribute_BAO_ContributionSoft';
* @param string $relationName
*
* @return array|bool
- * @static
*/
public static function validateFinancialType($financialTypeId, $relationName = 'Expense Account is') {
$expenseTypeId = key(CRM_Core_PseudoConstant::accountOptionValues('account_relationship', NULL, " AND v.name LIKE '{$relationName}' "));
}
- /*
+ /**
* Function to record additional payment for partial and refund contributions
*
* @param int $contributionId
- * : is the invoice contribution id (got created after processing participant payment).
- * @param array $trxnData
- * : to take user provided input of transaction details.
+ * is the invoice contribution id (got created after processing participant payment).
+ * @param array $trxnsData
+ * to take user provided input of transaction details.
* @param string $paymentType
* 'owed' for purpose of recording partial payments, 'refund' for purpose of recording refund payments.
- */
- /**
- * @param int $contributionId
- * @param $trxnsData
- * @param string $paymentType
* @param int $participantId
*
* @return null|object
}
return $params;
}
+
}