Hi Daniel,
I tested JEDchecker with my extensions. When I click unzip, it crashed with the error "PHP Fatal error: Maximum function nesting level of '100' reached, aborting!" With xdebug I found it's stucked in an infinite loop in unzipAll (uploads.php) because it call unzipAll back with the "." directory.
I fixed it with a call to isDot() to bypass the "." and ".." directories. I never used RecursiveDirectoryIterator before, so I'm not sure if my fix has any side effects...
public function unzipAll($start)
{
$iterator = new RecursiveDirectoryIterator($start);
foreach ($iterator as $file) {
if ($file->isFile()) {
$extension = $file->getExtension();
if ($extension == 'zip') {
$unzip = $file->getPath() . '/' . $file->getBasename('.' . $extension);
$result = JArchive::extract($file->getPathname(), $unzip);
// delete the archive once we extract it
if ($result) {
JFile::delete($file->getPathname());
// now check the new extracted folder for archive files
$this->unzipAll($unzip);
}
}
} else if (!$iterator->isDot()) {
$this->unzipAll($file->getPathname());
}
}
}