本文整理汇总了PHP中CRM_Core_BAO_UFField::resetInSelectorANDSearchable方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Core_BAO_UFField::resetInSelectorANDSearchable方法的具体用法?PHP CRM_Core_BAO_UFField::resetInSelectorANDSearchable怎么用?PHP CRM_Core_BAO_UFField::resetInSelectorANDSearchable使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CRM_Core_BAO_UFField
的用法示例。
在下文中一共展示了CRM_Core_BAO_UFField::resetInSelectorANDSearchable方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postProcess
/**
* Process the form
*
* @return void
* @access public
*/
public function postProcess()
{
$ids = array('uf_group' => $this->_gid);
if ($this->_action & CRM_Core_Action::DELETE) {
$fieldValues = array('uf_group_id' => $this->_gid);
$wt = CRM_Utils_Weight::delWeight('CRM_Core_DAO_UFField', $this->_id, $fieldValues);
$deleted = CRM_Core_BAO_UFField::del($this->_id);
//update group_type every time. CRM-3608
if ($this->_gid && $deleted) {
//get the profile type.
$groupType = 'null';
$fieldsType = CRM_Core_BAO_UFGroup::calculateGroupType($this->_gid);
if (!empty($fieldsType)) {
$groupType = implode(',', $fieldsType);
}
//set group type
CRM_Core_DAO::setFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'group_type', $groupType);
}
CRM_Core_Session::setStatus(ts('Selected Profile Field has been deleted.'));
return;
}
// store the submitted values in an array
$params = $this->controller->exportValues('Field');
if ($params['visibility'] == 'User and User Admin Only') {
$params['is_searchable'] = 0;
$params['in_selector'] = 0;
}
if ($this->_action & CRM_Core_Action::UPDATE) {
$ids['uf_field'] = $this->_id;
}
//check for duplicate fields
if (CRM_Core_BAO_UFField::duplicateField($params, $ids)) {
CRM_Core_Session::setStatus(ts('The selected field was not added. It already exists in this profile.'));
return;
} else {
$ufField = CRM_Core_BAO_UFField::add($params, $ids);
$name = $this->_selectFields[$ufField->field_name];
//reset other field is searchable and in selector settings, CRM-4363
if ($this->_hasSearchableORInSelector && in_array($ufField->field_type, array('Participant', 'Contribution', 'Membership'))) {
CRM_Core_BAO_UFField::resetInSelectorANDSearchable($this->_gid);
}
$config =& CRM_Core_Config::singleton();
$showBestResult = false;
if (in_array($ufField->field_name, array('country', 'state_province')) && count($config->countryLimit) > 1) {
// get state or country field weight if exists
$field = 'state_province';
if ($ufField->field_name == 'state_province') {
$field = 'country';
}
$ufFieldDAO =& new CRM_Core_DAO_UFField();
$ufFieldDAO->field_name = $field;
$ufFieldDAO->location_type_id = $ufField->location_type_id;
$ufFieldDAO->uf_group_id = $ufField->uf_group_id;
if ($ufFieldDAO->find(true)) {
if ($field == 'country' && $ufFieldDAO->weight > $ufField->weight) {
$showBestResult = true;
} elseif ($field == 'state_province' && $ufFieldDAO->weight < $ufField->weight) {
$showBestResult = true;
}
}
}
//update group_type every time. CRM-3608
if ($this->_gid && is_a($ufField, 'CRM_Core_DAO_UFField')) {
//get the profile type.
$groupType = 'null';
$fieldsType = CRM_Core_BAO_UFGroup::calculateGroupType($this->_gid);
if (!empty($fieldsType)) {
$groupType = implode(',', $fieldsType);
}
//set group type
CRM_Core_DAO::setFieldValue('CRM_Core_DAO_UFGroup', $this->_gid, 'group_type', $groupType);
}
CRM_Core_Session::setStatus(ts('Your CiviCRM Profile Field \'%1\' has been saved.', array(1 => $name)));
}
$buttonName = $this->controller->getButtonName();
$session =& CRM_Core_Session::singleton();
if ($buttonName == $this->getButtonName('next', 'new')) {
CRM_Core_Session::setStatus(ts(' You can add another profile field.'));
$session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/uf/group/field', "reset=1&action=add&gid={$this->_gid}&sbr={$showBestResult}"));
} else {
$session->set('showBestResult', $showBestResult);
}
}
示例2: postProcess
/**
* Process the form.
*
* @return void
*/
public function postProcess()
{
$ids = array('uf_group' => $this->_gid);
if ($this->_action & CRM_Core_Action::DELETE) {
$fieldValues = array('uf_group_id' => $this->_gid);
CRM_Utils_Weight::delWeight('CRM_Core_DAO_UFField', $this->_id, $fieldValues);
$deleted = CRM_Core_BAO_UFField::del($this->_id);
//update group_type every time. CRM-3608
if ($this->_gid && $deleted) {
//get the profile type.
$fieldsType = CRM_Core_BAO_UFGroup::calculateGroupType($this->_gid, TRUE);
CRM_Core_BAO_UFGroup::updateGroupTypes($this->_gid, $fieldsType);
}
CRM_Core_Session::setStatus(ts('Selected Profile Field has been deleted.'), ts('Profile Field Deleted'), 'success');
return;
}
// store the submitted values in an array
$params = $this->controller->exportValues('Field');
if ($params['visibility'] == 'User and User Admin Only') {
$params['is_searchable'] = $params['in_selector'] = 0;
}
if ($this->_action & CRM_Core_Action::UPDATE) {
$ids['uf_field'] = $this->_id;
}
$name = NULL;
if (isset($params['field_name'][1]) && isset($this->_selectFields[$params['field_name'][1]])) {
// we dont get a name for a html formatting element
$name = $this->_selectFields[$params['field_name'][1]];
}
//Hack for Formatting Field Name
if ($params['field_name'][0] == 'Formatting') {
$params['field_name'][1] = 'formatting_' . rand(1000, 9999);
}
//check for duplicate fields
if ($params["field_name"][0] != "Formatting" && CRM_Core_BAO_UFField::duplicateField($params, $ids)) {
CRM_Core_Session::setStatus(ts('The selected field already exists in this profile.'), ts('Field Not Added'), 'error');
return;
} else {
$params['weight'] = CRM_Core_BAO_UFField::autoWeight($params);
$ufField = CRM_Core_BAO_UFField::add($params, $ids);
//reset other field is searchable and in selector settings, CRM-4363
if ($this->_hasSearchableORInSelector && in_array($ufField->field_type, array('Participant', 'Contribution', 'Membership', 'Activity', 'Case'))) {
CRM_Core_BAO_UFField::resetInSelectorANDSearchable($this->_gid);
}
$config = CRM_Core_Config::singleton();
$showBestResult = FALSE;
if (in_array($ufField->field_name, array('country', 'state_province')) && count($config->countryLimit) > 1) {
// get state or country field weight if exists
$field = 'state_province';
if ($ufField->field_name == 'state_province') {
$field = 'country';
}
$ufFieldDAO = new CRM_Core_DAO_UFField();
$ufFieldDAO->field_name = $field;
$ufFieldDAO->location_type_id = $ufField->location_type_id;
$ufFieldDAO->uf_group_id = $ufField->uf_group_id;
if ($ufFieldDAO->find(TRUE)) {
if ($field == 'country' && $ufFieldDAO->weight > $ufField->weight) {
$showBestResult = TRUE;
} elseif ($field == 'state_province' && $ufFieldDAO->weight < $ufField->weight) {
$showBestResult = TRUE;
}
}
}
//update group_type every time. CRM-3608
if ($this->_gid && is_a($ufField, 'CRM_Core_DAO_UFField')) {
// get the profile type.
$fieldsType = CRM_Core_BAO_UFGroup::calculateGroupType($this->_gid, TRUE);
CRM_Core_BAO_UFGroup::updateGroupTypes($this->_gid, $fieldsType);
}
CRM_Core_Session::setStatus(ts('Your CiviCRM Profile Field \'%1\' has been saved to \'%2\'.', array(1 => $name, 2 => $this->_title)), ts('Profile Field Saved'), 'success');
}
$buttonName = $this->controller->getButtonName();
$session = CRM_Core_Session::singleton();
if ($buttonName == $this->getButtonName('next', 'new')) {
$session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/uf/group/field/add', "reset=1&action=add&gid={$this->_gid}&sbr={$showBestResult}"));
} else {
$session->replaceUserContext(CRM_Utils_System::url('civicrm/admin/uf/group/field', "reset=1&action=browse&gid={$this->_gid}"));
$session->set('showBestResult', $showBestResult);
}
}