Better handle thumbnail creation inside archives when files have no extension

This commit is contained in:
Junior 2024-05-29 13:12:03 -04:00
parent c9f6b01fdc
commit aa9bb4ad1a

View File

@ -54,13 +54,16 @@ function makeThumb($item = "") {
$imgdata = null;
for ( $i=0; $i<$zip->numFiles; $i++ ) {
$imgname = basename($zip->getNameIndex($i));
$imgext = strtolower(pathinfo($imgname)['extension']);
if ( (strcmp($lowest, $imgname) > 0)
&& ((strcasecmp($imgext, "jpg") == 0)
|| (strcasecmp($imgext, "png") == 0)
|| (strcasecmp($imgext, "webp") == 0)) ) {
$lowest = $imgname;
$imgdata = $zip->getFromIndex($i);
$parts = pathinfo($imgname);
if ( isset($parts['extension']) ) {
$imgext = strtolower($parts['extension']);
if ( (strcmp($lowest, $imgname) > 0)
&& ((strcasecmp($imgext, "jpg") == 0)
|| (strcasecmp($imgext, "png") == 0)
|| (strcasecmp($imgext, "webp") == 0)) ) {
$lowest = $imgname;
$imgdata = $zip->getFromIndex($i);
}
}
}
$zip->close();
@ -74,14 +77,17 @@ function makeThumb($item = "") {
$lowest = "~";
foreach ( $entries as $entry ) {
$imgname = $entry->getName();
$imgext = strtolower(pathinfo($imgname)['extension']);
if ( (strcmp($lowest, $imgname) > 0)
&& ((strcasecmp($imgext, "jpg") == 0)
|| (strcasecmp($imgext, "png") == 0)
|| (strcasecmp($imgext, "webp") == 0)) ) {
$lowest = $imgname;
$didwrite = $entry->extract(false, $outfile);
if ( !$didwrite ) { return false; }
$parts = pathinfo($imgname);
if ( isset($parts['extension']) ) {
$imgext = strtolower($parts['extension']);
if ( (strcmp($lowest, $imgname) > 0)
&& ((strcasecmp($imgext, "jpg") == 0)
|| (strcasecmp($imgext, "png") == 0)
|| (strcasecmp($imgext, "webp") == 0)) ) {
$lowest = $imgname;
$didwrite = $entry->extract(false, $outfile);
if ( !$didwrite ) { return false; }
}
}
}
rar_close($rar_file);