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
|
.idea
|
||||||
.phpunit.result.cache
|
.phpunit.result.cache
|
||||||
vendor
|
vendor
|
||||||
composer.lock
|
composer.lock
|
||||||
|
.DS_Store
|
||||||
|
@ -65,6 +65,10 @@ Pour utiliser cette fonctionnalité, vous appelez simplement la méthode htmlFor
|
|||||||
```php
|
```php
|
||||||
$form = $client->htmlForm();
|
$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
|
### 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é.
|
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",
|
"name": "nwb/multi-downloader-client",
|
||||||
"description": "Client for multi-downloader-service",
|
"description": "Client for multi-downloader-service",
|
||||||
"type": "library",
|
"type": "library",
|
||||||
"version": "0.0.8",
|
"version": "0.0.9",
|
||||||
"autoload": {
|
"autoload": {
|
||||||
"psr-4": {
|
"psr-4": {
|
||||||
"Nwb\\MultiDownloaderClient\\": "src/"
|
"Nwb\\MultiDownloaderClient\\": "src/"
|
||||||
@ -24,4 +24,4 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"test": "phpunit"
|
"test": "phpunit"
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -126,10 +126,25 @@ class MultiDownloaderClient
|
|||||||
* sous forme de chaîne de caractères. Utilisée pour générer dynamiquement
|
* 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.
|
* 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.
|
* @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()));
|
$json_string = addslashes(json_encode($this->buildRequest()));
|
||||||
ob_start();
|
ob_start();
|
||||||
include __DIR__ . '/htmlForm.php';
|
include __DIR__ . '/htmlForm.php';
|
||||||
|
@ -24,7 +24,7 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
|||||||
|
|
||||||
<body>
|
<body>
|
||||||
<div id="button_div" class="modal-dialog-buttons">
|
<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()) ?>' />
|
<input type="hidden" name="json" value='<?= json_encode($this->buildRequest()) ?>' />
|
||||||
|
|
||||||
<noscript>
|
<noscript>
|
||||||
@ -38,4 +38,4 @@ use Nwb\MultiDownloaderClient\MultiDownloaderClient;
|
|||||||
</script>
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
@ -49,8 +49,16 @@ class MultiDownloaderClientTest extends TestCase
|
|||||||
{
|
{
|
||||||
$client = new MultiDownloaderClient(['apiKey' => 'test', 'apiSecret' => 'test']);
|
$client = new MultiDownloaderClient(['apiKey' => 'test', 'apiSecret' => 'test']);
|
||||||
$client->setFiles($this->testFiles());
|
$client->setFiles($this->testFiles());
|
||||||
|
// echo $client->htmlForm();
|
||||||
echo $client->htmlForm();
|
|
||||||
$this->assertTrue(true);
|
$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