while (ob_get_level() > 0) { if (!ob_end_clean()) { break; } } // // EXTRACT STAGE // $orig_filename4check = strtolower($_FILES['tplset_archive']['name']); if (strtolower(substr($orig_filename4check, -4)) == '.zip') { // zip require_once dirname(__FILE__) . '/include/Archive_Zip.php'; $reader = new Archive_Zip($_FILES['tplset_archive']['tmp_name']); $files = $reader->extract(array('extract_as_string' => true)); if (!is_array(@$files)) { die($reader->errorName()); } $do_upload = true; } else { if (substr($orig_filename4check, -4) == '.tgz' || substr($orig_filename4check, -7) == '.tar.gz') { // tar.gz require_once XOOPS_ROOT_PATH . '/class/class.tar.php'; $tar = new tar(); $tar->openTar($_FILES['tplset_archive']['tmp_name']); $files = array(); foreach ($tar->files as $id => $info) { $files[] = array('filename' => $info['name'], 'mtime' => $info['time'], 'content' => $info['file']); } if (empty($files)) { die(_TPLSADMIN_ERR_INVALIDARCHIVE); }