_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][] = " IF (contact_a.do_not_trade = 1, CASE WHEN (cr.id IS NULL OR cc1.is_deleted = 1 OR cc1.do_not_trade = 1) THEN 0 ELSE 1 END, 1) "; $query->_tables['civicrm_do_not_trade'] = 1; $query->_whereTables['civicrm_do_not_trade'] = 1; } } /** * @param string $name * @param $mode * @param $side * */ public function from($name, $mode, $side) { if ($name == 'civicrm_do_not_trade') { return " LEFT JOIN civicrm_relationship cr ON (cr.contact_id_a = contact_a.id OR cr.contact_id_b = contact_a.id) LEFT JOIN civicrm_contact cc1 ON (cr.contact_id_a = cc1.id OR cr.contact_id_b = cc1.id) AND contact_a.id <> cc1.id"; } } /** * @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) { } }