add parameter file name to htmlForm() method
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
0862eee2b5
commit
24e3d9aa50
3
.gitignore
vendored
3
.gitignore
vendored
@ -1,4 +1,5 @@
|
||||
.idea
|
||||
.phpunit.result.cache
|
||||
vendor
|
||||
composer.lock
|
||||
composer.lock
|
||||
.DS_Store
|
||||
|
@ -65,6 +65,10 @@ Pour utiliser cette fonctionnalité, vous appelez simplement la méthode htmlFor
|
||||
```php
|
||||
$form = $client->htmlForm();
|
||||
```
|
||||
Par défaut le nom du fichier ZIP généré sera "download.zip". Vous pouvez le personnaliser en passant un paramètre à la méthode htmlForm() :
|
||||
```php
|
||||
$form = $client->htmlForm('mon-zip.zip');
|
||||
```
|
||||
|
||||
### Renommer les Fichiers dans le ZIP
|
||||
Par défaut, les fichiers téléchargés sont nommés en fonction de leur URL. Vous pouvez cependant personnaliser le nom des fichiers dans le ZIP en utilisant la méthode `name` de l'objet `FileOptions`. Cette option peut être utile lorsque plusieurs fichiers ont le même nom ou lorsque vous souhaitez simplement renommer les fichiers pour une meilleure lisibilité.
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "nwb/multi-downloader-client",
|
||||
"description": "Client for multi-downloader-service",
|
||||
"type": "library",
|
||||
"version": "0.0.8",
|
||||
"version": "0.0.9",
|
||||
"autoload": {
|
||||
"psr-4": {
|
||||
"Nwb\\MultiDownloaderClient\\": "src/"
|
||||
@ -24,4 +24,4 @@
|
||||
"scripts": {
|
||||
"test": "phpunit"
|
||||
}
|
||||
}
|
||||
}
|
@ -126,10 +126,25 @@ class MultiDownloaderClient
|
||||
* sous forme de chaîne de caractères. Utilisée pour générer dynamiquement
|
||||
* un formulaire de téléchargement dans une page web.
|
||||
*
|
||||
* @param string $fileName Nom du fichier zip à télécharger. Si non spécifié, le nom du fichier sera généré automatiquement.
|
||||
* @return string Le formulaire HTML généré pour le téléchargement.
|
||||
*/
|
||||
public function htmlForm(): string
|
||||
public function htmlForm($fileName = null): string
|
||||
{
|
||||
|
||||
$zipName = ''; // Utilisé dans htmlForm.php
|
||||
if (!empty($fileName)) {
|
||||
$zipName = trim($fileName);
|
||||
// Si le nom du fichier ne se termine pas par .zip, on l'ajoute
|
||||
if (substr($zipName, -4) !== '.zip') {
|
||||
$zipName .= '.zip';
|
||||
}
|
||||
|
||||
// Si le nom du fichier ne commence pas par un slash, on l'ajoute
|
||||
if (substr($zipName, 0, 1) !== '/') {
|
||||
$zipName = '/' . $zipName;
|
||||
}
|
||||
}
|
||||
$json_string = addslashes(json_encode($this->buildRequest()));
|
||||
ob_start();
|
||||
include __DIR__ . '/htmlForm.php';
|
||||
|
@ -24,7 +24,7 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
||||
|
||||
<body>
|
||||
<div id="button_div" class="modal-dialog-buttons">
|
||||
<form name="f" id="f" method="POST" action="<?= $this->url ?>/v2/form/zip" enctype="multipart/form-data">
|
||||
<form name="f" id="f" method="POST" action="<?= $this->url ?>/v2/form/zip<?= $zipName ?>" enctype="multipart/form-data">
|
||||
<input type="hidden" name="json" value='<?= json_encode($this->buildRequest()) ?>' />
|
||||
|
||||
<noscript>
|
||||
@ -38,4 +38,4 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
</html>
|
@ -49,8 +49,16 @@ class MultiDownloaderClientTest extends TestCase
|
||||
{
|
||||
$client = new MultiDownloaderClient(['apiKey' => 'test', 'apiSecret' => 'test']);
|
||||
$client->setFiles($this->testFiles());
|
||||
|
||||
echo $client->htmlForm();
|
||||
// echo $client->htmlForm();
|
||||
$this->assertTrue(true);
|
||||
}
|
||||
|
||||
public function testFormDlZipNameSpecified()
|
||||
{
|
||||
$client = new MultiDownloaderClient(['apiKey' => 'test', 'apiSecret' => 'test']);
|
||||
$client->setFiles($this->testFiles());
|
||||
|
||||
$output = $client->htmlForm("test123");
|
||||
$this->assertStringContainsString('action="https://multi-dl.kub.nwb.fr/v2/form/zip/test123.zip"', $output);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user