本文整理汇总了PHP中CRM_Core_BAO_UFGroup::delUFJoin方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_BAO_UFGroup::delUFJoin方法的具体用法?PHP CRM_Core_BAO_UFGroup::delUFJoin怎么用?PHP CRM_Core_BAO_UFGroup::delUFJoin使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_BAO_UFGroup
的用法示例。
在下文中一共展示了CRM_Core_BAO_UFGroup::delUFJoin方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createUFJoin
/**
* Make uf join entries for an uf group.
*
* @param array $params
* (reference) an assoc array of name/value pairs.
* @param int $ufGroupId
* Ufgroup id.
*/
public static function createUFJoin(&$params, $ufGroupId)
{
$groupTypes = CRM_Utils_Array::value('uf_group_type', $params);
// get ufjoin records for uf group
$ufGroupRecord = CRM_Core_BAO_UFGroup::getUFJoinRecord($ufGroupId);
// get the list of all ufgroup types
$allUFGroupType = CRM_Core_SelectValues::ufGroupTypes();
// this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
if (!is_array($groupTypes)) {
$groupTypes = array();
}
// this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
if (!is_array($ufGroupRecord)) {
$ufGroupRecord = array();
}
// check which values has to be inserted/deleted for contact
$menuRebuild = FALSE;
foreach ($allUFGroupType as $key => $value) {
$joinParams = array();
$joinParams['uf_group_id'] = $ufGroupId;
$joinParams['module'] = $key;
if ($key == 'User Account') {
$menuRebuild = TRUE;
}
if (array_key_exists($key, $groupTypes) && !in_array($key, $ufGroupRecord)) {
// insert a new record
CRM_Core_BAO_UFGroup::addUFJoin($joinParams);
} elseif (!array_key_exists($key, $groupTypes) && in_array($key, $ufGroupRecord)) {
// delete a record for existing ufgroup
CRM_Core_BAO_UFGroup::delUFJoin($joinParams);
}
}
//update the weight
$query = "\nUPDATE civicrm_uf_join\nSET weight = %1\nWHERE uf_group_id = %2\nAND ( entity_id IS NULL OR entity_id <= 0 )\n";
$p = array(1 => array($params['weight'], 'Integer'), 2 => array($ufGroupId, 'Integer'));
CRM_Core_DAO::executeQuery($query, $p);
// do a menu rebuild if we are on drupal, so it gets all the new menu entries
// for user account
$config = CRM_Core_Config::singleton();
if ($menuRebuild && $config->userSystem->is_drupal) {
menu_rebuild();
}
}
示例2: createUFJoin
/**
* Function to make uf join entries for an uf group
*
* @param array $params (reference) an assoc array of name/value pairs
* @param int $ufGroupId ufgroup id
*
* @return void
* @access public
* @static
*/
function createUFJoin(&$params, $ufGroupId)
{
$groupTypes = $params['uf_group_type'];
// get ufjoin records for uf group
$ufGroupRecord =& CRM_Core_BAO_UFGroup::getUFJoinRecord($ufGroupId);
// get the list of all ufgroup types
$allUFGroupType =& CRM_Core_SelectValues::ufGroupTypes();
// this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
if (!is_array($groupTypes)) {
$groupTypes = array();
}
// this fix is done to prevent warning generated by array_key_exits incase of empty array is given as input
if (!is_array($ufGroupRecord)) {
$ufGroupRecord = array();
}
// check which values has to be inserted/deleted for contact
foreach ($allUFGroupType as $key => $value) {
$joinParams = array();
$joinParams['uf_group_id'] = $ufGroupId;
$joinParams['module'] = $key;
if (array_key_exists($key, $groupTypes) && !in_array($key, $ufGroupRecord)) {
// insert a new record
CRM_Core_BAO_UFGroup::addUFJoin($joinParams);
} else {
if (!array_key_exists($key, $groupTypes) && in_array($key, $ufGroupRecord)) {
// delete a record for existing ufgroup
CRM_Core_BAO_UFGroup::delUFJoin($joinParams);
}
}
}
//update the weight for remaining group
CRM_Core_BAO_UFGroup::updateWeight($params['weight'], $ufGroupId);
}
示例3: postProcess
/**
* 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();
}
示例4: postProcess
/**
* 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();
}