dev/translation#65 Further remove moneyValueFormat
[civicrm-core.git] / CRM / Admin / Form / Setting / Search.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
bc77d7c0 4 | Copyright CiviCRM LLC. All rights reserved. |
6a488035 5 | |
bc77d7c0
TO
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 |
6a488035 9 +--------------------------------------------------------------------+
d25dd0ee 10 */
6a488035
TO
11
12/**
13 *
14 * @package CRM
ca5cec67 15 * @copyright CiviCRM LLC https://civicrm.org/licensing
6a488035
TO
16 */
17
18/**
19 * This class generates form components for Search Parameters
20 *
21 */
22class CRM_Admin_Form_Setting_Search extends CRM_Admin_Form_Setting {
23
be2fb01f 24 protected $_settings = [
dc378d98
TO
25 'includeWildCardInName' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
26 'includeEmailInName' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
bfd9c358 27 'searchPrimaryDetailsOnly' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
dc378d98
TO
28 'includeNickNameInName' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
29 'includeAlphabeticalPager' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
30 'includeOrderByClause' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
dc378d98 31 'defaultSearchProfileID' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
bfd9c358 32 'smartGroupCacheTimeout' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
4235341b 33 'quicksearch_options' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
bfd9c358
CW
34 'contact_autocomplete_options' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
35 'contact_reference_options' => CRM_Core_BAO_Setting::SYSTEM_PREFERENCES_NAME,
36 'search_autocomplete_count' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
37 'enable_innodb_fts' => CRM_Core_BAO_Setting::SEARCH_PREFERENCES_NAME,
be2fb01f 38 ];
6a488035
TO
39
40 /**
eceb18cc 41 * Build the form object.
6a488035
TO
42 */
43 public function buildQuickForm() {
44 CRM_Utils_System::setTitle(ts('Settings - Search Preferences'));
45
d434f797
TO
46 parent::buildQuickForm();
47
94127e7e 48 // Option 1 can't be unchecked. @see self::enableOptionOne
d434f797 49 $element = $this->getElement('contact_autocomplete_options');
94127e7e 50 $element->_elements[0]->setAttribute('disabled', 'disabled');
6a488035 51
94127e7e 52 // Option 1 can't be unchecked. @see self::enableOptionOne
d434f797 53 $element = $this->getElement('contact_reference_options');
94127e7e 54 $element->_elements[0]->setAttribute('disabled', 'disabled');
d434f797 55 }
6a488035 56
d434f797
TO
57 /**
58 * @return array
59 */
60 public static function getContactAutocompleteOptions() {
ec3cc27f 61 return [1 => ts('Contact Name')] + CRM_Core_OptionGroup::values('contact_autocomplete_options', FALSE, FALSE, TRUE);
6a488035 62 }
96025800 63
dc378d98
TO
64 /**
65 * @return array
66 */
67 public static function getAvailableProfiles() {
be2fb01f 68 return ['' => ts('- none -')] + CRM_Core_BAO_UFGroup::getProfiles([
dc378d98
TO
69 'Contact',
70 'Individual',
71 'Organization',
72 'Household',
be2fb01f 73 ]);
dc378d98
TO
74 }
75
d434f797
TO
76 /**
77 * @return array
78 */
79 public static function getContactReferenceOptions() {
ec3cc27f 80 return [1 => ts('Contact Name')] + CRM_Core_OptionGroup::values('contact_reference_options', FALSE, FALSE, TRUE);
d434f797
TO
81 }
82
94127e7e
CW
83 /**
84 * Presave callback for contact_reference_options and contact_autocomplete_options.
85 *
86 * Ensures "1" is always contained in the array.
87 *
88 * @param $value
89 * @return bool
90 */
91 public static function enableOptionOne(&$value) {
92 $values = (array) CRM_Utils_Array::explodePadded($value);
93 if (!in_array(1, $values)) {
94 $value = CRM_Utils_Array::implodePadded(array_merge([1], $values));
95 }
96 return TRUE;
97 }
98
6a488035 99}