_queryObjects === NULL) { $this->_queryObjects = []; CRM_Utils_Hook::queryObjects($this->_queryObjects, 'Contact'); } return $this->_queryObjects; } /** * @return array */ public function &getFields() { $extFields = []; foreach (self::getSearchQueryObjects() as $obj) { $flds = $obj->getFields(); $extFields = array_merge($extFields, $flds); } return $extFields; } /** * @param $apiEntities * @param $fieldOptions */ public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) { foreach (self::getSearchQueryObjects() as $obj) { $obj->alterSearchBuilderOptions($apiEntities, $fieldOptions); } } /** * Alter search query. * * @param string $query * @param string $fnName */ public function alterSearchQuery(&$query, $fnName) { foreach (self::getSearchQueryObjects() as $obj) { $obj->$fnName($query); } } /** * @param string $fieldName * @param $mode * @param $side * * @return string */ public function buildSearchfrom($fieldName, $mode, $side) { $from = ''; foreach (self::getSearchQueryObjects() as $obj) { $from .= $obj->from($fieldName, $mode, $side); } return $from; } /** * @param $tables */ public function setTableDependency(&$tables) { foreach (self::getSearchQueryObjects() as $obj) { $obj->setTableDependency($tables); } } /** * @param $panes */ public function registerAdvancedSearchPane(&$panes) { foreach (self::getSearchQueryObjects() as $obj) { $obj->registerAdvancedSearchPane($panes); } } /** * @param $panes */ public function getPanesMapper(&$panes) { foreach (self::getSearchQueryObjects() as $obj) { $obj->getPanesMapper($panes); } } /** * @param CRM_Core_Form $form * @param $type */ public function buildAdvancedSearchPaneForm(&$form, $type) { foreach (self::getSearchQueryObjects() as $obj) { $obj->buildAdvancedSearchPaneForm($form, $type); } } /** * @param $paneTemplatePathArray * @param $type */ public function setAdvancedSearchPaneTemplatePath(&$paneTemplatePathArray, $type) { foreach (self::getSearchQueryObjects() as $obj) { $obj->setAdvancedSearchPaneTemplatePath($paneTemplatePathArray, $type); } } }