Exemplo n.º 1
0
 /**
  * This function sets the default values for the form. 
  * the default values are retrieved from the database
  * 
  * @access public
  * @return None
  */
 function setDefaultValues()
 {
     $eventId = $this->_id;
     $defaults = parent::setDefaultValues();
     $this->setShowHide($defaults);
     if (isset($eventId)) {
         $params = array('id' => $eventId);
         CRM_Event_BAO_Event::retrieve($params, $defaults);
         require_once 'CRM/Core/BAO/UFJoin.php';
         $ufJoinParams = array('entity_table' => 'civicrm_event', 'module' => 'CiviEvent', 'entity_id' => $eventId);
         list($defaults['custom_pre_id'], $defaults['custom_post_id']) = CRM_Core_BAO_UFJoin::getUFGroupIds($ufJoinParams);
         if ($defaults['is_multiple_registrations']) {
             // CRM-4377: set additional participants’ profiles – set to ‘none’ if explicitly unset (non-active)
             $ufJoin = new CRM_Core_DAO_UFJoin();
             $ufJoin->module = 'CiviEvent_Additional';
             $ufJoin->entity_table = 'civicrm_event';
             $ufJoin->entity_id = $eventId;
             $ufJoin->orderBy('weight');
             $ufJoin->find();
             $custom = array(1 => 'additional_custom_pre_id', 2 => 'additional_custom_post_id');
             while ($ufJoin->fetch()) {
                 $defaults[$custom[$ufJoin->weight]] = $ufJoin->is_active ? $ufJoin->uf_group_id : 'none';
             }
         }
     } else {
         $defaults['is_email_confirm'] = 0;
     }
     // provide defaults for required fields if empty (and as a 'hint' for approval message field)
     $defaults['registration_link_text'] = CRM_Utils_Array::value('registration_link_text', $defaults, ts('Register Now'));
     $defaults['confirm_title'] = CRM_Utils_Array::value('confirm_title', $defaults, ts('Confirm Your Registration Information'));
     $defaults['thankyou_title'] = CRM_Utils_Array::value('thankyou_title', $defaults, ts('Thank You for Registering'));
     $defaults['approval_req_text'] = CRM_Utils_Array::value('approval_req_text', $defaults, ts('Participation in this event requires approval. Submit your registration request here. Once approved, you will receive an email with a link to a web page where you can complete the registration process.'));
     list($defaults['registration_start_date'], $defaults['registration_start_date_time']) = CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value('registration_start_date', $defaults));
     list($defaults['registration_end_date'], $defaults['registration_end_date_time']) = CRM_Utils_Date::setDateDefaults(CRM_Utils_Array::value('registration_end_date', $defaults));
     return $defaults;
 }
Exemplo n.º 2
0
 /**
  * @param array $params
  *
  * @return array
  */
 public static function getUFGroupIds(&$params)
 {
     $dao = new CRM_Core_DAO_UFJoin();
     // CRM-4377 (ab)uses the module column
     if (isset($params['module'])) {
         $dao->module = CRM_Utils_Array::value('module', $params);
     }
     $dao->entity_table = CRM_Utils_Array::value('entity_table', $params);
     $dao->entity_id = CRM_Utils_Array::value('entity_id', $params);
     $dao->orderBy('weight asc');
     $dao->find();
     $first = $firstActive = NULL;
     $second = $secondActive = array();
     while ($dao->fetch()) {
         if ($dao->weight == 1) {
             $first = $dao->uf_group_id;
             $firstActive = $dao->is_active;
         } else {
             $second[] = $dao->uf_group_id;
             $secondActive[] = $dao->is_active;
         }
     }
     return array($first, $second, $firstActive, $secondActive);
 }
Exemplo n.º 3
0
 /**
  * Get the UF Join records for an ufgroup id.
  *
  * @param int $ufGroupId
  *   Uf group id.
  * @param int $displayName
  *   If set return display name in array.
  * @param int $status
  *   If set return module other than default modules (User Account/User registration/Profile).
  *
  * @return array
  *
  */
 public static function getUFJoinRecord($ufGroupId = NULL, $displayName = NULL, $status = NULL)
 {
     if ($displayName) {
         $UFGroupType = array();
         $UFGroupType = CRM_Core_SelectValues::ufGroupTypes();
     }
     $ufJoin = array();
     $dao = new CRM_Core_DAO_UFJoin();
     if ($ufGroupId) {
         $dao->uf_group_id = $ufGroupId;
     }
     $dao->find();
     $ufJoin = array();
     while ($dao->fetch()) {
         if (!$displayName) {
             $ufJoin[$dao->id] = $dao->module;
         } else {
             if (isset($UFGroupType[$dao->module])) {
                 // skip the default modules
                 if (!$status) {
                     $ufJoin[$dao->id] = $UFGroupType[$dao->module];
                 }
                 // added for CRM-1475
             } elseif (!CRM_Utils_Array::key($dao->module, $ufJoin)) {
                 $ufJoin[$dao->id] = $dao->module;
             }
         }
     }
     return $ufJoin;
 }
