/** * Defines a new smart group. * * @param array $params * Associative array of parameters. * * @return CRM_Contact_BAO_Group|NULL * The new group BAO (if created) */ public static function createSmartGroup(&$params) { if (!empty($params['formValues'])) { $ssParams = $params; unset($ssParams['id']); if (isset($ssParams['saved_search_id'])) { $ssParams['id'] = $ssParams['saved_search_id']; } $savedSearch = CRM_Contact_BAO_SavedSearch::create($params); $params['saved_search_id'] = $savedSearch->id; } else { return NULL; } return self::create($params); }
/** * Create a smart group. * * By default it will be a group of households. * * @param array $smartGroupParams * @param array $groupParams * @return int */ public function smartGroupCreate($smartGroupParams = array(), $groupParams = array()) { $smartGroupParams = array_merge(array('formValues' => array('contact_type' => array('IN' => array('Household')))), $smartGroupParams); $savedSearch = CRM_Contact_BAO_SavedSearch::create($smartGroupParams); $groupParams['saved_search_id'] = $savedSearch->id; return $this->groupCreate($groupParams); }