/** * takes an associative array and creates a contribution_product object * * the function extract all the params it needs to initialize the create a * contribution_product object. the params array could contain additional unused name/value * pairs * * @param array $params (reference ) an assoc array of name/value pairs * * @return object CRM_Contribute_BAO_ContributionProduct object * @access public * @static */ static function addPremium(&$params) { require_once 'CRM/Contribute/DAO/ContributionProduct.php'; $contributionProduct = new CRM_Contribute_DAO_ContributionProduct(); $contributionProduct->copyValues($params); return $contributionProduct->save(); }
/** * Takes an associative array and creates a contribution_product object. * * the function extract all the params it needs to initialize the create a * contribution_product object. the params array could contain additional unused name/value * pairs * * @param array $params * (reference) an assoc array of name/value pairs. * * @return CRM_Contribute_DAO_ContributionProduct */ public static function addPremium(&$params) { $contributionProduct = new CRM_Contribute_DAO_ContributionProduct(); $contributionProduct->copyValues($params); return $contributionProduct->save(); }
/** * Process the Premium Information. * * @param array $params * @param int $contributionID * @param int $premiumID * @param array $options */ public static function processPremium($params, $contributionID, $premiumID = NULL, $options = array()) { $selectedProductID = $params['product_name'][0]; $selectedProductOptionID = CRM_Utils_Array::value(1, $params['product_name']); $dao = new CRM_Contribute_DAO_ContributionProduct(); $dao->contribution_id = $contributionID; $dao->product_id = $selectedProductID; $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE); $isDeleted = FALSE; //CRM-11106 $premiumParams = array('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[$selectedProductID])) { $dao->product_option = $options[$selectedProductID][$selectedProductOptionID]; } if ($premiumID) { $ContributionProduct = new CRM_Contribute_DAO_ContributionProduct(); $ContributionProduct->id = $premiumID; $ContributionProduct->find(TRUE); if ($ContributionProduct->product_id == $selectedProductID) { $dao->id = $premiumID; } else { $ContributionProduct->delete(); $isDeleted = TRUE; } } $dao->save(); //CRM-11106 if ($premiumID == NULL || $isDeleted) { $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) { $premiumParams['oldPremium']['product_id'] = $ContributionProduct->product_id; $premiumParams['oldPremium']['contribution_id'] = $ContributionProduct->contribution_id; } CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($premiumParams); } }
/** * Function to process the Premium Information * * @access public * @return None */ function processPremium(&$params, $contributionID, $premiumID = null, &$options = null) { require_once 'CRM/Contribute/DAO/ContributionProduct.php'; $dao = new CRM_Contribute_DAO_ContributionProduct(); $dao->contribution_id = $contributionID; $dao->product_id = $params['product_name'][0]; $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], null, true); if (CRM_Utils_Array::value($params['product_name'][0], $options)) { $dao->product_option = $options[$params['product_name'][0]][$params['product_name'][1]]; } if ($premiumID) { $premoumDAO = new CRM_Contribute_DAO_ContributionProduct(); $premoumDAO->id = $premiumID; $premoumDAO->find(true); if ($premoumDAO->product_id == $params['product_name'][0]) { $dao->id = $premiumID; $premium = $dao->save(); } else { $premoumDAO->delete(); $premium = $dao->save(); } } else { $premium = $dao->save(); } }
/** * Function to process the Premium Information * * @access public * * @return None */ function processPremium(&$params, $contributionID, $premiumID = NULL, &$options = NULL) { $dao = new CRM_Contribute_DAO_ContributionProduct(); $dao->contribution_id = $contributionID; $dao->product_id = $params['product_name'][0]; $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE); if (CRM_Utils_Array::value($params['product_name'][0], $options)) { $dao->product_option = $options[$params['product_name'][0]][$params['product_name'][1]]; } if ($premiumID) { $premoumDAO = new CRM_Contribute_DAO_ContributionProduct(); $premoumDAO->id = $premiumID; $premoumDAO->find(TRUE); if ($premoumDAO->product_id == $params['product_name'][0]) { $dao->id = $premiumID; $premium = $dao->save(); } else { $premoumDAO->delete(); $premium = $dao->save(); } } else { $premium = $dao->save(); } }
/** * Function to process the Premium Information * * @access public * * @return None */ static function processPremium(&$params, $contributionID, $premiumID = NULL, &$options = NULL) { $dao = new CRM_Contribute_DAO_ContributionProduct(); $dao->contribution_id = $contributionID; $dao->product_id = $params['product_name'][0]; $dao->fulfilled_date = CRM_Utils_Date::processDate($params['fulfilled_date'], NULL, TRUE); $isDeleted = False; //CRM-11106 $premiumParams = array('id' => $params['product_name'][0]); $productDetails = array(); CRM_Contribute_BAO_ManagePremiums::retrieve($premiumParams, $productDetails); $dao->financial_type_id = CRM_Utils_Array::value('financial_type_id', $productDetails); if (CRM_Utils_Array::value($params['product_name'][0], $options)) { $dao->product_option = $options[$params['product_name'][0]][$params['product_name'][1]]; } if ($premiumID) { $premoumDAO = new CRM_Contribute_DAO_ContributionProduct(); $premoumDAO->id = $premiumID; $premoumDAO->find(TRUE); if ($premoumDAO->product_id == $params['product_name'][0]) { $dao->id = $premiumID; $premium = $dao->save(); } else { $premoumDAO->delete(); $isDeleted = TRUE; $premium = $dao->save(); } } else { $premium = $dao->save(); } //CRM-11106 if ($premiumID == NULL || $isDeleted) { $params = 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; } CRM_Core_BAO_FinancialTrxn::createPremiumTrxn($params); } }