Esempio n. 1
0
 /** 
  * This function sets the default values for the form. Note that in edit/view mode 
  * the default values are retrieved from the database 
  * 
  * @access public 
  * @return void 
  */
 function setDefaultValues()
 {
     $defaults = parent::setDefaultValues();
     require_once 'CRM/Core/BAO/CustomOption.php';
     CRM_Core_BAO_CustomOption::getAssoc('civicrm_contribution_page', $this->_id, $defaults);
     if (CRM_Utils_Array::value('value', $defaults)) {
         foreach ($defaults['value'] as $i => $v) {
             if ($v == $defaults['default_amount']) {
                 $defaults['default'] = $i;
                 break;
             }
         }
     }
     return $defaults;
 }
Esempio n. 2
0
 /** 
  * Function to set variables up before form is built 
  *                                                           
  * @return void 
  * @access public 
  */
 function preProcess()
 {
     // current contribution page id
     $this->_id = $this->get('id');
     // get all the values from the dao object
     $params = array('id' => $this->_id);
     $this->_values = array();
     CRM_Core_DAO::commonRetrieve('CRM_Contribute_DAO_ContributionPage', $params, $this->_values);
     // get the amounts and the label
     require_once 'CRM/Core/BAO/CustomOption.php';
     CRM_Core_BAO_CustomOption::getAssoc('civicrm_contribution_page', $this->_id, $this->_values);
     // get the profile ids
     require_once 'CRM/Core/BAO/UFJoin.php';
     $ufJoinParams = array('entity_table' => 'civicrm_contribution_page', 'entity_id' => $this->_id, 'weight' => 1);
     $this->_values['custom_pre_id'] = CRM_Core_BAO_UFJoin::findUFGroupId($ufJoinParams);
     $ufJoinParams['weight'] = 2;
     $this->_values['custom_post_id'] = CRM_Core_BAO_UFJoin::findUFGroupId($ufJoinParams);
 }
 /** 
  * Function to set variables up before form is built 
  *                                                           
  * @return void 
  * @access public 
  */
 function preProcess()
 {
     $config =& CRM_Core_Config::singleton();
     $session =& CRM_Core_Session::singleton();
     // make sure we have a valid payment class, else abort
     if (!$config->paymentClass) {
         CRM_Utils_System::setUFMessage(ts('%1 is not set in the config file.', array(1 => 'CIVICRM_CONTRIBUTE_PAYMENT_PROCESSOR')));
         CRM_Utils_System::redirect($config->userFrameworkBaseURL);
     }
     // current contribution page id
     $this->_id = CRM_Utils_Request::retrieve('id', $this);
     if (!$this->_id) {
         $pastContributionId = $session->get('pastContributionId');
         if (!$pastContributionId) {
             CRM_Core_Error::fatal(ts('We could not find contribution details for your request. Please try your request again.'));
         } else {
             CRM_Core_Error::fatal(ts('This contribution has already been submitted. Click <a href="%1">here</a> if you want to make another contribution.', array(1 => CRM_Utils_System::url('civicrm/contribute/transact', 'reset=1&id=' . $pastContributionId))));
         }
     } else {
         $session->set('pastContributionId', $this->_id);
     }
     // we do not want to display recently viewed items, so turn off
     $this->assign('displayRecent', false);
     // action
     $this->_action = CRM_Utils_Request::retrieve('action', $this, false, 'add');
     $this->assign('action', $this->_action);
     // current mode
     $this->_mode = $this->_action == 1024 ? 'test' : 'live';
     $this->_values = $this->get('values');
     $this->_fields = $this->get('fields');
     if (!$this->_values) {
         // get all the values from the dao object
         $params = array('id' => $this->_id);
         $this->_values = array();
         $this->_fields = array();
         CRM_Core_DAO::commonRetrieve('CRM_Contribute_DAO_ContributionPage', $params, $this->_values);
         // check if form is active
         if (!$this->_values['is_active']) {
             // form is inactive, bounce user back to front page of CMS
             CRM_Utils_System::setUFMessage(ts('The page you requested is currently unavailable.'));
             CRM_Utils_System::redirect($config->userFrameworkBaseURL);
         }
         // get the amounts and the label
         require_once 'CRM/Core/BAO/CustomOption.php';
         CRM_Core_BAO_CustomOption::getAssoc('civicrm_contribution_page', $this->_id, $this->_values);
         // get the profile ids
         require_once 'CRM/Core/BAO/UFJoin.php';
         $ufJoinParams = array('entity_table' => 'civicrm_contribution_page', 'entity_id' => $this->_id, 'weight' => 1);
         $this->_values['custom_pre_id'] = CRM_Core_BAO_UFJoin::findUFGroupId($ufJoinParams);
         $ufJoinParams['weight'] = 2;
         $this->_values['custom_post_id'] = CRM_Core_BAO_UFJoin::findUFGroupId($ufJoinParams);
         if ($config->paymentBillingMode & CRM_CONTRIBUTE_PAYMENT_BILLING_MODE_FORM) {
             $this->setCreditCardFields();
         }
         $this->set('values', $this->_values);
         $this->set('fields', $this->_fields);
     }
     $this->_contributeMode = $this->get('contributeMode');
     $this->assign('contributeMode', $this->_contributeMode);
     // assigning title to template in case someone wants to use it, also setting CMS page title
     $this->assign('title', $this->_values['title']);
     CRM_Utils_System::setTitle($this->_values['title']);
     $this->_defaults = array();
 }