3 +--------------------------------------------------------------------+
5 +--------------------------------------------------------------------+
6 | Copyright CiviCRM LLC (c) 2004-2019 |
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
31 * @copyright CiviCRM LLC (c) 2004-2019
35 class CRM_Core_BAO_Query
{
38 * @param CRM_Core_Form $form
39 * @param array $extends
41 public static function addCustomFormFields(&$form, $extends) {
42 $groupDetails = CRM_Core_BAO_CustomGroup
::getGroupDetail(NULL, TRUE, $extends);
44 $tplName = lcfirst($extends[0]) . 'GroupTree';
45 $form->assign($tplName, $groupDetails);
46 foreach ($groupDetails as $group) {
47 foreach ($group['fields'] as $field) {
48 $fieldId = $field['id'];
49 $elementName = 'custom_' . $fieldId;
50 if ($field['data_type'] === 'Date' && $field['is_search_range']) {
51 $form->addDatePickerRange($elementName, $field['label']);
54 CRM_Core_BAO_CustomField
::addQuickFormElement($form, $elementName, $fieldId, FALSE, TRUE);
62 * Get legacy fields which we still maybe support.
64 * These are contribution specific but I think it's ok to have one list of legacy supported
65 * params in a central place.
69 protected static function getLegacySupportedFields(): array {
70 // @todo enotices when these are hit so we can start to elimnate them.
72 'financial_type' => 'financial_type_id',
73 'contribution_page' => 'contribution_page_id',
74 'payment_instrument' => 'payment_instrument_id',
75 // or payment_instrument_id?
76 'contribution_payment_instrument' => 'contribution_payment_instrument_id',
77 'contribution_status' => 'contribution_status_id',
83 * Getter for the qill object.
87 public function qill() {
88 return (isset($this->_qill
)) ?
$this->_qill
: "";
92 * Possibly unnecessary function.
97 public static function searchAction(&$row, $id) {}
102 public static function tableNames(&$tables) {}
105 * Get the name of the field.
107 * @param array $values
111 protected static function getFieldName($values) {
113 $fieldAliases = self
::getLegacySupportedFields();
114 if (isset($fieldAliases[$name])) {
115 CRM_Core_Error
::deprecatedFunctionWarning('These parameters should be standardised before we get here');
116 return $fieldAliases[$name];
119 return str_replace(['_high', '_low'], '', $name);