/** * Function to build the form * * @return void * @access public */ public function buildQuickForm() { $id = CRM_PCP_BAO_PCP::getSupporterProfileId($this->_pageId, $this->_component); if (CRM_PCP_BAO_PCP::checkEmailProfile($id)) { $this->assign('profileDisplay', TRUE); } $fields = NULL; if ($this->_contactID) { if (CRM_Core_BAO_UFGroup::filterUFGroups($id, $this->_contactID)) { $fields = CRM_Core_BAO_UFGroup::getFields($id, FALSE, CRM_Core_Action::ADD); } $this->addFormRule(array('CRM_PCP_Form_PCPAccount', 'formRule'), $this); } else { CRM_Core_BAO_CMSUser::buildForm($this, $id, TRUE); // Override LoginUrl CRM_Pcpteams_Utils::overrideLoginUrl($this); $fields = CRM_Core_BAO_UFGroup::getFields($id, FALSE, CRM_Core_Action::ADD); } if ($fields) { $this->assign('fields', $fields); $addCaptcha = FALSE; foreach ($fields as $key => $field) { if (isset($field['data_type']) && $field['data_type'] == 'File') { // ignore file upload fields continue; } CRM_Core_BAO_UFGroup::buildProfile($this, $field, CRM_Profile_Form::MODE_CREATE); $this->_fields[$key] = $field; // CRM-11316 Is ReCAPTCHA enabled for this profile AND is this an anonymous visitor if ($field['add_captcha'] && !$this->_contactID) { $addCaptcha = TRUE; } } if ($addCaptcha) { $captcha =& CRM_Utils_ReCAPTCHA::singleton(); $captcha->add($this); $this->assign('isCaptcha', TRUE); } } if ($this->_component == 'contribute') { $this->assign('campaignName', CRM_Contribute_PseudoConstant::contributionPage($this->_pageId)); } elseif ($this->_component == 'event') { $this->assign('campaignName', CRM_Event_PseudoConstant::event($this->_pageId)); } if ($this->_single) { $button = array(array('type' => 'next', 'name' => ts('Save'), 'spacing' => ' ', 'isDefault' => TRUE), array('type' => 'cancel', 'name' => ts('Cancel'))); } else { $button[] = array('type' => 'next', 'name' => ts('Continue >>'), 'spacing' => ' ', 'isDefault' => TRUE); } $this->addFormRule(array('CRM_PCP_Form_PCPAccount', 'formRule'), $this); $this->addButtons($button); }