コード例 #1
0
ファイル: Campaign.php プロジェクト: kidaa30/yes
 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);
     }
 }
コード例 #2
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 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;
 }