+--------------------------------------------------------------------+
| CiviCRM version 4.6 |
+--------------------------------------------------------------------+
- | Copyright CiviCRM LLC (c) 2004-2014 |
+ | Copyright CiviCRM LLC (c) 2004-2015 |
+--------------------------------------------------------------------+
| This file is a part of CiviCRM. |
| |
/**
*
* @package CRM
- * @copyright CiviCRM LLC (c) 2004-2014
- * $Id$
- *
+ * @copyright CiviCRM LLC (c) 2004-2015
*/
class CRM_Contribute_Form_AdditionalInfo {
/**
* Build the form object for Premium Information.
*
+ * Called from the CRM_Contribute_Form_Contribute function and seemingly nowhere else.
*
- * @param CRM_Core_Form $form
+ * Probably this should be on the form that uses it since it is not used on multiple forms.
*
- * @return void
+ * Putting it on this class doesn't seem to reduce complexity.
+ *
+ * @param CRM_Core_Form $form
*/
public static function buildPremium(&$form) {
//premium section
/**
* Process the Premium Information.
*
- *
* @param array $params
* @param int $contributionID
* @param int $premiumID
- * @param NULL $options
- * @return void
+ * @param array $options
*/
- public static function processPremium(&$params, $contributionID, $premiumID = NULL, &$options = NULL) {
+ public static function processPremium($params, $contributionID, $premiumID = NULL, $options = array()) {
+ $selectedProductID = $params['product_name'][0];
+ $selectedProductOptionID = $params['product_name'][1];
+
$dao = new CRM_Contribute_DAO_ContributionProduct();
$dao->contribution_id = $contributionID;
- $dao->product_id = $params['product_name'][0];
+ $dao->product_id = $selectedProductID;
$dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE);
$isDeleted = FALSE;
+
//CRM-11106
$premiumParams = array(
- 'id' => $params['product_name'][0],
+ 'id' => $selectedProductID,
);
+
$productDetails = array();
CRM_Contribute_BAO_ManagePremiums::retrieve($premiumParams, $productDetails);
$dao->financial_type_id = CRM_Utils_Array::value('financial_type_id', $productDetails);
- if (!empty($options[$params['product_name'][0]])) {
- $dao->product_option = $options[$params['product_name'][0]][$params['product_name'][1]];
+ if (!empty($options[$selectedProductID])) {
+ $dao->product_option = $options[$selectedProductID][$selectedProductOptionID];
}
if ($premiumID) {
- $premoumDAO = new CRM_Contribute_DAO_ContributionProduct();
- $premoumDAO->id = $premiumID;
- $premoumDAO->find(TRUE);
- if ($premoumDAO->product_id == $params['product_name'][0]) {
+ $ContributionProduct = new CRM_Contribute_DAO_ContributionProduct();
+ $ContributionProduct->id = $premiumID;
+ $ContributionProduct->find(TRUE);
+ if ($ContributionProduct->product_id == $selectedProductID) {
$dao->id = $premiumID;
- $premium = $dao->save();
}
else {
- $premoumDAO->delete();
+ $ContributionProduct->delete();
$isDeleted = TRUE;
- $premium = $dao->save();
}
}
- else {
- $premium = $dao->save();
- }
+
+ $dao->save();
//CRM-11106
if ($premiumID == NULL || $isDeleted) {
- $params = array(
+ $premiumParams = array(
'cost' => CRM_Utils_Array::value('cost', $productDetails),
'currency' => CRM_Utils_Array::value('currency', $productDetails),
'financial_type_id' => CRM_Utils_Array::value('financial_type_id', $productDetails),
'contributionId' => $contributionID,
);
if ($isDeleted) {
- $params['oldPremium']['product_id'] = $premoumDAO->product_id;
- $params['oldPremium']['contribution_id'] = $premoumDAO->contribution_id;
+ $premiumParams['oldPremium']['product_id'] = $ContributionProduct->product_id;
+ $premiumParams['oldPremium']['contribution_id'] = $ContributionProduct->contribution_id;
}
- CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($params);
+ CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($premiumParams);
}
}
*
* @return void
*/
- public static function processNote(&$params, $contactID, $contributionID, $contributionNoteID = NULL) {
+ public static function processNote($params, $contactID, $contributionID, $contributionNoteID = NULL) {
//process note
$noteParams = array(
'entity_table' => 'civicrm_contribution',
)
);
$formatted['custom'] = CRM_Core_BAO_CustomField::postProcess($params,
- $customFields,
CRM_Utils_Array::value('id', $params, NULL),
'Contribution'
);
) {
$productDAO = new CRM_Contribute_DAO_Product();
$productDAO->id = $params['product_name'][0];
+ $productOptionID = $params['product_name'][1];
$productDAO->find(TRUE);
$params['product_name'] = $productDAO->name;
$params['product_sku'] = $productDAO->sku;
- if (empty($params['product_option']) && !empty($form->_options[$params['product_name'][0]])) {
- $params['product_option'] = $form->_options[$params['product_name'][0]][$params['product_name'][1]];
+ if (empty($params['product_option']) && !empty($form->_options[$productDAO->id])) {
+ $params['product_option'] = $form->_options[$productDAO->id][$productOptionID];
}
}