本文整理匯總了PHP中CRM_Core_BAO_UFGroup::addUFJoin方法的典型用法代碼示例。如果您正苦於以下問題:PHP CRM_Core_BAO_UFGroup::addUFJoin方法的具體用法?PHP CRM_Core_BAO_UFGroup::addUFJoin怎麽用?PHP CRM_Core_BAO_UFGroup::addUFJoin使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類CRM_Core_BAO_UFGroup
的用法示例。
在下文中一共展示了CRM_Core_BAO_UFGroup::addUFJoin方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的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);
}