当前位置: 首页>>代码示例>>PHP>>正文


PHP CRM_Contact_BAO_SavedSearch::find方法代码示例

本文整理汇总了PHP中CRM_Contact_BAO_SavedSearch::find方法的典型用法代码示例。如果您正苦于以下问题:PHP CRM_Contact_BAO_SavedSearch::find方法的具体用法?PHP CRM_Contact_BAO_SavedSearch::find怎么用?PHP CRM_Contact_BAO_SavedSearch::find使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CRM_Contact_BAO_SavedSearch的用法示例。


在下文中一共展示了CRM_Contact_BAO_SavedSearch::find方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: createHiddenSmartGroup

 /**
  * This function create the hidden smart group when user perform
  * contact search and want to send mailing to search contacts.
  *
  * @param array $params
  *   ( reference ) an assoc array of name/value pairs.
  *
  * @return array
  *   ( smartGroupId, ssId ) smart group id and saved search id
  */
 public static function createHiddenSmartGroup($params)
 {
     $ssId = CRM_Utils_Array::value('saved_search_id', $params);
     //add mapping record only for search builder saved search
     $mappingId = NULL;
     if ($params['search_context'] == 'builder') {
         //save the mapping for search builder
         if (!$ssId) {
             //save record in mapping table
             $temp = array();
             $mappingParams = array('mapping_type' => 'Search Builder');
             $mapping = CRM_Core_BAO_Mapping::add($mappingParams, $temp);
             $mappingId = $mapping->id;
         } else {
             //get the mapping id from saved search
             $savedSearch = new CRM_Contact_BAO_SavedSearch();
             $savedSearch->id = $ssId;
             $savedSearch->find(TRUE);
             $mappingId = $savedSearch->mapping_id;
         }
         //save mapping fields
         CRM_Core_BAO_Mapping::saveMappingFields($params['form_values'], $mappingId);
     }
     //create/update saved search record.
     $savedSearch = new CRM_Contact_BAO_SavedSearch();
     $savedSearch->id = $ssId;
     $savedSearch->form_values = serialize($params['form_values']);
     $savedSearch->mapping_id = $mappingId;
     $savedSearch->search_custom_id = CRM_Utils_Array::value('search_custom_id', $params);
     $savedSearch->save();
     $ssId = $savedSearch->id;
     if (!$ssId) {
         return NULL;
     }
     $smartGroupId = NULL;
     if (!empty($params['saved_search_id'])) {
         $smartGroupId = CRM_Core_DAO::getFieldValue('CRM_Contact_DAO_Group', $ssId, 'id', 'saved_search_id');
     } else {
         //create group only when new saved search.
         $groupParams = array('title' => "Hidden Smart Group {$ssId}", 'is_active' => CRM_Utils_Array::value('is_active', $params, 1), 'is_hidden' => CRM_Utils_Array::value('is_hidden', $params, 1), 'group_type' => CRM_Utils_Array::value('group_type', $params), 'visibility' => CRM_Utils_Array::value('visibility', $params), 'saved_search_id' => $ssId);
         $smartGroup = self::create($groupParams);
         $smartGroupId = $smartGroup->id;
     }
     return array($smartGroupId, $ssId);
 }
开发者ID:rameshrr99,项目名称:civicrm-core,代码行数:55,代码来源:Group.php

