X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=CRM%2FExport%2FBAO%2FExport.php;h=a95df716d8f73142bfe454d3668ead18e346a5e0;hb=7aed0a9c53d51cc2f21f725d33d8dfb7aa1641c6;hp=d8c1ea0f54d1eb5a5fc2ba6009570a28796791d7;hpb=e271d16bb6060fd04f0c9637a5e83e88b7e5c3c5;p=civicrm-core.git diff --git a/CRM/Export/BAO/Export.php b/CRM/Export/BAO/Export.php index d8c1ea0f54..a95df716d8 100644 --- a/CRM/Export/BAO/Export.php +++ b/CRM/Export/BAO/Export.php @@ -70,9 +70,6 @@ class CRM_Export_BAO_Export { * @param array $exportParams * @param string $queryOperator * - * @return array|null - * An array can be requested from within a unit test. - * * @throws \CRM_Core_Exception */ public static function exportComponents( @@ -118,6 +115,7 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c } $processor->setComponentTable($componentTable); $processor->setComponentClause($componentClause); + $processor->setIds($ids); list($query, $queryString) = $processor->runQuery($params, $order); @@ -160,7 +158,6 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c $count = -1; - $headerRows = $processor->getHeaderRows(); $sqlColumns = $processor->getSQLColumns(); $processor->createTempTable(); $limitReached = FALSE; @@ -206,23 +203,7 @@ INSERT INTO {$componentTable} SELECT distinct gc.contact_id FROM civicrm_group_c $processor->mergeSameAddress(); } - // call export hook - $table = $processor->getTemporaryTable(); - CRM_Utils_Hook::export($table, $headerRows, $sqlColumns, $exportMode, $componentTable, $ids); - if ($table !== $processor->getTemporaryTable()) { - CRM_Core_Error::deprecatedFunctionWarning('altering the export table in the hook is deprecated (in some flows the table itself will be)'); - $processor->setTemporaryTable($table); - } - - // In order to be able to write a unit test against this function we need to suppress - // the csv writing. In future hopefully the csv writing & the main processing will be in separate functions. - if (empty($exportParams['suppress_csv_for_testing'])) { - self::writeCSVFromTable($headerRows, $processor); - } - else { - // return tableName sqlColumns headerRows in test context - return [$processor->getTemporaryTable(), $sqlColumns, $headerRows, $processor]; - } + $processor->writeCSVFromTable(); // delete the export temp table and component table $sql = "DROP TABLE IF EXISTS " . $processor->getTemporaryTable(); @@ -373,49 +354,6 @@ VALUES $sqlValueString CRM_Core_DAO::executeQuery($sql); } - /** - * @param $headerRows - * @param \CRM_Export_BAO_ExportProcessor $processor - */ - public static function writeCSVFromTable($headerRows, $processor) { - $exportTempTable = $processor->getTemporaryTable(); - $writeHeader = TRUE; - $offset = 0; - $limit = self::EXPORT_ROW_COUNT; - - $query = "SELECT * FROM $exportTempTable"; - - while (1) { - $limitQuery = $query . " -LIMIT $offset, $limit -"; - $dao = CRM_Core_DAO::executeQuery($limitQuery); - - if ($dao->N <= 0) { - break; - } - - $componentDetails = []; - while ($dao->fetch()) { - $row = []; - - foreach (array_keys($processor->getSQLColumns()) as $column) { - $row[$column] = $dao->$column; - } - $componentDetails[] = $row; - } - CRM_Core_Report_Excel::writeCSVFile($processor->getExportFileName(), - $headerRows, - $componentDetails, - NULL, - $writeHeader - ); - - $writeHeader = FALSE; - $offset += $limit; - } - } - /** * Get the ids that we want to get related contact details for. *