From 8643eae984600896eb50daf5c5ff01669c2ebeaf Mon Sep 17 00:00:00 2001 From: eileenmcnaugton Date: Mon, 25 Jan 2016 23:37:48 +1300 Subject: [PATCH] Further syncs between to align query class in 4.6 & master This is to help syncing, add function that is in master & will be required in 4.6 and sync function signature on buildQill function --- CRM/Contact/BAO/Query.php | 141 +++++++++++++++++++------------------- 1 file changed, 71 insertions(+), 70 deletions(-) diff --git a/CRM/Contact/BAO/Query.php b/CRM/Contact/BAO/Query.php index 6057b2a2d9..a927a480d6 100644 --- a/CRM/Contact/BAO/Query.php +++ b/CRM/Contact/BAO/Query.php @@ -518,11 +518,6 @@ class CRM_Contact_BAO_Query { * CRM-11971 */ public function buildParamsLookup() { - // first fix and handle contact deletion nicely - // this code is primarily for search builder use case - // where different clauses can specify if they want deleted - // contacts or not - // CRM-11971 $trashParamExists = FALSE; $paramByGroup = array(); foreach ($this->_params as $k => $param) { @@ -2962,8 +2957,6 @@ WHERE $smartGroupClause * Where / qill clause for cms users * * @param $values - * - * @return void */ public function ufUser(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -2984,9 +2977,7 @@ WHERE $smartGroupClause /** * All tag search specific. * - * @param $values - * - * @return void + * @param array $values */ public function tagSearch(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3048,9 +3039,7 @@ WHERE $smartGroupClause /** * Where / qill clause for tag * - * @param $values - * - * @return void + * @param array $values */ public function tag(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3130,9 +3119,7 @@ WHERE $smartGroupClause /** * Where/qill clause for notes * - * @param $values - * - * @return void + * @param array $values */ public function notes(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3206,9 +3193,7 @@ WHERE $smartGroupClause /** * Where / qill clause for sort_name * - * @param $values - * - * @return void + * @param array $values */ public function sortName(&$values) { list($fieldName, $op, $value, $grouping, $wildcard) = $values; @@ -3347,9 +3332,7 @@ WHERE $smartGroupClause /** * Where / qill clause for phone number * - * @param $values - * - * @return void + * @param array $values */ public function phone_numeric(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3369,9 +3352,7 @@ WHERE $smartGroupClause /** * Where / qill clause for phone type/location * - * @param $values - * - * @return void + * @param array $values */ public function phone_option_group($values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3384,11 +3365,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for street_address + * Where / qill clause for street_address. * - * @param $values - * - * @return void + * @param array $values */ public function street_address(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3418,11 +3397,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for street_unit - * - * @param $values + * Where / qill clause for street_unit. * - * @return void + * @param array $values */ public function street_number(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3452,11 +3429,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for sorting by character + * Where / qill clause for sorting by character. * - * @param $values - * - * @return void + * @param array $values */ public function sortByCharacter(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3468,9 +3443,7 @@ WHERE $smartGroupClause } /** - * Where / qill clause for including contact ids - * - * @return void + * Where / qill clause for including contact ids. */ public function includeContactIDs() { if (!$this->_includeContactIds || empty($this->_params)) { @@ -3489,11 +3462,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for postal code - * - * @param $values + * Where / qill clause for postal code. * - * @return void + * @param array $values */ public function postalCode(&$values) { // skip if the fields dont have anything to do with postal_code @@ -3537,12 +3508,12 @@ WHERE $smartGroupClause } /** - * Where / qill clause for location type + * Where / qill clause for location type. * - * @param $values + * @param array $values * @param null $status * - * @return void + * @return string */ public function locationType(&$values, $status = NULL) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3588,11 +3559,7 @@ WHERE $smartGroupClause } $countryClause = $countryQill = NULL; - if ( - $values && - !empty($value) - ) { - + if ($values && !empty($value)) { $this->_tables['civicrm_address'] = 1; $this->_whereTables['civicrm_address'] = 1; @@ -3620,12 +3587,12 @@ WHERE $smartGroupClause } /** - * Where / qill clause for county (if present) + * Where / qill clause for county (if present). * - * @param $values + * @param array $values * @param null $status * - * @return void + * @return string */ public function county(&$values, $status = NULL) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3689,12 +3656,12 @@ WHERE $smartGroupClause } /** - * Where / qill clause for state/province AND country (if present) + * Where / qill clause for state/province AND country (if present). * - * @param $values + * @param array $values * @param null $status * - * @return void + * @return string */ public function stateProvince(&$values, $status = NULL) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3783,11 +3750,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for change log + * Where / qill clause for change log. * - * @param $values - * - * @return void + * @param array $values */ public function changeLog(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -3962,11 +3927,9 @@ WHERE $smartGroupClause } /** - * Where / qill clause for relationship - * - * @param $values + * Where / qill clause for relationship. * - * @return void + * @param array $values */ public function relationship(&$values) { list($name, $op, $value, $grouping, $wildcard) = $values; @@ -4395,6 +4358,33 @@ civicrm_relationship.is_permission_a_b = 0 return array($values, $options); } + /** + * Get the actual custom field name by stripping off the appended string. + * + * The string could be _relative, _from, or _to + * + * @todo use metadata rather than convention to do this. + * + * @param string $parameterName + * The name of the parameter submitted to the form. + * e.g + * custom_3_relative + * custom_3_from + * + * @return string + */ + public static function getCustomFieldName($parameterName) { + if (substr($parameterName, -5, 5) == '_from') { + return substr($parameterName, 0, strpos($parameterName, '_from')); + } + if (substr($parameterName, -9, 9) == '_relative') { + return substr($parameterName, 0, strpos($parameterName, '_relative')); + } + if (substr($parameterName, -3, 3) == '_to') { + return substr($parameterName, 0, strpos($parameterName, '_to')); + } + } + /** * Create and query the db for an contact search. * @@ -4909,11 +4899,13 @@ SELECT COUNT( conts.total_amount ) as cancel_count, } /** - * @param $values + * Build query for a date field. + * + * @param array $values * @param string $tableName * @param string $fieldName * @param string $dbFieldName - * @param $fieldTitle + * @param string $fieldTitle * @param bool $appendTimeStamp */ public function dateQueryBuilder( @@ -5361,7 +5353,7 @@ AND displayRelType.is_active = 1 } /** - * Builds the necessary structures for all fields that are similar to option value lookups. + * Builds the necessary structures for all fields that are similar to option value look-ups. * * @param string $name * the name of the field. @@ -5644,10 +5636,19 @@ AND displayRelType.is_active = 1 * @param mixed $fieldValue * @param string $op * @param array $pseudoExtraParam + * @param int $type + * Type of the field per CRM_Utils_Type * * @return array */ - public static function buildQillForFieldValue($daoName = NULL, $fieldName, $fieldValue, $op, $pseudoExtraParam = array()) { + public static function buildQillForFieldValue( + $daoName, + $fieldName, + $fieldValue, + $op, + $pseudoExtraParam = array(), + $type = CRM_Utils_Type::T_STRING + ) { $qillOperators = CRM_Core_SelectValues::getSearchBuilderOperators(); if ($fieldName == 'activity_type_id') { -- 2.25.1