示例2: postProcess

 /**
  * Process the form after the input has been submitted and validated.
  */
 public function postProcess()
 {
     // saved search form values
     // get form values of all the forms in this controller
     $formValues = $this->controller->exportValues();
     $isAdvanced = $this->get('isAdvanced');
     $isSearchBuilder = $this->get('isSearchBuilder');
     // add mapping record only for search builder saved search
     $mappingId = NULL;
     if ($isAdvanced == '2' && $isSearchBuilder == '1') {
         //save the mapping for search builder
         if (!$this->_id) {
             //save record in mapping table
             $mappingParams = array('mapping_type' => 'Search Builder');
             $temp = array();
             $mapping = CRM_Core_BAO_Mapping::add($mappingParams, $temp);
             $mappingId = $mapping->id;
         } else {
             //get the mapping id from saved search
             $savedSearch = new CRM_Contact_BAO_SavedSearch();
             $savedSearch->id = $this->_id;
             $savedSearch->find(TRUE);
             $mappingId = $savedSearch->mapping_id;
         }
         //save mapping fields
         CRM_Core_BAO_Mapping::saveMappingFields($formValues, $mappingId);
     }
     //save the search
     $savedSearch = new CRM_Contact_BAO_SavedSearch();
     $savedSearch->id = $this->_id;
     // Use the query parameters rather than the form values - these have already been assessed / converted
     // with the extra knowledge that the form has.
     // Note that we want to move towards a standardised way of saving the query that is not
     // an exact match for the form requirements & task the form layer with converting backwards and forwards.
     // Ideally per CRM-17075 we will use entity reference fields heavily in the form layer & convert to the
     // sql operator syntax at the query layer.
     $savedSearch->form_values = serialize($this->get('queryParams'));
     $savedSearch->mapping_id = $mappingId;
     $savedSearch->search_custom_id = $this->get('customSearchID');
     $savedSearch->save();
     $this->set('ssID', $savedSearch->id);
     CRM_Core_Session::setStatus(ts("Your smart group has been saved as '%1'.", array(1 => $formValues['title'])), ts('Group Saved'), 'success');
     // also create a group that is associated with this saved search only if new saved search
     $params = array();
     $params['title'] = $formValues['title'];
     $params['description'] = $formValues['description'];
     if (isset($formValues['group_type']) && is_array($formValues['group_type'])) {
         $params['group_type'] = CRM_Core_DAO::VALUE_SEPARATOR . implode(CRM_Core_DAO::VALUE_SEPARATOR, array_keys($formValues['group_type'])) . CRM_Core_DAO::VALUE_SEPARATOR;
     } else {
         $params['group_type'] = '';
     }
     $params['visibility'] = 'User and User Admin Only';
     $params['saved_search_id'] = $savedSearch->id;
     $params['is_active'] = 1;
     //CRM-14190
     $params['parents'] = $formValues['parents'];
     if ($this->_id) {
         $params['id'] = CRM_Contact_BAO_SavedSearch::getName($this->_id, 'id');
     }
     $group = CRM_Contact_BAO_Group::create($params);
     // CRM-9464
     $this->_id = $savedSearch->id;
     //CRM-14190
     if (!empty($formValues['parents'])) {
         CRM_Contact_BAO_GroupNestingCache::update();
     }
 }
开发者ID:rameshrr99,项目名称:civicrm-core,代码行数:70,代码来源:SaveSearch.php

示例3: postProcess

 /**
  * process the form after the input has been submitted and validated
  *
  * @access public
  * @return void
  */
 public function postProcess()
 {
     // saved search form values
     // get form values of all the forms in this controller
     $formValues = $this->controller->exportValues();
     $isAdvanced = $this->get('isAdvanced');
     $isSearchBuilder = $this->get('isSearchBuilder');
     // add mapping record only for search builder saved search
     $mappingId = null;
     if ($isAdvanced == '2' && $isSearchBuilder == '1') {
         //save the mapping for search builder
         require_once "CRM/Core/BAO/Mapping.php";
         if (!$this->_id) {
             //save record in mapping table
             $mappingParams = array('mapping_type' => 'Search Builder');
             $temp = array();
             $mapping = CRM_Core_BAO_Mapping::add($mappingParams, $temp);
             $mappingId = $mapping->id;
         } else {
             //get the mapping id from saved search
             require_once "CRM/Contact/BAO/SavedSearch.php";
             $savedSearch = new CRM_Contact_BAO_SavedSearch();
             $savedSearch->id = $this->_id;
             $savedSearch->find(true);
             $mappingId = $savedSearch->mapping_id;
         }
         //save mapping fields
         CRM_Core_BAO_Mapping::saveMappingFields($formValues, $mappingId);
     }
     //save the search
     $savedSearch = new CRM_Contact_BAO_SavedSearch();
     $savedSearch->id = $this->_id;
     $savedSearch->form_values = serialize($this->get('formValues'));
     $savedSearch->mapping_id = $mappingId;
     $savedSearch->search_custom_id = $this->get('customSearchID');
     $savedSearch->save();
     $this->set('ssID', $savedSearch->id);
     CRM_Core_Session::setStatus(ts('Your smart group has been saved as \'%1\'.', array(1 => $formValues['title'])));
     // also create a group that is associated with this saved search only if new saved search
     $params = array();
     $params['title'] = $formValues['title'];
     $params['description'] = $formValues['description'];
     if (is_array($formValues['group_type'])) {
         $params['group_type'] = CRM_Core_DAO::VALUE_SEPARATOR . implode(CRM_Core_DAO::VALUE_SEPARATOR, array_keys($formValues['group_type'])) . CRM_Core_DAO::VALUE_SEPARATOR;
     } else {
         $params['group_type'] = '';
     }
     $params['visibility'] = 'User and User Admin Only';
     $params['saved_search_id'] = $savedSearch->id;
     $params['is_active'] = 1;
     if ($this->_id) {
         $params['id'] = CRM_Contact_BAO_SavedSearch::getName($this->_id, 'id');
     }
     require_once 'CRM/Contact/BAO/Group.php';
     $group =& CRM_Contact_BAO_Group::create($params);
 }
开发者ID:hampelm,项目名称:Ginsberg-CiviDemo,代码行数:62,代码来源:SaveSearch.php


注:本文中的CRM_Contact_BAO_SavedSearch::find方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。