public function preProcess() { if (!CRM_Campaign_BAO_Campaign::accessCampaign()) { CRM_Utils_System::permissionDenied(); } //check for custom data type. $this->_cdType = CRM_Utils_Array::value('type', $_GET); $this->assign('cdType', FALSE); if ($this->_cdType) { $this->assign('cdType', TRUE); return CRM_Custom_Form_CustomData::preProcess($this); } $this->_context = CRM_Utils_Request::retrieve('context', 'String', $this); $this->assign('context', $this->_context); $this->_action = CRM_Utils_Request::retrieve('action', 'String', $this); $this->_campaignId = CRM_Utils_Request::retrieve('id', 'Positive', $this); $title = NULL; if ($this->_action & CRM_Core_Action::UPDATE) { $title = ts('Edit Campaign'); } if ($this->_action & CRM_Core_Action::DELETE) { $title = ts('Delete Campaign'); } if ($title) { CRM_Utils_System::setTitle($title); } $session = CRM_Core_Session::singleton(); $session->pushUserContext(CRM_Utils_System::url('civicrm/campaign', 'reset=1&subPage=campaign')); $this->assign('action', $this->_action); //load the values; $this->_values = $this->get('values'); if (!is_array($this->_values)) { $this->_values = array(); // if we are editing if (isset($this->_campaignId) && $this->_campaignId) { $params = array('id' => $this->_campaignId); CRM_Campaign_BAO_Campaign::retrieve($params, $this->_values); } //lets use current object session. $this->set('values', $this->_values); } // when custom data is included in form. if (!empty($_POST['hidden_custom'])) { $this->set('type', 'Campaign'); $this->set('subType', CRM_Utils_Array::value('campaign_type_id', $_POST)); $this->set('entityId', $this->_campaignId); CRM_Custom_Form_CustomData::preProcess($this); CRM_Custom_Form_CustomData::buildQuickForm($this); CRM_Custom_Form_CustomData::setDefaultValues($this); } }
/** * 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 None */ function setDefaultValues() { $defaults = array(); // if we are editing if (isset($this->_campaignId)) { $params = array('id' => $this->_campaignId); require_once 'CRM/Campaign/BAO/Campaign.php'; CRM_Campaign_BAO_Campaign::retrieve($params, $defaults); } if (isset($defaults['start_date'])) { list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['start_date'], 'activityDateTime'); } else { list($defaults['start_date'], $defaults['start_date_time']) = CRM_Utils_Date::setDateDefaults(); } if (isset($defaults['end_date'])) { list($defaults['end_date'], $defaults['end_date_time']) = CRM_Utils_Date::setDateDefaults($defaults['end_date'], 'activityDateTime'); } if (!isset($defaults['is_active'])) { $defaults['is_active'] = 1; } if (!$this->_campaignId) { return $defaults; } $dao = new CRM_Campaign_DAO_CampaignGroup(); $campaignGroups = array(); $dao->campaign_id = $this->_campaignId; $dao->find(); while ($dao->fetch()) { $campaignGroups[$dao->entity_table][$dao->group_type][] = $dao->entity_id; } if (!empty($campaignGroups)) { $defaults['includeGroups'] = $campaignGroups['civicrm_group']['Include']; } return $defaults; }