diff --git a/functions.php b/functions.php index 19334dc..a3112f1 100644 --- a/functions.php +++ b/functions.php @@ -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);