Exemplo n.º 4
0
 public static function getUFGroupIds(&$params)
 {
     $dao = new CRM_Core_DAO_UFJoin();
     // CRM-4377 (ab)uses the module column
     if (isset($params['module'])) {
         $dao->module = CRM_Utils_Array::value('module', $params);
     }
     $dao->entity_table = CRM_Utils_Array::value('entity_table', $params);
     $dao->entity_id = CRM_Utils_Array::value('entity_id', $params);
     $dao->orderBy('weight asc');
     $first = $second = $firstActive = $secondActive = null;
     $firstWeight = null;
     $dao->find();
     if ($dao->fetch()) {
         $first = $dao->uf_group_id;
         $firstWeight = $dao->weight;
         $firstActive = $dao->is_active;
     }
     while ($dao->fetch()) {
         if ($first != $dao->uf_group_id) {
             $second = $dao->uf_group_id;
             $secondActive = $dao->is_active;
             break;
         }
     }
     // if there is only one profile check to see the weight, if > 1 then let it be second
     // this is an approx rule, but should work in most cases.
     if ($second == null && $firstWeight > 1) {
         $second = $first;
         $first = null;
     }
     return array($first, $second, $firstActive, $secondActive);
 }
Exemplo n.º 5
0
 /**
  * Load values for a contribution page.
  *
  * @param int $id
  * @param array $values
  */
 public static function setValues($id, &$values)
 {
     $modules = array('CiviContribute', 'soft_credit', 'on_behalf');
     $values['custom_pre_id'] = $values['custom_post_id'] = NULL;
     $params = array('id' => $id);
     CRM_Core_DAO::commonRetrieve('CRM_Contribute_DAO_ContributionPage', $params, $values);
     // get the profile ids
     $ufJoinParams = array('entity_table' => 'civicrm_contribution_page', 'entity_id' => $id);
     // retrieve profile id as also unserialize module_data corresponding to each $module
     foreach ($modules as $module) {
         $ufJoinParams['module'] = $module;
         $ufJoin = new CRM_Core_DAO_UFJoin();
         $ufJoin->copyValues($ufJoinParams);
         if ($module == 'CiviContribute') {
             $ufJoin->orderBy('weight asc');
             $ufJoin->find();
             while ($ufJoin->fetch()) {
                 if ($ufJoin->weight == 1) {
                     $values['custom_pre_id'] = $ufJoin->uf_group_id;
                 } else {
                     $values['custom_post_id'] = $ufJoin->uf_group_id;
                 }
             }
         } else {
             $ufJoin->find(TRUE);
             if (!$ufJoin->is_active) {
                 continue;
             }
             $params = CRM_Contribute_BAO_ContributionPage::formatModuleData($ufJoin->module_data, TRUE, $module);
             $values = array_merge($params, $values);
             if ($module == 'soft_credit') {
                 $values['honoree_profile_id'] = $ufJoin->uf_group_id;
                 $values['honor_block_is_active'] = $ufJoin->is_active;
             } else {
                 $values['onbehalf_profile_id'] = $ufJoin->uf_group_id;
             }
         }
     }
 }
 /**
  * Search for profiles by Volunteer Project ID
  * @param type $projectId
  * @return array of UFGroup (Profile) Ids
  */
 function getProfileIDs()
 {
     if (empty($this->_profile_ids)) {
         $dao = new CRM_Core_DAO_UFJoin();
         $dao->entity_table = CRM_Volunteer_BAO_Project::$_tableName;
         $dao->entity_id = $this->_project->id;
         $dao->orderBy('weight asc');
         $dao->find();
         while ($dao->fetch()) {
             $this->_profile_ids[] = $dao->uf_group_id;
         }
     }
     return $this->_profile_ids;
 }
 /**
  * Does a UFJoin lookup and caches it for future use.
  *
  * @return array of UFGroup (profile) IDs
  */
 private function getProfileIDs()
 {
     if (empty($this->_profile_ids) && $this->getProject() !== FALSE) {
         $dao = new CRM_Core_DAO_UFJoin();
         $dao->entity_table = CRM_Volunteer_BAO_Project::$_tableName;
         $dao->entity_id = $this->getProject()->id;
         $dao->orderBy('weight asc');
         $dao->find();
         while ($dao->fetch()) {
             $this->_profile_ids[] = $dao->uf_group_id;
         }
     }
     if (empty($this->_profile_ids)) {
         $this->_profile_ids[] = civicrm_api3('UFGroup', 'getvalue', array('name' => 'volunteer_sign_up', 'return' => 'id'));
     }
     return $this->_profile_ids;
 }
 /**
  * Search for profiles
  *
  * @return array
  *   UFGroup (Profile) Ids
  */
 function getProfileIDs()
 {
     if (empty($this->_profile_ids)) {
         $profileIds = array();
         foreach ($this->projectIds as $projectId) {
             $dao = new CRM_Core_DAO_UFJoin();
             $dao->entity_table = CRM_Volunteer_BAO_Project::$_tableName;
             $dao->entity_id = $projectId;
             $dao->orderBy('weight asc');
             $dao->find();
             while ($dao->fetch()) {
                 $profileIds[] = $dao->uf_group_id;
             }
         }
         $this->_profile_ids = array_unique($profileIds);
     }
     return $this->_profile_ids;
 }