This commit is contained in:
2022-02-10 01:37:43 +01:00
parent eef34d8d9d
commit 1698a2ecb8
10 changed files with 422 additions and 77 deletions

View File

@ -65,9 +65,19 @@ if ($zip->open ($tmpFileName.".zip", ZipArchive::CREATE) !== TRUE)
if ($notFoundCount) {
$zip->addFromString ($dirname."-Avertissement.txt", $notFoundCount. ($notFoundCount ? " fichier est expiré." : " fichiers sont expirés."));
}
$single_name=[];
foreach ($map as $link_name => $crypt_key) {
$link = jirafeau_get_link ($link_name);
$p = s2p ($link ['md5']);
$p = s2p ($link ['hash']);
$src_name = $dst_name = $link['file_name'];
if (in_array ($src_name, $single_name))
for ($i = 0; $i < 10000; ++$i) {
$dst_name = sprintf ("%s-%2d", $src_name, $i);
if (!in_array ($dst_name, $single_name))
break;
}
$single_name[]=$dst_name;
// send
if ($link['crypted']) {
@ -75,7 +85,7 @@ foreach ($map as $link_name => $crypt_key) {
$md5_key = md5 ($crypt_key);
$iv = jirafeau_crypt_create_iv ($md5_key, mcrypt_enc_get_iv_size ($m));
mcrypt_generic_init ($m, $md5_key, $iv);
$r = fopen (VAR_FILES . $p . $link['md5'], 'r');
$r = fopen (VAR_FILES . $p . $link['hash'], 'r');
$content = "";
while (!feof ($r)) {
$dec = mdecrypt_generic ($m, fread ($r, 1024));
@ -83,13 +93,13 @@ foreach ($map as $link_name => $crypt_key) {
ob_flush ();
}
fclose ($r);
$zip->addFromString ($dirname."/".$link['file_name'], $content);
$zip->addFromString ($dirname."/".$dst_name, $content);
mcrypt_generic_deinit ($m);
mcrypt_module_close ($m);
continue;
}
$zip->addFile (VAR_FILES . $p . $link['md5'], $dirname."/".$link['file_name']);
$zip->addFile (VAR_FILES . $p . $link['hash'], $dirname."/".$dst_name);
}
$zip->close ();