/** * Add the discount button immediately before the price set. * * @param CRM_Contribute_Form_Contribution_Main $form */ function _cividiscount_add_button_before_priceSet(&$form) { CRM_Core_Region::instance('price-set-1')->add(array('template' => 'CRM/CiviDiscount/discountButton.tpl', 'weight' => -1, 'type' => 'template', 'name' => 'discount_code')); $form->add('text', 'discountcode', ts('If you have a discount code, enter it here'), array('class' => 'description')); $errorMessage = $form->get('discountCodeErrorMsg'); if ($errorMessage) { $form->setElementError('discountcode', $errorMessage); } $form->set('discountCodeErrorMsg', null); $buttonName = $form->getButtonName('reload'); $form->addElement('submit', $buttonName, ts('Apply'), array('formnovalidate' => 1)); $form->assign('discountElements', array('discountcode', $buttonName)); }