/** * Use this API to create a new group. See the CRM Data Model for uf_group property definitions * * @param $params array Associative array of property name/value pairs to insert in group. * * @return Newly create $ufGroupArray array * {@getfields UFGroup_create} * @example UFGroupCreate.php * @access public */ function civicrm_api3_uf_group_create($params) { $ids = array(); $ids['ufgroup'] = $params['id']; $ufGroup = CRM_Core_BAO_UFGroup::add($params, $ids); _civicrm_api3_object_to_array($ufGroup, $ufGroupArray[$ufGroup->id]); return civicrm_api3_create_success($ufGroupArray, $params); }
/** * Process the form * * @return void * @access public */ public function postProcess() { if ($this->_action & CRM_Core_Action::DELETE) { $title = CRM_Core_BAO_UFGroup::getTitle($this->_id); CRM_Core_BAO_UFGroup::del($this->_id); CRM_Core_Session::setStatus(ts("Your CiviCRM Profile '%1' has been deleted.", array(1 => $title)), ts('Profile Deleted'), 'success'); } elseif ($this->_action & CRM_Core_Action::DISABLE) { $ufJoinParams = array('uf_group_id' => $this->_id); CRM_Core_BAO_UFGroup::delUFJoin($ufJoinParams); CRM_Core_BAO_UFGroup::setIsActive($this->_id, 0); } else { // get the submitted form values. $params = $ids = array(); $params = $this->controller->exportValues($this->_name); if (!array_key_exists('is_active', $params)) { $params['is_active'] = 0; } if ($this->_action & CRM_Core_Action::UPDATE) { $ids['ufgroup'] = $this->_id; // CRM-5284 // lets skip trying to mess around with profile weights and allow the user to do as needed. } elseif ($this->_action & CRM_Core_Action::ADD) { $session = CRM_Core_Session::singleton(); $params['created_id'] = $session->get('userID'); $params['created_date'] = date('YmdHis'); } // create uf group $ufGroup = CRM_Core_BAO_UFGroup::add($params, $ids); if (!empty($params['is_active'])) { //make entry in uf join table CRM_Core_BAO_UFGroup::createUFJoin($params, $ufGroup->id); } elseif ($this->_id) { // this profile has been set to inactive, delete all corresponding UF Join's $ufJoinParams = array('uf_group_id' => $this->_id); CRM_Core_BAO_UFGroup::delUFJoin($ufJoinParams); } if ($this->_action & CRM_Core_Action::UPDATE) { $url = CRM_Utils_System::url('civicrm/admin/uf/group', 'reset=1&action=browse'); CRM_Core_Session::setStatus(ts("Your CiviCRM Profile '%1' has been saved.", array(1 => $ufGroup->title)), ts('Profile Saved'), 'success'); } else { // Jump directly to adding a field if popups are disabled $action = CRM_Core_Resources::singleton()->ajaxPopupsEnabled ? '' : '/add'; $url = CRM_Utils_System::url("civicrm/admin/uf/group/field{$action}", 'reset=1&gid=' . $ufGroup->id . '&action=' . ($action ? 'add' : 'browse')); CRM_Core_Session::setStatus(ts('Your CiviCRM Profile \'%1\' has been added. You can add fields to this profile now.', array(1 => $ufGroup->title)), ts('Profile Added'), 'success'); } $session = CRM_Core_Session::singleton(); $session->replaceUserContext($url); } // update cms integration with registration / my account CRM_Utils_System::updateCategories(); }
/** * Use this API to update group. See the CRM Data Model for uf_group property definitions * * @param $params array Associative array of property name/value pairs to insert in group. * * @param $ufGroup Object A valid UF Group object that to be updated. * * @return updated uf_group object * * @access public */ function crm_update_uf_group($params, $ufGroup) { _crm_initialize(); $groupId = $ufGroup->id; if (!is_array($params)) { return _crm_error("params is not an array "); } if (!isset($groupId)) { return _crm_error("parameter {$groupId} is not set "); } $ids = array(); $ids['ufgroup'] = $groupId; require_once 'CRM/Core/BAO/UFGroup.php'; return CRM_Core_BAO_UFGroup::add($params, $ids); }
/** * Process the form * * @return void * @access public */ function postProcess() { if ($this->_action & CRM_CORE_ACTION_DELETE) { $status = 0; $status = CRM_Core_BAO_UFGroup::del($this->_id); if ($status == 0) { CRM_Core_Session::setStatus(ts('This profile cannot be deleted since it is used for other modules.', array(1 => $this->_title))); } else { if ($status == -1) { CRM_Core_Session::setStatus(ts('You must delete all profile fields for "%1" prior to deleting the profile.', array(1 => $this->_title))); } else { CRM_Core_Session::setStatus(ts('Your CiviCRM Profile Group "%1" has been deleted.', array(1 => $this->_title))); } } return; } // get the submitted form values. $params = $ids = array(); $params = $this->controller->exportValues('Group'); if ($this->_action & CRM_CORE_ACTION_UPDATE) { $ids['ufgroup'] = $this->_id; } // create uf group $ufGroup = CRM_Core_BAO_UFGroup::add($params, $ids); //make entry in uf join table CRM_Core_BAO_UFGroup::createUFJoin($params, $ufGroup->id); if ($this->_action & CRM_CORE_ACTION_UPDATE) { CRM_Core_Session::setStatus(ts('Your CiviCRM Profile Group "%1" has been saved.', array(1 => $ufGroup->title))); } else { $url = CRM_Utils_System::url('civicrm/admin/uf/group/field', 'reset=1&action=add&gid=' . $ufGroup->id); CRM_Core_Session::setStatus(ts('Your CiviCRM Profile Group "%1" has been added. You can <a href="%2">add fields</a> to this group now.', array(1 => $ufGroup->title, 2 => $url))); } }
/** * Process the form * * @return void * @access public */ public function postProcess() { if ($this->_action & CRM_Core_Action::DELETE) { $title = CRM_Core_BAO_UFGroup::getTitle($this->_id); CRM_Core_BAO_UFGroup::del($this->_id); CRM_Core_Session::setStatus(ts("Your CiviCRM Profile '%1' has been deleted.", array(1 => $title))); } else { if ($this->_action & CRM_Core_Action::DISABLE) { $ufJoinParams = array('uf_group_id' => $this->_id); CRM_Core_BAO_UFGroup::delUFJoin($ufJoinParams); require_once "CRM/Core/BAO/UFGroup.php"; CRM_Core_BAO_UFGroup::setIsActive($this->_id, 0); } else { // get the submitted form values. $params = $ids = array(); $params = $this->controller->exportValues($this->_name); if (!array_key_exists('is_active', $params)) { $params['is_active'] = 0; } if ($this->_action & CRM_Core_Action::UPDATE) { $ids['ufgroup'] = $this->_id; // CRM-5284 // lets skip trying to mess around with profile weights and allow the user to do as needed. } else { if ($this->_action & CRM_Core_Action::ADD) { $session = CRM_Core_Session::singleton(); $params['created_id'] = $session->get('userID'); $params['created_date'] = date('YmdHis'); } } // create uf group $ufGroup = CRM_Core_BAO_UFGroup::add($params, $ids); if (CRM_Utils_Array::value('is_active', $params)) { //make entry in uf join table CRM_Core_BAO_UFGroup::createUFJoin($params, $ufGroup->id); } else { if ($this->_id) { // this profile has been set to inactive, delete all corresponding UF Join's $ufJoinParams = array('uf_group_id' => $this->_id); CRM_Core_BAO_UFGroup::delUFJoin($ufJoinParams); } } if ($this->_action & CRM_Core_Action::UPDATE) { CRM_Core_Session::setStatus(ts("Your CiviCRM Profile '%1' has been saved.", array(1 => $ufGroup->title))); } else { $url = CRM_Utils_System::url('civicrm/admin/uf/group/field/add', 'reset=1&action=add&gid=' . $ufGroup->id); CRM_Core_Session::setStatus(ts('Your CiviCRM Profile \'%1\' has been added. You can add fields to this profile now.', array(1 => $ufGroup->title))); $session = CRM_Core_Session::singleton(); $session->replaceUserContext($url); } } } // update cms integration with registration / my account require_once 'CRM/Utils/System.php'; CRM_Utils_System::updateCategories(); }
/** * Use this API to update group. See the CRM Data Model for uf_group property definitions * * @param $params array Associative array of property name/value pairs to insert in group. * * @param $groupId int A valid UF Group ID that to be updated. * * @return updated $ufGroupArray array * * @access public */ function civicrm_uf_group_update($params, $groupId) { if (!is_array($params) or empty($params) or (int) $groupId < 1) { return civicrm_create_error('Params must be a non-empty array and a positive integer.'); } _civicrm_initialize(); $ids = array(); $ids['ufgroup'] = $groupId; require_once 'CRM/Core/BAO/UFGroup.php'; $ufGroup = CRM_Core_BAO_UFGroup::add($params, $ids); _civicrm_object_to_array($ufGroup, $ufGroupArray); return $ufGroupArray; }