/** * Takes an associative array and creates a price set object. * * @param array $params * (reference) an assoc array of name/value pairs. * * @return CRM_Price_DAO_PriceSet */ public static function create(&$params) { if (empty($params['id']) && empty($params['name'])) { $params['name'] = CRM_Utils_String::munge($params['title'], '_', 242); } $priceSetID = NULL; $validatePriceSet = TRUE; if (!empty($params['extends']) && is_array($params['extends'])) { if (!array_key_exists(CRM_Core_Component::getComponentID('CiviEvent'), $params['extends']) || !array_key_exists(CRM_Core_Component::getComponentID('CiviMember'), $params['extends'])) { $validatePriceSet = FALSE; } $params['extends'] = CRM_Utils_Array::implodePadded($params['extends']); } else { $priceSetID = CRM_Utils_Array::value('id', $params); } // CRM-16189 if ($validatePriceSet && !empty($params['financial_type_id'])) { CRM_Financial_BAO_FinancialAccount::validateFinancialType($params['financial_type_id'], $priceSetID); } $priceSetBAO = new CRM_Price_BAO_PriceSet(); $priceSetBAO->copyValues($params); if (self::eventPriceSetDomainID()) { $priceSetBAO->domain_id = CRM_Core_Config::domainID(); } return $priceSetBAO->save(); }
/** * takes an associative array and creates a price set object * * @param array $params (reference) an assoc array of name/value pairs * * @return object CRM_Price_DAO_PriceSet object * @access public * @static */ static function create(&$params) { $priceSetBAO = new CRM_Price_BAO_PriceSet(); $priceSetBAO->copyValues($params); if (self::eventPriceSetDomainID()) { $priceSetBAO->domain_id = CRM_Core_Config::domainID(); } return $priceSetBAO->save(); }
/** * takes an associative array and creates a price set object * * @param array $params (reference) an assoc array of name/value pairs * * @return object CRM_Price_DAO_PriceSet object * @access public * @static */ static function create(&$params) { if (empty($params['id']) && empty($params['name'])) { $params['name'] = CRM_Utils_String::munge($params['title'], '_', 242); } $priceSetBAO = new CRM_Price_BAO_PriceSet(); $priceSetBAO->copyValues($params); if (self::eventPriceSetDomainID()) { $priceSetBAO->domain_id = CRM_Core_Config::domainID(); } return $priceSetBAO->save(); }