Skip to content
Snippets Groups Projects

Resolve "Télécharger une archive"

Merged François Agneray requested to merge 23-telecharger-une-archive into develop
12 files
+ 262
423
Compare changes
  • Side-by-side
  • Inline
Files
12
@@ -115,15 +115,6 @@ final class ArchiveAction extends AbstractAction
);
}
$connection = new AMQPStreamConnection('rmq', 5672, 'admin', 'admin');
$channel = $connection->channel();
$channel->queue_declare('hello', false, false, false, false);
$msg = new AMQPMessage('Hello World!');
$channel->basic_publish($msg, '', 'hello');
exit();
$queryParams = $request->getQueryParams();
// The parameter "a" is mandatory
@@ -149,7 +140,7 @@ final class ArchiveAction extends AbstractAction
);
}
$zipFile = '/tmp/archive_' . $dataset->getName() . '_' . (new \DateTime())->format('Y-m-d\TH:i:s') . '.zip';
/* $zipFile = '/tmp/archive_' . $dataset->getName() . '_' . (new \DateTime())->format('Y-m-d\TH:i:s') . '.zip';
$zip = new \ZipArchive();
if ($zip->open($zipFile, \ZipArchive::CREATE) !== true) {
@@ -157,9 +148,10 @@ final class ArchiveAction extends AbstractAction
$request,
'Unable to open the file ' . $zipFile
);
}
} */
// Attributes with search_flag = File
$files = array();
$attributesSelected = $this->anisQueryBuilder->getAttributesSelected();
$stmt = $this->anisQueryBuilder->getDoctrineQueryBuilder()->execute();
while ($row = $stmt->fetch(\PDO::FETCH_ASSOC)) {
@@ -167,12 +159,29 @@ final class ArchiveAction extends AbstractAction
$attributeLabel = $attribute->getLabel();
$filePath = $this->dataPath . $dataset->getFullDataPath() . DIRECTORY_SEPARATOR . $row[$attributeLabel];
if (file_exists($filePath) && is_file($filePath)) {
$zip->addFile($filePath, $row[$attributeLabel]);
//$zip->addFile($filePath, $row[$attributeLabel]);
if (!in_array($filePath, $files)) {
$files[] = $filePath;
}
}
}
}
$zip->close();
$archiveName = 'archive_' . $dataset->getName() . '_' . (new \DateTime())->format('Y-m-d\TH:i:s') . '.zip';
// $zip->close();
$connection = new AMQPStreamConnection('rmq', 5672, 'admin', 'admin');
$channel = $connection->channel();
$channel->queue_declare('archive', false, false, false, false);
$msg = new AMQPMessage(json_encode(array(
'archive_name' => $archiveName,
'dataset_name' => $datasetName,
'query' => $request->getUri()->getQuery()
)));
$channel->basic_publish($msg, '', 'archive');
exit();
// Stream created ZIP file
$psr17Factory = new Psr17Factory();
Loading