set('return_properties_search', $query->_returnProperties); // hack for profile search $url = CRM_Utils_Array::value('q', $_GET); if (in_array($url, ['civicrm/profile', 'civicrm/contact/search/builder'])) { if (empty($query->_params)) { $query->_params[] = [ 'entryURL', '=', 0, 0, 1, ]; } $query->_paramLookup['entryURL'] = [ 'entryURL', '=', 0, 0, 1, ]; } } /** * @param $query * */ public function where(&$query) { if (empty($query->_paramLookup['entryURL'])) { return; } $url = CRM_Utils_Array::value('q', $_GET); if (strpos($url, 'civicrm/contact/') === FALSE) { return; } if (!empty($query->_paramLookup['ignore_constituent_search'])) { $query->_qill[0][] = ts("Include non-constituents in this search"); return; } if (CRM_Utils_Array::value('civicrm_contact', $query->_tables) && empty($query->_paramLookup['do_not_trade'])) { $query->_where[0][] = " contact_a.id NOT IN (SELECT id FROM ( SELECT contact_a.id FROM civicrm_contact contact_a LEFT JOIN civicrm_relationship cr ON (cr.contact_id_a = contact_a.id) AND cr.is_active = 1 LEFT JOIN civicrm_contact cc1 ON (cr.contact_id_a = cc1.id) WHERE contact_a.do_not_trade = 1 AND (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1) AND contact_a.id <> cc1.id UNION SELECT contact_a.id FROM civicrm_contact contact_a LEFT JOIN civicrm_relationship cr ON (cr.contact_id_b = contact_a.id) AND cr.is_active = 1 LEFT JOIN civicrm_contact cc1 ON (cr.contact_id_b = cc1.id) WHERE contact_a.do_not_trade = 1 AND (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1) AND contact_a.id <> cc1.id ) AS temp GROUP BY id ) "; } } /** * @param string $name * @param $mode * @param $side * */ public function from($name, $mode, $side) { } /** * @param $tables * */ public function setTableDependency(&$tables) { } public function getPanesMapper(&$panes) { } /** * @param $panes * */ public function registerAdvancedSearchPane(&$panes) { } /** * @param CRM_Core_Form $form * @param $type * */ public function buildAdvancedSearchPaneForm(&$form, $type) { } /** * @param $paneTemplatePathArray * @param $type * */ public function setAdvancedSearchPaneTemplatePath(&$paneTemplatePathArray, $type) { } }