From fd46bb9dc01efff279f9c7454e300edce27e4823 Mon Sep 17 00:00:00 2001 From: eileen Date: Mon, 16 Jul 2018 15:35:19 +1200 Subject: [PATCH] Set, don't pass queryOperator --- CRM/Export/BAO/Export.php | 4 +-- CRM/Export/BAO/ExportProcessor.php | 48 ++++++++++++++++++++++-------- 2 files changed, 37 insertions(+), 15 deletions(-) diff --git a/CRM/Export/BAO/Export.php b/CRM/Export/BAO/Export.php index 06dbd629a6b..b68509f7ef6 100644 --- a/CRM/Export/BAO/Export.php +++ b/CRM/Export/BAO/Export.php @@ -353,7 +353,7 @@ public static function exportComponents( $queryOperator = 'AND' ) { - $processor = new CRM_Export_BAO_ExportProcessor($exportMode); + $processor = new CRM_Export_BAO_ExportProcessor($exportMode, $queryOperator); $returnProperties = array(); $paymentFields = $selectedPaymentFields = FALSE; @@ -556,7 +556,7 @@ public static function exportComponents( CRM_Contact_BAO_ProximityQuery::fixInputParams($params); } - list($query, $select, $from, $where, $having) = $processor->runQuery($params, $order, $queryOperator, $returnProperties); + list($query, $select, $from, $where, $having) = $processor->runQuery($params, $order, $returnProperties); if ($mergeSameHousehold == 1) { if (empty($returnProperties['id'])) { diff --git a/CRM/Export/BAO/ExportProcessor.php b/CRM/Export/BAO/ExportProcessor.php index 807c2316287..8479f038a3f 100644 --- a/CRM/Export/BAO/ExportProcessor.php +++ b/CRM/Export/BAO/ExportProcessor.php @@ -55,6 +55,39 @@ class CRM_Export_BAO_ExportProcessor { */ protected $queryFields = []; + /** + * Either AND or OR. + * + * @var string + */ + protected $queryOperator; + + /** + * CRM_Export_BAO_ExportProcessor constructor. + * + * @param int $exportMode + * @param string $queryOperator + */ + public function __construct($exportMode, $queryOperator) { + $this->setExportMode($exportMode); + $this->setQueryMode(); + $this->setQueryOperator($queryOperator); + } + + /** + * @return string + */ + public function getQueryOperator() { + return $this->queryOperator; + } + + /** + * @param string $queryOperator + */ + public function setQueryOperator($queryOperator) { + $this->queryOperator = $queryOperator; + } + /** * @return array */ @@ -69,16 +102,6 @@ public function setQueryFields($queryFields) { $this->queryFields = $queryFields; } - /** - * CRM_Export_BAO_ExportProcessor constructor. - * - * @param int $exportMode - */ - public function __construct($exportMode) { - $this->setExportMode($exportMode); - $this->setQueryMode(); - } - /** * @return int */ @@ -142,14 +165,13 @@ public function setExportMode($exportMode) { /** * @param $params * @param $order - * @param $queryOperator * @param $returnProperties * @return array */ - public function runQuery($params, $order, $queryOperator, $returnProperties) { + public function runQuery($params, $order, $returnProperties) { $query = new CRM_Contact_BAO_Query($params, $returnProperties, NULL, FALSE, FALSE, $this->getQueryMode(), - FALSE, TRUE, TRUE, NULL, $queryOperator + FALSE, TRUE, TRUE, NULL, $this->getQueryOperator() ); //sort by state