3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
15 * @copyright CiviCRM LLC https://civicrm.org/licensing
19 * Abstract class for search BAO query objects
21 abstract class CRM_Contact_BAO_Query_Interface
{
23 abstract public function &getFields();
26 * @param string $fieldName
32 abstract public function from($fieldName, $mode, $side);
39 public function select(&$query) {
48 public function where(&$query) {
57 public function setTableDependency(&$tables) {
66 public function registerAdvancedSearchPane(&$panes) {
71 * @param CRM_Core_Form $form
76 public function buildAdvancedSearchPaneForm(&$form, $type) {
81 * @param $paneTemplatePathArray
86 public function setAdvancedSearchPaneTemplatePath(&$paneTemplatePathArray, $type) {
91 * Describe options for available for use in the search-builder.
93 * The search builder determines its options by examining the API metadata corresponding to each
94 * search field. This approach assumes that each field has a unique-name (ie that the field's
95 * unique-name in the API matches the unique-name in the search-builder).
97 * @param array $apiEntities
98 * List of entities whose options should be automatically scanned using API metadata.
99 * @param array $fieldOptions
100 * Keys are field unique-names; values describe how to lookup the options.
101 * For boolean options, use value "yesno". For pseudoconstants/FKs, use the name of an API entity
102 * from which the metadata of the field may be queried. (Yes - that is a mouthful.)
105 public function alterSearchBuilderOptions(&$apiEntities, &$fieldOptions) {